Make Your Own MTA Subway Train Arrival Countdown Clock

Robert Boscacci
2 min readMay 7, 2021

Using Arduino, Python, and AWS

Click to go straight to the GitHub repo with explicit DIY instructions

Arduino (ESP-32) Subway Clock

The year is ~2018. I take a class at my local hackerspace, NYC Resistor. They give a little presentation about the history of IoT devices. They guide us through breadboarding our own little MTA train time arrival clocks, which behave like the ones on the ceilings at Subway stations—except it sits on your desk, or whatever. Neat!

The kit they prepare for us consists mainly of an ESP32 Arduino module (which has WiFi), a tiny OLED screen, and a bunch of great C++ code to parse the MTA’s nasty protobuf feed with the esp32's limited memory. I think Trammell Hudson had something to do with the original design.

Fast forward to 2021: The MTA’s protobuf feed spec has changed a bit, so my tiny countdown clock goes into disrepair. I’m unable to debug the Arduino GTFS parsing code on my own—not even with online support from more experienced C devs. I am still simply not a terrific C programmer, and the GTFS spec boggles my mind.

My friend, the magnificent cinematographer and general brainiac Zach Kuperstein, then points me to Jon Thornton’s repo for MTAPI, a flask app: It handles the hard parts of querying the MTA’s…

--

--

Robert Boscacci
Robert Boscacci

Written by Robert Boscacci

Get my book on computer vision and society for 99¢

No responses yet