Per the approved audio re-architecture (prototype-first): prove the click -> codec -> transformer-isolated XLR chain on bought boards before any custom PCB, keeping the RP2350 firmware. - pico-wm8960/code.py: CircuitPython bring-up for Pico 2 + SparkFun WM8960 breakout. Synthesizes the click (familiar piezo pitches) -> I2S -> WM8960 -> HP/speaker; line-in monitor hook; stereo/pan ready for polymeter spatialization. Uses the proven adafruit_wm8960 driver (no hand-rolled register driver). - hardware/PROTOTYPE.md: shopping list, wiring, and bench milestones M1-M5 (M4 = the no-buzz ground-loop test = acceptance gate). Key findings baked in: - Buzz was a ground loop; cure = transformer galvanic isolation, NOT +/-15 V (which was only studio headroom and is dropped). - WM8960 needs MCLK (CircuitPython I2SOut doesn't emit it); the SparkFun breakout's onboard 24 MHz oscillator supplies it -> resolves Risk R1 with zero extra parts. Track-format conformance (node tests/run.mjs) stays green; DSL untouched. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
16 lines
989 B
Markdown
16 lines
989 B
Markdown
# pico-wm8960 — Phase-1 audio-chain bench prototype
|
||
|
||
A focused bring-up for **Raspberry Pi Pico 2 (RP2350) + SparkFun WM8960 codec breakout** that
|
||
validates the new audio path (click → I²S codec → transformer-isolated XLR) before any custom
|
||
PCB. **Not** a form-factor firmware — it's the audio-chain validator from the approved plan.
|
||
|
||
- **Hardware, wiring, shopping list, and the M1–M5 bench milestones:** see
|
||
[`../hardware/PROTOTYPE.md`](../hardware/PROTOTYPE.md).
|
||
- **Firmware:** [`code.py`](code.py) — CircuitPython 9.x+.
|
||
- **Dependency:** the `adafruit_wm8960` library (`circup install adafruit_wm8960`, or copy
|
||
`adafruit_wm8960/` into `CIRCUITPY/lib`). The SparkFun breakout's onboard 24 MHz oscillator
|
||
supplies the WM8960 MCLK, so no host master clock is needed.
|
||
|
||
`code.py` boots a steady 120 BPM click (accent every 4) so you can hear the chain and run the
|
||
**no-buzz** test (M4). The polymetric track engine and Bluetooth (BM83) drop in once the chain
|
||
is proven.
|