I built Train UI so I could see the next trains without opening an app. Pick a train and station once, then leave the display running.
Both versions connect directly to the MTA's public realtime feeds. Your train and station stay saved on the device, which refreshes arrivals, service status, weather, time, and connection information without a phone app, account, or API key.
| Train UI XL | Train UI Mini |
|---|---|
![]() |
![]() |
| Raspberry Pi Zero W and a 10.1-inch color screen | ESP32-S3 and a 2.13-inch e-paper screen |
| Full dashboard, weather, and Pi health | Smaller, cheaper, and simpler |
| Build the XL | Build the Mini |
| File | Use |
|---|---|
| case for screen.step | Full STEP assembly for reference and editing |
| Only 3DP files.step | Only the parts that need to be 3D printed |
| case for screen.f3z | Editable Fusion 360 archive |
Use Only 3DP files.step when you only want the printable enclosure pieces. It leaves out the reference electronics and hardware from the full assembly.
- Arrivals in both directions
- MTA service status and alerts
- Weather, time, and connection status
- Live public data with no API key
For a bar or other across-the-room installation, use the separate Train UI XL Trackside edition.

