“An ESP32-based ePaper Bus Timetable to keep track your daily routes and to be always on time.
The purpose of this project is to make a simple smart device that can really improve your mornings and relieve your stress. I developed this solution for my girlfriend who uses the public transportation daily and struggles with keeping timetables in memory, route planning and being in time.This simple device would help anyone who uses public transportation by checking the ETAs of their most used bus lines and keep the user updated.To reduce the maintenance as little as possible, the device is powered by a Li-ion battery and wakes up every 10 minutes to update its table, which is displayed on a e-paper display, reducing the power consumption next to nothing.
Hardware wiring and low-power tricks
By using the TTGO T5 esp32 epaper module, there is no much to wire since it is all built-in. Make it sure to buy the Li-ion battery with the right connector so it will be just plug-and-play.There is a little trick you should do to reduce the power consumption of the board. When you plug the power in and turn on the power switch, you’ll see there is a green led near the antenna showing up; this led is directly connected to 3.3v rail so it will be always on and will always consume some energy. To resolve this issue, simply take a soldering iron and remove it.
The software side of the project is where the real stuff happens.The flow of the program is to wake up, connect to an hardcoded Wi-Fi network, connect to a Public Transportation API, print results on the display and go to sleep.
For convenience I built a structbusTable to hold line number, ETA and a realtime variable that indicates if the prediction is correct.
Data is pulled from the API by the requestTo method. By giving the stop number, the API is returning a JSON array filled with the timetable informations. This array is being parsed and data fills the busTable object.”