January 20, 2025
On Time Every Time

On Time Every Time is a physical bus schedule display powered by an ESP32 and a web dashboard. It pulls real-time arrival data from the University of Michigan bus API and shows upcoming departures on an LED matrix — mounted on my apartment wall so I never miss the bus.
Interface
An ESP32 drives a 64x32 LED matrix panel showing the next few bus arrivals for my stop. The display updates every 30 seconds and color-codes routes for quick scanning. It connects to my Wi-Fi and fetches data through a Next.js API proxy.
A companion web app lets me configure which stops and routes to track, and provides the same real-time view in the browser. The API proxy handles authentication with the MBus API and caches responses to stay within rate limits.
The final setup is mounted next to my front door. My roommate uses it!
