Vonmule's Metro Map Uses a Raspberry Pi, Python, and a Lot of Wires to Show Live Train Locations
Tying in to an API provided by the CTA, this Python-powered map means you'll never miss your train again.
Pseudonymous maker "Vonmule" has decorated a wall with a metro map that offers something beyond a simple view of the rails' layout: LEDs which display trains' positions in real-time, based on an API provided by the Chicago Transit Authority (CTA).
"[The] sign is a 47"x 11" original translucent map from the CTA," Vonmule explains. "I bought it off of eBay. The seller had a batch of them that had been removed from service for whatever reason."
While some may be content in simply framing the map and being done, Vonmule decided to build something a little more useful. Behind the map hides a Raspberry Pi Zero W single-board computer, which connects to Adafruit TCL4947 LED driver breakout boards. Eight boards enable pulse-width modulation (PWM) control to 190 LEDs, one per stop β and one more for a hidden status LED located in the map's legend.
A Python program communicates with an application programming interface (API) provided by the CTA, which returns the locations of all trains on the network β Vonmule having told the CTA the requested API key was for an art installation. "I was kind of intentionally vague in my API key submission in case they were tight with them," they explain. "What I actually meant was art installed on my own wall."
Interestingly, the system isn't soldered together: Instead, Vonmule opted for wire-wrap. "Honestly, I preferred this [over soldering]," the maker explains. "Fast, consistent, strong, and serviceable. The wrapped wire actually bites into the pin slightly and gives it a shocking amount of mechanical strength. It mostly fell out of use because PCBs got cheap, not because it was inferior to soldering."
A build log is available on Imgur, with more details in Vonmule's Reddit post.