/*@BUILD:include:src/header.html@*/

# 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.

/*@BUILD:include:src/infoembed.html@*/

## What it is

Buildable nowRaspberry Pi Pico52Pi EP‑0172 kit~$45 incl. Pico

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 ↗

1. Flash CircuitPython (raspberry_pi_pico) via BOOTSEL, unzip the bundle onto `CIRCUITPY`, and power‑cycle. It boots into appliance mode.
2. 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.)
3. 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.
4. Practice log: plays over 5 s appear at the bottom of the screen (time · BPM · duration · track); tap a row twice to delete.
5. 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.

/*@BUILD:include:src/footer.html@*/