info-kit.html: drop the MicroPython firmware section; CircuitPython is THE firmware

Promote the CircuitPython "appliance" section to the single, default-open firmware
section, and update the hero/about/meta to match (drop "copy one file" / PROGRAMS list /
MicroPython flash dance phrasing -> precompiled bundle + on-device editing + Save to
device).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Me Here 2026-05-30 06:21:17 -05:00
parent 30f02305e5
commit b1bb792df6

View file

@ -4,7 +4,7 @@
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>VARASYS PM_K1 Kit — wiring, parts &amp; firmware (Raspberry Pi Pico build)</title>
<meta name="description" content="PM_K1 Kit — build a touchscreen polymeter metronome from a Raspberry Pi Pico on the 52Pi EP0172 breadboard kit (3.5in ST7796 captouch, joystick, RGB, buzzer). Pinout, parts list, and the MicroPython firmware to flash." />
<meta name="description" content="PM_K1 Kit — build a touchscreen polymeter metronome from a Raspberry Pi Pico on the 52Pi EP0172 breadboard kit (3.5in ST7796 captouch, joystick, RGB, buzzer). Pinout, parts list, and the precompiled CircuitPython firmware bundle." />
<link rel="icon" type="image/svg+xml" href="data:image/svg+xml;base64,@BUILD:favicon@">
<script>
(function(){ try{ var p = localStorage.getItem("metronome.theme");
@ -40,7 +40,7 @@
<main>
<section class="info-hero">
<h1>PM_K1 Kit</h1>
<p class="sub">Build it yourself: a Raspberry Pi Pico on the 52Pi breadboard kit becomes a touchscreen polymeter metronome — same engine, same program strings, with MicroPython firmware you flash in two minutes.</p>
<p class="sub">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 oneclick updates over USBMIDI.</p>
</section>
/*@BUILD:include:src/infoembed.html@*/
@ -52,11 +52,11 @@
<b>Raspberry Pi Pico</b> seated on the <b>52Pi EP0172 "Pico Breadboard Kit Plus"</b>, which carries a
3.5″ <b>ST7796</b> 320×480 capacitivetouch screen (<b>GT911</b>), a PSP <b>joystick</b>, a <b>WS2812 RGB</b>
LED, a <b>buzzer</b> and two buttons — all prewired, so you don't solder anything; you just seat the Pico
and copy one file onto it.</p>
and drop the firmware bundle onto its USB drive.</p>
<p>It runs the same <b>polymeter engine</b> and the same <b>program strings</b> as the web editor: design a
groove on the site, copy its program string into the firmware's <code>PROGRAMS</code> list, and it plays on
the device. Tap the screen, nudge tempo with the joystick; the RGB flashes each beat (amber accent / cyan
normal / violet ghost) and the buzzer clicks. Powered over the Pico's USB.</p>
groove on the site and <b>Save to device</b> over USBMIDI (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 buzzer clicks. Powered over the Pico's USB.</p>
</section>
<details class="spec" open>
@ -100,45 +100,15 @@
</details>
<details class="spec" open>
<summary>Firmware — flash it in two minutes</summary>
<summary>Firmware — selfcontained appliance (USB drive · ondevice editing · push programming · MIDI audio · practice log)</summary>
<div class="spec-body">
<p>
<a class="dl" href="/pico-main.py" download="main.py">Download main.py ↓</a>
<a class="dl alt" href="https://codeberg.org/VARASYS/metronome/src/branch/main/pico" target="_blank" rel="noopener">Source + README ↗</a>
</p>
<p class="sub"><b>Two separate steps</b> — and <b><code>main.py</code> is not a draganddrop file.</b> The
<code>RPIRP2</code> drive only accepts a <code>.uf2</code> firmware file; a <code>.py</code> copied there is
discarded on reboot. You draganddrop the firmware once, then copy <code>main.py</code> over USB serial.</p>
<ol class="steps">
<li><b>Install MicroPython</b> (draganddrop, one time): hold <b>BOOTSEL</b>, plug the Pico into USB, and drop
the MicroPython <code>.uf2</code> onto the <code>RPIRP2</code> drive
(<a href="https://micropython.org/download/RPI_PICO/" target="_blank" rel="noopener">Pico</a> /
<a href="https://micropython.org/download/RPI_PICO2/" target="_blank" rel="noopener">Pico 2</a>). It reboots
on its own and the drive disappears — that's correct.</li>
<li><b>Copy <code>main.py</code></b> (the Pico is no longer a USB drive, so use a serial tool):
in <a href="https://thonny.org" target="_blank" rel="noopener">Thonny</a> pick the interpreter
<i>MicroPython (Raspberry Pi Pico)</i>, then <i>File ▸ Save as ▸ Raspberry Pi Pico</i> as <code>main.py</code>;
or <code>mpremote cp main.py :main.py</code>.</li>
<li>Reset — it boots straight into the metronome.</li>
<li>Add your own grooves by pasting program strings from the editor into the <code>PROGRAMS</code> list at the
top of <code>main.py</code>. If colours, touch, or the joystick look off, flip a flag in the
<code>CONFIG</code> block (see the README's calibration notes).</li>
</ol>
<p class="sub">It's one selfcontained file — the ST7796 driver, GT911 touch, WS2812 RGB, buzzer and the
polymeter engine, no external libraries.</p>
</div>
</details>
<details class="spec">
<summary>CircuitPython edition — selfcontained appliance (USB drive · push programming · MIDI audio · practice log)</summary>
<div class="spec-body">
<p class="sub">An alternative firmware that turns the Pico into a selfcontained appliance: it mounts as a
<b>USB drive</b> carrying the firmware, your tracks and an offline copy of this editor; drives a full
lanes/pads touchscreen; <b>logs your practice</b> to <code>history.json</code> on the device; takes new
<p class="sub">The firmware turns the Pico into a selfcontained appliance: it mounts as a
<b>USB drive</b> carrying the (precompiled) firmware, your tracks and an offline copy of this editor; drives
a full lanes/pads touchscreen with <b>ondevice editing</b> (tap beats, tap an instrument for the lane
editor, add/remove lanes, save/revert); <b>logs your practice</b> to <code>history.json</code>; takes new
set lists <b>pushed from the editor over USBMIDI</b>; and plays out your <b>computer's speakers over
USBMIDI</b>. By default the firmware owns the drive (readonly to the computer — so it can log and
can't be accidentally erased); hold <b>button A</b> at poweron for editor mode (drive writable). The
MicroPython firmware above stays the simple, rocksolid option.</p>
can't be accidentally erased); hold <b>button A</b> at poweron for editor mode (drive writable).</p>
<p>
<a class="dl" href="/pm_k1_circuitpy.zip" download>Download CircuitPython bundle ↓</a>
<a class="dl alt" href="https://codeberg.org/VARASYS/metronome/src/branch/main/pico-cp" target="_blank" rel="noopener">Source + README ↗</a>