Protocol spec
Canonical HTTP, WebSocket, and BLE contract. Versioned, additive within a major.
A tiny OS that turns a $5 microcontroller into an AI-aware, scriptable LED lamp. Flash it once, set it up from the web, drop it into your home — Home Assistant, Homebridge, Node-RED, or just a browser tab. Stays on your network. Never phones home.
Free, open, and yours to tinker with — Apache 2.0.
One file per shape and chip. Grab the .bin that matches your board — classic ESP32 or ESP32-C3 — and flash it over USB with esptool. After that first flash every update goes over the air.
| Form | Hardware | ESP32 | ESP32‑C3 |
|---|---|---|---|
strip |
Linear strip · ring · rope — any 1D layout | ||
display |
N×M matrix · flat wall panel | ||
tower |
N×M matrix · table lamp | ||
cube |
Multiple N×N faces · cube lamp | ||
wormhole |
N× 24-LED rings · paired across rooms | ||
rocket |
184-LED strip · rocket form |
Once the initial *-flash.bin is on the chip, every subsequent
update can be pushed wirelessly through /ota in any browser
or through the POST /api/ota endpoint. Dual OTA partitions
give you a free rollback on failure.
Designed around AI from the ground up — combined with the good old features any decent lamp should have.
shade() DSL; the firmware compiles them to bytecode for fast on-device playback. Save, edit, play — all without a server./control, /compose, /stream, /js, and /config. No app required.user / creator / admin). Hand them out via QR or over Bluetooth client-to-client. Revoke any time.The wire contract between client and lamp is open and stable. HTTP for control, WebSocket for streaming, BLE for onboarding — pick the transports your project needs and target the spec directly. The firmware doesn't care whether the bytes come from our app, a CLI, or your own SDK.
Canonical HTTP, WebSocket, and BLE contract. Versioned, additive within a major.
Bearer tokens, user / creator / admin roles, share-key endpoints. Multi-tenant from day one.
Firmware source under Apache 2.0 lives next to these docs in the repository.