mini-midi is a USB MIDI foot controller built on a Raspberry Pi Pico 1 (RP2040): three footswitches with individual LEDs plus a removable expression pedal on a TRS jack with plug detection — behavior adapted from the MIDI Controller Pedal and distilled into a standalone microcontroller build.
- Assignments — each switch carries a primary assignment and an optional hold-triggered secondary across five types: action, effect, program, expression, and fade.
- Honest LEDs — the feedback LEDs report the rig, not the switch: an effect’s light comes from the DAW echoing state back, so the board shows what is actually on.
- Expression pedal — drives one CC at a time with per-effect value ranges, return-to-home, and snap/catch/interpolate handoff when switching effects.
- Web editor — everything is configured from a dependency-free editor (static HTML/CSS/JS, no build step) that talks to the Pico over the Web Serial API, with a demo mode that runs the whole editor against a simulated controller.
- Presets that can’t drift — a preset is a plain JSON file in the exact shape used on the wire and in flash.
- Firmware — C++ on pico-sdk + TinyUSB (composite USB MIDI + CDC), developed spec-first with the logic modules kept hardware-free: 571 host unit tests and 168 editor stub tests pass with no board attached.

