Realtime BART Arrival Display

Nov 10, 2025 - 07:38
 0  0
Realtime BART Arrival Display

Realtime BART Arrival Display

· 515 words · 3 minute read

I have a love-hate relationship with BART. I’m grateful for it, but let’s just say it’s not always the most reliable so it’s nice to see before hand when the train you need is due to arrive. There are plenty of projects out there that show real-time BART arrival information. This one does that too, it’s nothing groundbreaking, but I wanted to build my own version that captures the vintage BART platform sign vibe I associate with commuting between the East Bay and my job in the city.


The Hardware 🔗

  • Seeed Studio XIAO ESP32C6
  • SPI Red 20x4 Character OLED Display Module from BuyDisplay
  • SparkFun Logic Level Converter

I wanted to find a display that felt as close as possible to the real thing, though I knew it wouldn’t be an exact match. I was mainly after the right vibe, and the BuyDisplay red OLED character display nailed it. The PCB was a bit taller than the display itself, which affected the final dimensions, but it was a tradeoff I was happy to make. I love an OLED.

The only other components I needed on the electronics side were the ESP32-C6 to run the display and fetch the latest BART arrival times, along with a logic level shifter. Both parts are small, so I soldered them onto a piece of perfboard with header pins, allowing the whole assembly to plug directly into the display like a cartridge.


Firmware 🔗

The official BART API uses GTFS Realtime, a data specification developed in collaboration with Google. I’d never worked with it before, and expecting the ESP32 to fetch and parse the raw feed on its own felt like a stretch (or at least, too much for me to figure out). So instead, I built a middleware service that handles the heavy lifting: it pulls the data, extracts only what I need, and serves a simplified API tailored for the display the ESP32 calls. All the code is available on my GitHub.


Demo 🔗

Once I had all the pieces together, including some early 3D prints of the housing, I assembled everything to get a feel for the scale and how it works as a finished product. This video shows it all together but before paint. Data is being pulled in live.


Finishing 🔗

All that was left to do was some post processing of the 3d prints and paint, along with some little details like screws and stickers of the company that made the real deal platform signs and which platform the sign was for. I used a Brothers label maker for both. 3D files are available to download on Makerworld.


Result 🔗

I used double-stick tape to mount this under a metal shelf above my monitor. Now I can see upcoming train arrivals at a glance, and the display also shows the time and official BART platform safety messages, like staying behind the yellow line, which really makes it feel like I’m standing on the platform. Sure, I could just look it up online, but having this miniature version of the platform display on my wall is much more fun.

What's Your Reaction?

Like Like 0
Dislike Dislike 0
Love Love 0
Funny Funny 0
Angry Angry 0
Sad Sad 0
Wow Wow 0