I take a bus from home several days a week, commuting to work or heading out for the evening. Each time, I check my phone dozens of times to leave the house at just the right time and minimize waiting at the bus stop. Other times it would be nice to have a general idea well ahead of time; instead of waiting till I’m ready, check my Transit app, and finding out I just missed the bus and need to wait 40 minutes for the next one.
I bought a Raspberry PI Zero over the winter and had an idea to attach it to a small display and display departure times for each of my busses. Never wanting to reinvent the wheel, I searched for similar projects. I found this over-the-top LED matrix scroller over on Adafruit that would still take some work to use a cheaper graphical display instead. Then I found a much simpler solution: Phillip Burgess posted a followup Adafruit project that was just what I was looking for, the Personalized NextBus ESP8266 Transit Clock.
This made an excellent weekend project, I customized some of the Arduino code and display effects in less than an hour. It uses Adafruit’s amazingly affordable and simple Huzzah board with built-in WiFi to connect to my network and check bus times from NextBus. It then sends the remaining minutes to 7-segment LED displays with easy-to control I2C controllers. I printed a regular sheet of paper to label the buses (and also diffuse the LEDs), mounted everything into cardboard cutouts, and packed it into an Ikea 5×7″ Ribba frame.
The thick frame can stand freely on a table or hang on a wall. The controller just plugs into any USB plug for power (or I can sneak a USB battery behind it). I think it turned out great!
Now, if only someone would make an app for the Apple Watch that did the same thing, showing arrival times for several stops of my choosing.