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

PolyMeter

Polymetric grooves — one engine, one program string, every form factor.

Stack independent meter lanes — each with its own subdivision, drum voice and per‑step accents — to build true polymeter and ratio polyrhythm. Design a groove once; it saves to a compact program string that plays back identically on the web editor, the hardware concepts, or an embedded widget. The editor is open below — or pick any form factor to load and play the same groove on it.

🛠️ Program on the web, play on any device

The website is the workbench: design in the editor, and the same program string loads into whichever form factor fits the moment. One engine, one language.

🔌 USB‑C power everywhere — no batteries

Every device runs over a single USB‑C port (the larger ones add a pass‑through to daisy‑chain). No internal battery to wear out; bring a power bank. One connector keeps it all future‑proof.

Pick a form factor — it loads live below
PM_E‑1 EditorSpecs & info ⓘ  ·  Open full page ↗
The current program, decoded (not base64). Paste a patch or a base64 set‑list code; it's checked, then loaded. Conventions: GM names or numbers (kick / 36), =X.x- steps, /2 subdivision, (3,8) euclidean, @-3 dB, ~ polymeter.

🦀 Native‑Rust firmware — PM_K‑1 (RP2350 / Pico 2)

An experimental native‑Rust build of the Kit firmware: one no_std core (track codec + scheduler, validated against the same golden vectors as the web and CircuitPython builds) plus per‑board drivers. Currently a bring‑up image (boot + display); it grows one driver at a time.

Download pm‑kit.uf2 ↓

Flash: hold BOOTSEL on the Pico 2, plug in USB, and drag the .uf2 onto the RP2350 drive. Recover anytime with BOOTSEL + a CircuitPython .uf2. Source & staged plan live in rust/ and docs/rust-port.md.

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