Ever get to the train station on time, find your platform, and then stare at the board showing your train is 20 minutes late? Bay Area Rapid Transit (BART) may run like clockwork most days, but a heads-up before you leave the house is always nice. That’s exactly what [filbot] built: a real-time arrival display that looks like it was stolen from the platform itself.
The mini replica nails the official vibe — distinctive red text glowing inside a sheet-metal-style enclosure. The case is 3D printed, painted, and dressed up with tiny stickers to match the real deal. For that signature red glow, [filbot] chose a 20×4 character OLED. Since the display wants 5 V logic, a tiny level-shifter sits alongside an ESP32-C6 that runs the show. A lightweight middleware API [filbot] wrote simplifies grabbing just the data he needs from the official BART API and pushes it to the little screen.
We love how much effort went into shrinking a full-size transit sign into a desk-friendly package that only shows the info you actually care about. If you’re looking for more of an overview, we’re quite fond of PCB metro maps as well.

But does it use a PDP-8? :-)
https://manpages.ubuntu.com/manpages/jammy/man1/palbart.1.html
Years ago I talked to a guy who helped incorporate the PDP-8’s into BART, he said that each side of a station had a PDP-8. Makes sense since the displayed messages are different. Min. memory was 4k, max was 32k. An old joke that was in a joke file at Stanford in the Arpanet days:
“Question: What’s the biggest challenge in writing a Gerald Ford emulator on a PDP-8 with only 8k of core memory ?”
“Answer: Figuring out something creative to do with the unused 4k.”
Wonder how much core memory the BART guys had to work with?
Dang that’s cute. I need the same thing for Caltrain and Muni!
These display boards at the bus stops are unhelpful, because the routes are named by the end destination which is in a completely different part of the city or even in the next town over, and the bus route goes zig-zag and loop-de-loop all over the place, and they change it every year when a new bus company wins the bid and re-routes everything.
Where does “Bus #2 to Diddly Squat” actually go? Is my stop going to be along the way or not? Where is Diddly Squat? Is it even in the right direction? You basically have to whip out your phone and download the bus company app, and use the route planner because you’re never going to figure it out otherwise.
The sign at the stop that says “Diddly Squat 15 min”, doesn’t mean anything unless you’ve already checked with your phone that it’s the right bus, but then the phone tells you when it’s coming anyways.
I hope you’re exaggerating! Bus systems do change over time, and it can be both confusing and inconvenient. But everywhere i’ve lived where i’ve used the bus often, i do get to know the relevant routes after a short time. Like, i’m still mad about the “new” floorplan at my grocery store but they’ve only changed it twice in the 25 years i’ve been shopping there, and truly i do know my way around today. It doesn’t actually change every year.
I can still tell you i used to ride the “#8 Sawmill” every day, even though i have no idea where Sawmill is in relation to my office. Used to ride the Port Washington train, never been to Port Washington. Etc.
They don’t re-route everything, but something always changes. Routes get combined or split, so different numbered buses serve the same destinations at different times, and if the route is extended or combined then the name of the route will change even if the route itself remains the same for the most part – or not. They might arbitrarily decide to keep the old name, and just assume you know the bus will go to the other place as well.
Then, two buses going towards the same destination can take different routes, and the signage will tell you the destination and the time of arrival at this stop, but not which bus is coming.
And then, for buses going towards the city center, they never tell you it’s going downtown, but always according to wherever it goes after that. In order to get downtown, you have to pick the bus that goes to a part of the city on the other side from where you are, so it goes through the middle, hopefully. It might still take the long way around.
Also, the names of the stops aren’t the names of the streets the stops are on, but something that comes from the city/town planners, so if you try to google for the destination on the sign, you either won’t find it as such, or the map will point to somewhere in the general area but not where the bus is really going.
What you have to do is again whip out your phone and open up the bus company’s special app, and use their map to check where the destination is. If you don’t have that, you’re SOL.
Having two routes with the same name sounds awful. But overall it sounds like you have an extraordinary wealth of choices!
In one goes through the neighborhoods, and the other takes the highway direct, they both end up at the same destination but you may end up 10 miles out of your way.
Also, another curiosity that I just found. A single route may consist of 80-100 stops, and only on 2-3 of those stops the bus will wait to even out its schedule.
For all the other stops in between, the bus may come early and just run by if there’s nobody there, making it even more early for the next, and the next stop, until it reaches a checkpoint stop and waits.
So whatever the route planner says, you can’t trust that the bus will actually be there at that time unless that stop is one of the checkpoints. The further you are from the previous checkpoint stop, the earlier you have to arrive at the stop in order to make sure you’ll catch the bus – except if it’s the morning commute, noon, or afternoon commute, in which cases you can expect the bus to be late because it’ll probably do every single stop.
In my city the bus company must reimburse the ticket if you have missed it because it was early. That is why the drivers have a display that indicates how far behind or ahead the bus is on schedule, and a large warning comes up if they are ahead. The driver will then slow down or take longer at the next stop to allow for the bus to be according to timetable. You can also monitor the position of the bus on the map in real-time through the app. Yes, true real-time to the second.
All bus systems have this idea, including Dude’s. The question is, are you allowed to board/exit the bus at non-timed-stops. No bus system is going to have every stop be a timed stops, if not just because a lot of locations it’s not practical to loiter there.
@Greg A
In my experience, the systems don’t really allow the bus to get that far ahead before a warning appears. Generally the bus doesn’t need to stop for longer than 30 seconds or so. This effectively means that it can stop at any stop as long as it doesn’t impede the normal traffic flow. Passengers can certainly get on or off at these stops simply because these are normal bus stops.
At least here in Norway the bus timetables are based on the average passenger and traffic at the time on the timetable.
Even long distance busses are quite accurate. This was represented a few years ago in an advert by the bus company Nor-Way where an old lady every morning could boil an egg to perfection based on when the bus would drive past her home. They also made a second advert later where the egg would still be very runny because they had added additional routes. Quite funny adverts. I believe they are available on YouTube.
Fortunately this display is for BART and it takes a couple of decades to reroute those things…
A similar problem with trains: they don’t necessarily take every stop, because they want to speed up the route so they just run through every other station or skip the small towns.
You can’t just take the next train heading in the right direction – you have to check whether that particular train is actually scheduled to stop where you want it to stop.
I loath public transport (I used it every day and have good reason to) but seriously?
None of the “issues” you mention are in any way actually issues if you do the most basic of checks, like finding out which number bus route to use, before you travel.
Yes, if you open the app and use the route planner, and check the real-time map then you’ll be fine. No problem.
But then you don’t need the signage. If you don’t use the real-time app, then the signage is useless because it doesn’t tell you what you need to know.
That was the point.
Good thing then that BART doesn’t have different services. All trains stop at every stop on the line.
if I need to use public transport to get to somewhere I’ve not visited before I often rely, for due diligence, on a modern innovation called “the internet” to check bus routes and times, it’s largely replaced the need to speak to an information service using another older but still relatively modern technology called “the telephone” or obtain a paper timetable, perhaps you’ve heard of it?
In developed countries the internet usually holds details of diversions and changes to bus routes as well.
Buses, IMHO rather conveniently, carry identifying numbers on the front which can be used to identify the route they follow, in combination with the aforementioned “internet” you can easily identify which bus to board and have a reasonable idea of when it will arrive at your chosen bus stop as well as your desired destination.
Hope this helps.
Yes, but this is about the digital sign that is supposed to say when your bus is coming, which isn’t useful when it doesn’t show you whether that is the right bus going through the right places.
If you check in advance, you don’t need the sign because you already know. If you don’t check in advance, the sign doesn’t give you enough information to decide.
In the worst case you’re standing at the bus stop, your battery has run down, and you need to decide on the spot whether the bus that’s coming in 5 min is the one, using the five-dimensional table of routes and times on the wall behind you. You don’t know any of the place names listed in the tables, because they’re not street names that you could find on the city map on the same wall, and your phone is dead and you can’t call anyone.
Good luck. Don’t panic too much.
Wow, you turn up at bus stops without even knowing if the buses serving that stop actually go to your destination….
That’s impressive.
Not in a good way, but impressive.
There’s a bus stop in front of my apartment complex. (And another on the other side.) It’s served by one of those A/B routes that cover nearly the same route but alternate between two variations. I rarely need to go anywhere that isn’t on the shared parts of the route.
But somehow, it can be 8+ minutes late at my stop that’s only about 2 miles from the start of the inbound run. I would love to see that before I leave my apartment instead of rushing and then standing in the rain for 8+ minutes. I can look it up on my phone, but that means having to put down everything I’m carrying to get my phone out of my pocket, unlock it, and open the app. If I could look at a display by my door, that would be helpful.
3A Downtown 5 minutes
3B Downtown 35 minutes
3A Mall 8 minutes
3B Mall 53 minutes
Would that help someone who got a ride to my neighborhood and has no idea what streets it takes to the mall or what’s different between A and B? No, but they don’t live in my apartment and won’t see my display.
Okay
Can I buy this???
That Lego 911 on the shelf is pretty awesome.
Retired Product
https://www.lego.com/en-us/product/1974-porsche-911-turbo-30-75895
Hi Matt I’d like to know where I can get smalkl carton boxes for my product manufactured. I have a small moq around 100 pieces and I remember your post from the mandrel.