Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| members:sparky:projects [2026/01/10 23:24] – Sparky | members:sparky:projects [2026/09/14 23:48] (current) – Sparky | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| # Sparky' | # Sparky' | ||
| - | | + | ## Current Projects |
| - | | + | ### Transit Tracker |
| - | | + |  | ||
| + | - **Configure the display**: Use the [web configurator](https:// | ||
| - | The board shows arrival times for local transit agencies and updates automatically. Perfect for checking your commute before heading out! | + | **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 " | ||
| - | ### TRMNL E-Ink Dashboard | + | The board shows arrival times for local transit agencies and updates automatically. Perfect for checking your commute before heading out! |
| - |  - locked_at FROM sync_lock;` A row older than a few hours is stale, and it blocks that feed from syncing again until you clear it. | ||
| + | 3. Check the data has not aged out: `SELECT feed_code, min(start_date), | ||
| + | 4. To force a sync: `docker exec transit-tracker-api-api-1 node dist/cli sync --force --feed < | ||
| + | 5. A sync run this way is invisible to the running API for up to 12 hours, because schedule results are cached in memory as well as in Redis. Restart the API container to pick them up: `docker restart transit-tracker-api-api-1` | ||
| + | |||
| + | **Repos: | ||
| + | |||
| + | - API: [github.com/ | ||
| + | - ESPHome firmware: [github.com/ | ||
| + | - Stream Deck controller: [github.com/ | ||
| + | |||
| + | --- | ||
| + | |||
| + | ### 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**: | ||
| + | - **Display**: | ||
| + | - **PCB**: JLCPCB-manufactured, | ||
| + | |||
| + | **How it works:** | ||
| + | |||
| + | - Polls the [OneBusAway API](https:// | ||
| + | - 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**: | ||
| + | - **Build environment**: | ||
| + | - **Configuration**: | ||
| + | - **Recovery**: | ||
| + | - **License**: | ||
| + | |||
| + | **Status**: Active development. Contributions and feedback welcome — reach out to Sparky on Zulip or check the repo. | ||
| + | |||
| + | --- | ||
| + | |||
| + | ### TRMNL E-Ink Dashboard | ||
| + | |||
| + | <WRAP alert> | ||
| + | **Deprecated.** The space runs a different e-ink display now. This section stays for reference. Do not use it as current documentation. | ||
| + | </ | ||
| + | |||
| + | ![](/: | ||
| + | |||
| + | 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**: | ||
| + | - **Plugin ecosystem**: | ||
| + | - **Developer friendly**: Create custom plugins using HTML/JSON in under 5 minutes | ||
| + | |||
| + | Learn more at [usetrmnl.com](https:// | ||
| + | |||
| + | --- | ||
| + | |||
| + | ## Completed Projects | ||
| + | |||
| + | *Coming soon* | ||
| - | --- | ||