Repository navigation
Home

openrb-pico is open-source RP2040 firmware that adapts a rhythm-game drum kit — read over USB MIDI or serial MIDI — into an Xbox One pro-drums controller (guitar/HID support is in progress). It reads the instrument on a bit-banged PIO-USB host and presents as a USB device to the console, both at once across the RP2040's two cores under FreeRTOS SMP.
In the same family as Santroller and Roll Limitless, its distinguishing goals are first-class Xbox One support (simpler setup than Santroller) and, via the Rock Band Wireless Legacy Adapter protocol, presenting multiple instrument types from a single adapter. It runs on the purpose-built OpenRB board (serial MIDI + built-in USB hub) and on an Adafruit Feather RP2040 USB Host.
This wiki holds the user guides, feature docs, and design history. The firmware and its developer reference docs live in the repository; the board's open KiCad design is at openrb-pico-hw.
- Feather RP2040 USB-host bring-up — the easiest way to try it on off-the-shelf hardware: pinout, UF2/BOOTSEL flashing, wiring, troubleshooting.
- Prebuilt firmware: the Releases page
(
openrb-pico_FEATHER.uf2/openrb-pico_CUSTOM_REV_0_1.uf2).
- Hi-hat mode — optional CC-keyed hi-hat pedal handling (build-gated).
- Logging — the deferred, lock-free logger (debug UART + USB-stick), and how it's compiled out in release.
- Architecture — the layered C++23 design + the FreeRTOS-SMP runtime model.
- Design history — the host-stack bring-up, the 240 → 120 MHz clock decision, the FreeRTOS-SMP move, and the warm-reset recovery rationale.
-
README— project entry point. -
CONTRIBUTING.md— how to build, test, and submit changes. -
AGENTS.md— contributor/agent rules (static DI, no-heap, layering, core1). -
BUILDING.md— Docker build / flash / debug workflow. -
docs/DEBUGGING.md— on-target dual-core gdb /dbgddaemon.
Getting started
Features
Background
Repo