Between 2018 and 2021, I built a multi-layer stack for controlling LED art installations, from ESP8266 microcontrollers to React interfaces for kinetic sculptures. This wasn't a single project—it was an evolving pipeline where each layer solved problems discovered in the previous one.
esp-bloom — Bias lighting using macOS screen capture to drive SK6812 RGBW LEDs via ESP8266 at 115200 baud. RGBW over RGB provided better luminosity precision for ambient lighting. Python-based color processing pipeline with serial communication.
pb-sync (2 stars) — Version control for LED patterns. TypeScript tool backing up .epe files and metadata from PixelBlaze WiFi LED controllers. Planned features include bi-directional sync, directory watching, and auto-upload.
Firestorm — Centralized control for multiple PixelBlaze devices. Implements NTP-like time synchronization via UDP beacons leveraging PixelBlaze's discovery protocol. Client-driven sequence choreography with automatic recovery: disconnected devices receive cached commands within 5 minutes.
tesseract-react (2 stars, 3 forks) — React frontend controlling "Draco," a kinetic LED sculpture. Real physical art installation requiring Docker deployment for iPad and local network access. Integration with Processing backend via forked tesseract_java and PixelPusher-java.
- LedPixelController fork — ESP8266 E1.31 protocol to WS2812 LED driver
- Firestorm fork — PixelBlaze control console
- massdrop_orig_qmk_firmware (2021) — Keyboard firmware, demonstrating hardware breadth beyond LEDs
- Serial Bandwidth: 115200 baud for real-time screen capture feedback loop
- Network Synchronization: UDP beacon timing for distributed LED controller coordination
- Pattern Management: Version control for binary
.epepattern files without standard diffing - Physical Installation: Network-accessible UI for real-world art gallery deployment
- Working kinetic sculpture installation with web-based control
- Reusable sync infrastructure across multiple hardware projects
- PixelBlaze ecosystem contributions (pb-sync used by others in the community)
- Foundation for future installations requiring synchronized multi-controller setups
- esp-bloom — ESP8266 bias lighting
- pb-sync — PixelBlaze version control
- tesseract-react — Kinetic sculpture frontend
- Firestorm — Multi-controller synchronization