Looper

Looper is the instrument at the center of this site: a hardware groovebox built around layered recording, an LED matrix for visual feedback, and firmware written from scratch in embedded C.
why build the firmware from scratch
Looping software exists everywhere, but almost none of it is built to run on bare metal with sample-accurate timing and a hard real-time budget. I wanted layers to stay locked to the beat indefinitely, with zero drift over an hour-long jam, which meant writing the audio buffer management, the quantization logic, and the LED matrix driver myself rather than layering the idea on top of an existing OS or framework.
Every layer has to stay locked to the first one, forever — the moment it drifts, the instrument stops feeling like an instrument.
the LED matrix as an instrument, not a display
The matrix isn't decorative — it's the primary feedback loop. Each active loop gets a moving pixel that sweeps across its own row in real time, so you can see exactly where you are in a sixteen-bar loop without stopping to count. Getting that animation to stay perfectly synced to playback, even while three other layers are recording simultaneously, was most of the firmware work: the render loop reads directly from the same sample counter the audio engine uses, so there's no separate clock to fall out of sync.
The industrial design followed the firmware, not the other way around — the enclosure had to put every control within reach of one hand, since the other is usually holding an instrument.