Sparky's Projects

Sparky's Projects

Current Projects

Transit Tracker

img_7282.jpg

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:


ESP32 Transit Tracker (WhereTrain)

img_7927.jpeg

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:

  • 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 in main.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

img_7283.jpg

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