PM_X-1 Explorer
The off-the-shelf Pimoroni Explorer Kit (RP2350, 2.8" LCD, 6 buttons, piezo) as a polymeter metronome - sibling to the PM_K-1 Kit, sharing the engine, program-string grammar, and live-sync protocol with the web editor.
What it is
The Pimoroni Explorer Kit (PIM744) is a finished development board: RP2350B built in, 2.8" ST7789V 320x240 IPS LCD, 6 user buttons (A/B/C on the left of the screen, X/Y/Z on the right), a piezo speaker, USB-C, a JST-PH battery connector, and a mini breadboard with 6 GPIOs / 3 ADCs broken out for sensor projects. No soldering; you flash CircuitPython and drop the firmware on. No touchscreen, no joystick, no RGB LED - everything is driven from the 6 buttons.
It runs the same polymeter engine and the same program strings as the web editor. Beat editing is done in the browser; Live sync mirrors edits to the device in real time (HELLO/FULL/DELTA over USB-MIDI), and the device mirrors play/stop/tempo/track changes back. The piezo clicks; a tiny on-screen dot shows run state.
Wiring - the Pimoroni Explorer fixed pinout (no breadboarding required)
Everything is wired on the board; this is what the firmware reads. The display is driven by an 8-bit parallel bus initialised by CircuitPython's official board definition - we use board.DISPLAY directly.
| Component | RP2350 pins |
|---|---|
| Display - 2.8" ST7789V, 320x240 (8-bit parallel 8080) | |
| BL / CS / DC / WR / RD / D0-D7 | GP26 / GP27 / GP28 / GP30 / GP31 / GP32-GP39 (board.c) |
| Buttons (digital, pull-up) | |
| A (play/stop) / B (tap tempo) / C (menu) | GP16 / GP15 / GP14 (left side, top to bottom) |
| X (prev track) / Y (-bpm) / Z (next track) | GP17 / GP18 / GP19 (right side, top to bottom) |
| Audio | |
| Piezo PWM | GP12 |
| Amp enable | GP13 |
| I2C (QwSTEMMA - unused by the firmware, free for sensors) | |
| SDA / SCL | GP20 / GP21 |
Controls
| Button | Action |
|---|---|
| A | play / stop |
| B | tap tempo |
| C | menu (Settings / Practice log / Help / About) |
| X | prev track (hold to repeat) |
| Z | next track (hold to repeat) |
| Y | tempo -1 (hold = -5 after 1.5 s) |
| X + Z (chord) | tempo +1 (same hold rule as Y) |
| In a menu | |
| X / Z | move cursor up / down (Help: prev / next page) |
| Y | decrement the focused value |
| A | cycle / increment / select |
| B | back (cancel) |
| C | close the menu |
Parts
A finished development board, not a custom build - ballpark one-off price (USD).
| Part | Qty | ~$ |
|---|---|---|
| Pimoroni Explorer Kit (PIM744) - RP2350B, 2.8" ST7789V, 6 buttons, piezo + amp, USB-C | 1 | 60 |
| USB-C cable - power + flashing | 1 | 2 |
| Total (one-off) | ≈ $62 |
Reference: Pimoroni Explorer product page · vendor code · CircuitPython for Pimoroni Explorer (RP2350).
Firmware - self-contained appliance (USB drive · web-driven editing via Live sync · MIDI audio · practice log)
The firmware turns the Explorer 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 lanes/pads display with web-driven editing via Live sync; 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 for Pimoroni Explorer (RP2350)
(download)
via BOOTSEL, unzip the bundle onto
CIRCUITPY, and power-cycle. It boots into appliance mode. - Edit on the web: open the editor (beta) in Chrome / Edge / Firefox, click 🔗 Live sync, and the Explorer mirrors your edits live (beats, tempo, track changes).
- Save a set list to the device for offline use: set-list ··· menu →
📟 Save to device. It's pushed over USB-MIDI; the device persists it to
/programs.json. - Play through your computer: click 🎹 Device audio, then press A on the device - the full groove sounds through your speakers over USB-MIDI, in sync. A MIDI badge appears in the header and the piezo auto-mutes.
- Practice log: press C → Practice log. Plays over 5 s appear (time · BPM · duration · bars).
- Firmware updates: ··· menu → ⬆ Update firmware - the editor reads
the device id (X = Explorer), fetches the matching
pico-explorer-app.mpy, and pushes it over USB-MIDI. The device A/B-updates with automatic rollback if a build won't boot.
Pairs with the touch-driven PM_K-1 Kit - same engine, same programs.json, same web editor.