Bus & train departures display, take 2

Some of you might remember that I tried to make this Bus/train countdown display but unfortunately the ePaper display didn’t work this well, and was eventually damaged beyond repair.

Now our friends at Pimoroni have a lovely little Micropython board that outputs straight to HDMI: https://shop.pimoroni.com/products/picovision?variant=41048911904851

So I’ve picked this up again, made a couple of quick changes to the display code, and it works OK as a proof of concept.

So please keep the old 4:3 Dell monitor by the entrance (I assume it has a DVI input), I might be able to get this to work again sometime in the next week or so.

P.S. Not sure how easy or difficult it’s going to be to bring back the lovely TfL font, but I kinda like the Ceefax/8-bit vintage look :wink:

17 Likes

I really like it.

also, prop to pimoroni for the picovision reference

A bit more progress, now showing all buses grouped by “direction” (SE/NW), I assume if you’re taking the bus you know where the bus stops are. And it now includes the 37 for @Kyle :wink:

7 Likes

This project has historically been a massive bikeshedding magnet, so in that tradition here are my suggestions:

The destination of the bus is not important. Any regular traveller already knows where they’re going. Any irregular traveller will already be using their phone to plan their journey.

Therefore, you can omit the destination information and have both North and Southbound buses displayed at the same time. Even the trains too?

North South
3 Due 68 3 min
37 2 min 468 10 min
68 8 min 201 12 min
196 12 min 37 14 min
London Vic 6 min Sutton 9 min
St Albans C 8 min Sutton(via W 15 min
St Albans C 21 min Orpington 23 min
1 Like

It can be - it certainly is for me. Some buses go part way, others go to different destinations weirdly (a 3 can go to Tottenham Court Road or Oxford Circus as it’s destination). It would be nicer and simpler if that destination info wasn’t needed, but unfortunately it is.

1 Like

Thanks Tom. My day job is UX design, so I’m used to anyone having an opinion, you won’t hurt my feelings :slight_smile:

The good thing is that this is written in Micropython so it’s super easy to experiment with different layouts, I can give it ago.

I was going to say the same thing as Dan though, I don’t know for sure that the destination of a bus is always fixed and irrelevant. I might be able to squeeze it in though, perhaps on a smaller font, once I see what this really looks like on a larger screen.

Assuming everyone plans ahead is a really very big assumption :wink:

I’d also like to see which side of the road said bus departs from, like the 71 that goes to elephant and castle does so via a different path than what I thought was sensible and I nearly took the wrong bus.

For me, the screenshot with buses grouped by direction looked really good. The only thing I’d like as well would be a button to quickly switch between screens rather than having to wait.

That’s interesting, how would you describe the “side of the road” where the bus stop is? The closest I can see is that bus stops have a single letter code on them (e.g. the Brockwell Park southbound, towards west Norwood, has the code “F”).

That’s what TfL shows on their official displays, e.g. https://countdown.digisign.tfl.gov.uk/sign/957/yor3l

I think each bus stop has a number and letter assigned to it which on newer bus stops you could match to direction once you get to the bus stop.

Does the letter identify the bus stop?

Maybe there is a hidden group that includes all stops in say Catford bus stops as there are like 8 bus stops A-H

Yes

Park side, shop side - if we’re talking about the stops directly by Bath Factory Estate gate.

1 Like

I just wasted 20m doing this and then realised the screen is 4:3 :tired_face:

image

I can read it from 5m away when scaled to be as wide as a 21" monitor.

4 Likes

Thanks, Tom. Sounds like an interesting idea, and we’re not limited to 4:3, the Picovision can do widescreen if we have a spare 16:9 widescreen monitor somewhere.

I’ll try to come to the space sometime this week and install the “MVP” version and then we can improve it once people have seen this working in the space and we get more user feedback.

1 Like

It’s taken a while but the display is now up and running in the space.

Temporarily on located on top of these drawers, if we decide we want to keep it, the monitor has a standard VESA mount so we can attach it on a wall somewhere.

I’ll come in and print a case for the electronics board soon. It should be fairly self-sufficient and restart itself if it crashes. But if it feels stuck you can try and press the button that’s marked with “RESET” on the board.

9 Likes

Case done :white_check_mark: (reset button marked with R)

I’ve also added a little progress bar to show how long you need to wait until the next screen (and as an indication that it hasn’t crashed)

It’s still a bit slower at switching screens than it should be, I need to adjust the code so that it loads the data for the next screen in the background while waiting.

5 Likes

Awesome work @futureshape! A little feedback now it’s been in place for a while. It seems to reboot itself frequently, maybe every couple of minutes. It’s also been seen to freeze as well, there was a time it was frozen for almost a week according to the last updated time it shows. The bar across the bottom is usually stuck to the right side when this happens so it’s probably having an issue calling the APIs?

Thanks, I’ll try to come one evening this week and do some more optimisations.

It’s meant to have some protection against getting completely stuck, but it’s hard to find all the reasons it could crash. I’m going to set up some remote monitoring with https://healthchecks.io/ so it logs errors and notifies me if it’s really stuck, hopefully I can figure out what’s wrong this way.