PM_K‑1 Kit
Build it yourself: a Raspberry Pi Pico on the 52Pi breadboard kit becomes a touchscreen polymeter metronome — same engine, same program strings, with a precompiled CircuitPython firmware bundle and one‑click updates over USB‑MIDI.
What it is
This is the first member of the family you can actually build today from off‑the‑shelf parts: a Raspberry Pi Pico seated on the 52Pi EP‑0172 "Pico Breadboard Kit Plus", which carries a 3.5″ ST7796 320×480 capacitive‑touch screen (GT911), a PSP joystick, a WS2812 RGB LED, a speaker and two buttons — all pre‑wired, so you don't solder anything; you just seat the Pico and drop the firmware bundle onto its USB drive.
It runs the same polymeter engine and the same program strings as the web editor: design a groove on the site and Save to device over USB‑MIDI (or edit on the device's touchscreen — beats, lanes, playlists), and it plays standalone. Tap the screen, nudge tempo with the joystick; the RGB shows run/stop and the beat pulse, and the speaker clicks. Powered over the Pico's USB.
Wiring — the EP‑0172 fixed pinout (Raspberry Pi Pico)
Everything is wired on the board; this is just what the firmware drives. No breadboarding required.
| Component | Raspberry Pi Pico pins |
|---|---|
| Display — 3.5″ ST7796, 320×480 (SPI0) | |
| SCK / MOSI | GP2 / GP3 |
| CS / DC / RST | GP5 / GP6 / GP7 |
| Touch — GT911 capacitive (I2C0) | |
| SDA / SCL — addr 0x5D | GP8 / GP9 |
| Controls & feedback | |
| PSP joystick X / Y | ADC0 (GP26) / ADC1 (GP27) |
| Button A (play/stop) / Button B (tap) | GP15 / GP14 |
| WS2812 RGB LED | GP12 |
| Speaker | GP13 |
Parts
An off‑the‑shelf kit, not a custom board — ballpark one‑off prices (USD).
| Part | Qty | ~$ |
|---|---|---|
| Raspberry Pi Pico (or Pico W / Pico 2) — the brain | 1 | 5 |
| 52Pi EP‑0172 "Pico Breadboard Kit Plus" — 3.5″ ST7796 cap‑touch, GT911, PSP joystick, WS2812 RGB, speaker, 2 buttons, breadboard, acrylic panel | 1 | 38 |
| USB cable — power + flashing | 1 | 2 |
| Total (one‑off) | ≈ $45 |
Reference: 52Pi EP‑0172 wiki · vendor code. Lots may ship the screen as ST7796 (320×480) — this build targets that.
Firmware — self‑contained appliance (USB drive · on‑device editing · push programming · MIDI audio · practice log)
The firmware turns the Pico into a self‑contained appliance: it mounts as a
USB drive carrying the (precompiled) firmware, your tracks and an offline copy of this editor; drives
a full lanes/pads touchscreen with on‑device editing (tap beats, tap an instrument for the lane
editor, add/remove lanes, save/revert); logs your practice to history.json; takes new
set lists pushed from the editor over USB‑MIDI; and plays out your computer's speakers over
USB‑MIDI. By default the firmware owns the drive (read‑only to the computer — so it can log and
can't be accidentally erased); hold button A at power‑on for editor mode (drive writable).
Download CircuitPython bundle ↓ Source + README ↗
- Flash CircuitPython (raspberry_pi_pico)
via BOOTSEL, unzip the bundle onto
CIRCUITPY, and power‑cycle. It boots into appliance mode. - Program it from the web: build a set list in the editor (Chrome/Edge/Firefox),
then the set‑list ⋯ menu → 📟 Save to device. It's pushed over USB‑MIDI and the device shows
Saved ✓. (Fallback for any browser: it downloads
programs.json— boot holding A and drag it on.) - Play through your computer: click 🎹 Device audio, then press play on the device — the full groove sounds through your speakers over USB‑MIDI, in sync; the screen shows a MIDI badge and the speaker mutes.
- Practice log: plays over 5 s appear at the bottom of the screen (time · BPM · duration · track); tap a row twice to delete.
- Firmware updates: ⋯ menu → ⬆ Update firmware — it checks your version, pushes the latest over USB‑MIDI, and the device A/B‑updates with automatic rollback if a build won't boot.
Embed this widget elsewhere with one <div> + a script —
see the embed docs.