Want to build your own digital display to show when a bus, train, or ferry next departs?
Here's a fun how-to guide from Instructables user @mpreston21:
In this project, I iterated on the concept of a subway clock and created a version that displays the current schedule of the NYC ferry— for those who ride in style!
This product was created for my boyfriend who takes the ferry from the same stop every day to get to work. The design incorporates a perpetual scroll display that shares the next 3 departure times from his stop (North Williamsburg). He can glance over at the ferry times in the morning and determine which ferry to catch, and whether to walk, bike, or skateboard to catch his ferry. Using this clock reduces the likelihood that he will be distracted when looking up the schedule on the NYC Ferry's mobile app. It's a great way to start the day for anyone who relies on the ferry schedule with regularity :)
Their instructions guide you through the process of creating all the relevant electronics:
When it's time to program, the instructions describe how to query the Transitland v2 REST API stop departures endpoint:
In order to work with GTFS directly, you need to spin up a server to manage the rate/volume of data when you make your query.
[...]
after digging around on the internet, I found Transit.Land-- an open data platform that collects GTFS and other open data feeds from transit providers around the world. Transitland makes all of this data queryable via REST APIs. There are feeds from over 2,500 operators in over 55 countries, including the NYC ferry!
I read through the Transit.Land documentation, and started to decode the the key/value pair data for ferry stops and ferry routes from the source feeds. I created an account on Interline.co to get a secure API key. Armed with my API key, I started to get to work on the program for my ESP32.
Thanks to @mpreston21 for sharing their creation.
See the full set of instructions, code, and illustrations on the Instructables website.