James Berg's profile

NextBus Display

NextBus Display

For a long time I took the train to work every day.  My local transit agency (Muni) has GPS trackers on all of their vehicles and a website where you can see when the next several trains or buses are coming to a particular stop.  As convenient as this is, I decided it would be even more convenient to have a display that could be mounted on the wall at home to show me the next 3 trains coming the my stop.   

To test out the concept, I started with some equipment that I already had on an electrical breadboard.  I also had to write a program in C++ to run on the Arduino that would grab data from the website, parse the data for the times I wanted and then properly display it.  
Once I confirmed that the basic functionality worked I started thinking about possible improvements for the final version.  This led me to change display type (from 7 segment displays to 8x8 dot arrays) for aesthetics and to increase the size (for readability).  I also ported my code over to the ESP32 that I had been using for the wifi connection.  This let me get rid of the Arduino, which would make the final package much smaller. 

I then began using this platform to test out different ways of displaying the times (number spacing, what to do with trains with nonstandard destinations, etc.), as well as electrical features such as dynamic brightness control, battery power vs wall power, and sound activation.  
When I was happy with the performance of the display, I continued to iterate on my earlier concepts for the final look.  I settled on making the enclosure out of wood.  I also had to do a lot of work to making the C++ code reliable.  My original code worked almost all the time, but even failing only once a week was enough to make it challenging to use.  There were a number of variations in how the times could appear on the website that would only happen late at night or early in the morning (e.g. the first train of day, uncommon routs heading back to the train yard, etc.).  Because these faults were uncommon I had to write code to save the pages that failed to process correctly so that I could review the errors when I woke up.  
I really like the contrast between the organic look of the wood and highly digital look of the 8x8 LED displays.  
NextBus Display
Published:

Owner

NextBus Display

Published: