**This is an old revision of the document!**
Sparky's Projects
Current Projects
Transit Tracker
A DIY customizable public transit arrivals board displaying real-time transit information. Built using the open-source Transit Tracker project by Eastside Urbanism, deployed on dma.computer infrastructure.
How to interact with it at dma.computer:
- View the display: The transit board is on the network at
transittracker-display.user.dma.computer(10.20.110.197) - API endpoint: Real-time feed data available at
http://transittracker-pi.int.dma.computer:3000/feeds - API host: Hosted on
transittracker-pi.int.dma.computer(10.20.100.80) - Configure the display: Use the web configurator to customize which routes and stops are shown. Configurator routes by default through the upstream OneBusAway-backed feed; the local API runs a sibling GTFS-static feed (
st_gtfs) for more accurate end-of-day train counts.
Current feed config:
kcm— King County Metro (GTFS-static)st— Sound Transit via OneBusAway (legacy)st_gtfs— Sound Transit via GTFS-static + GTFS-RT (used by the display; gives true “trains remaining today”)
The board shows arrival times for local transit agencies and updates automatically. Perfect for checking your commute before heading out!
Repos:
- ESPHome firmware: github.com/sparkyfen/esphome-transit-tracker
ESP32 Transit Tracker (WhereTrain)
A real-time transit tracker that displays Sound Transit Link Light Rail train positions on a physical LED map. The system uses an ESP32-S3 microcontroller to poll live transit data and render animated train movements across an addressable LED strip. Originally designed for /dev/hack Seattle.
Hardware:
- Microcontroller: ESP32-S3 (WROOM-1-N8R8) with 8 MB PSRAM and 8 MB flash
- Display: 76 SK9822 (APA102-compatible) addressable RGB LEDs in a single chain
- PCB: JLCPCB-manufactured, with an expansion connector breaking out unused GPIO, UART pins, and LED access points for external LED strings
How it works:
- Polls the OneBusAway API for live Sound Transit train positions
- Renders smooth crossfade animations showing train movements between stops on the LED strip
- API key can be requested from Sound Transit at
oba_api_key@soundtransit.org
Development:
- Repository: codeberg.org/sparkyfen/wheretrain
- Build environment: ESP-IDF 5.x (Nix supported) —
cd wheretrain && nix develop && idf.py build flash monitor - Configuration: WiFi credentials in
network.c, API key inmain.c - Recovery: Hold BOOT while powering on, then release and flash with
idf.py flash - License: CC BY-NC-SA 4.0
Status: Active development. Contributions and feedback welcome — reach out to Sparky on Zulip or check the repo.
TRMNL E-Ink Dashboard
A 7.5“ e-ink display dashboard that serves as a distraction-free information display. TRMNL uses a privacy-focused design where the device polls for updates rather than allowing external access to the local network.
How to interact with it at dma.computer:
- What it shows: Customizable layouts featuring calendar, weather, news, stocks, and 794+ other plugins
- Updates: The display refreshes only when new information is available, preserving battery life (6+ months on a charge)
- Plugin ecosystem: Supports integrations with Google Calendar, Home Assistant, weather stations, and community-created plugins
- Developer friendly: Create custom plugins using HTML/JSON in under 5 minutes
Want to display something specific? Reach out to Sparky on Zulip or Signal!
Learn more at usetrmnl.com
Completed Projects
Coming soon