PolyMeter — Prototypes
Every hardware form factor, simulated live — one engine, one program string.
The same engine that drives the app and the editors also runs on hardware — from buildable kits to design studies. Each prototype below is its device front panel, simulated live in the browser: pick one and it plays the same compact program strings as everything else. The buildable ones link wiring, parts and firmware from their “Specs & info” pages.
🛠️ 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.
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.
It now runs as a working metronome — boots, drives the ST7796 display, plays built‑in grooves with audio
clicks, and has a drum‑notation view. Controls: A = play/stop, B = grid/notation, joystick =
tempo & groove. (Alpha; built and reviewed in a host simulator.)
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.