diff --git a/build.sh b/build.sh
index b53dba2..5533d05 100755
--- a/build.sh
+++ b/build.sh
@@ -37,4 +37,9 @@ pathlib.Path("dist/embed.js").write_text(pathlib.Path("embed.js").read_text())
print("copied embed.js")
pathlib.Path("dist/pico-main.py").write_text(pathlib.Path("pico/main.py").read_text()) # PM_K-1 firmware, downloadable
print("copied pico-main.py")
+import zipfile # PM_K-1 CircuitPython drive bundle (download → unzip onto CIRCUITPY)
+with zipfile.ZipFile("dist/pm_k1_circuitpy.zip", "w", zipfile.ZIP_DEFLATED) as z:
+ for f in ("code.py", "programs.json", "README.md"):
+ z.write("pico-cp/" + f, f)
+print("zipped pm_k1_circuitpy.zip")
PY
diff --git a/deploy.sh b/deploy.sh
index bed9532..40a7dff 100755
--- a/deploy.sh
+++ b/deploy.sh
@@ -48,6 +48,7 @@ for f in index.html editor.html player.html teacher.html stage.html micro.html s
done
cp "$DIST_DIR/embed.js" "$DEST_DIR/embed.js"; echo " embed.js ($(stat -c '%s' "$DEST_DIR/embed.js") bytes)"
cp "$DIST_DIR/pico-main.py" "$DEST_DIR/pico-main.py"; echo " pico-main.py ($(stat -c '%s' "$DEST_DIR/pico-main.py") bytes)" # PM_K-1 firmware download
+cp "$DIST_DIR/pm_k1_circuitpy.zip" "$DEST_DIR/pm_k1_circuitpy.zip"; echo " pm_k1_circuitpy.zip ($(stat -c '%s' "$DEST_DIR/pm_k1_circuitpy.zip") bytes)" # PM_K-1 CircuitPython bundle
rm -f "$DEST_DIR/player-asbuilt.html" # renamed to teacher.html
rm -f "$DEST_DIR/concepts.html" # Concepts is now the landing (/)
# info-*.html are first-class pages again: each form factor has a lean widget page
diff --git a/info-kit.html b/info-kit.html
index 5a0321d..ccd2e6f 100644
--- a/info-kit.html
+++ b/info-kit.html
@@ -129,6 +129,26 @@
+ An alternative firmware that makes the Pico mount as a USB drive carrying the
+ firmware and your tracks (
+ Download CircuitPython bundle ↓
+ Source + README ↗
+ CircuitPython edition — USB drive + editor (experimental)
+ programs.json) — edit on the web and reprogram it without
+ Thonny. Coming next: one‑click "Save to device" and USB‑MIDI audio out to your computer's speakers.
+ The MicroPython firmware above stays the simple, rock‑solid option.
+
+ CIRCUITPY drive appears.CIRCUITPY (code.py + programs.json) — it's a normal drive, just drag them on.programs.json auto‑reloads the grooves. See the bundle's README for calibration flags.
Embed this widget elsewhere with one <div> + a script —
see the embed docs.