Based off of https://github.com/TokyoExpress/metrobox. Source code and build for a miniature WMATA Metrorail train arrivals board for an Arduino Uno R4 Wifi and a ILI9341 chipset display instead.
To make this yourself, you will need the following
- Arduino Uno R4 Wifi
- 2.8" TFT Touch Shield for Arduino with Resistive Touch Screen v2 - STEMMA QT / Qwiic
- USB-C cable(optionally right-angled)
- 3D printer or access to 3D printing services
Altogether the total cost should come out to around $50-55.
- Install the Arduino IDE.
- Install the Arduino Uno R4 Boards platform into Arduino IDE Boards Manager
- Add libraries WiFiManager, ArduinoJson, MCUFRIEND_kbv, and Adafruit GFX Library.
- You are now ready to begin uploading sketches to the board. To start, ensure that the Arduino UNO R4 Wifi is recognized by Arduino IDE when plugged into the computer.
Make sure for the following steps that your Serial Monitor baud rate is set to 9600.
- Sign up for an account at https://developer.wmata.com/signup/ and verify your email. Once you have an account, go to Products -> Default Tier and subscribe a new product in the section shown below (the name does not matter).
- You should be taken to the Profile page, where you can access your new API key. Keep this page open.
Find your station name's corresponding 3-digit code in wmata_station_codes.csv. Some stations have multiple platforms, so be sure you choose the correct platform with the lines you typically take. Keep this page open as well.
Open Arduino IDE and open matt_metrobox.ino.
Switch to tab named arduino_secrets_template.h.
Update the Wifi Credentials, the API key and the Station Code and rename the file to arduino_secrets.h.

Open matt_metrobox.ino and upload the sketch.

