Stable production firmware for the Cosmik C1ZZL3 Music Thing Modular Workshop Computer card.
C1ZZL3 is a dual phase-distortion synthesiser with custom Web MIDI envelopes, USB MIDI device/host support, optional Turing MIDI output, and a Turing machine mode with CV and pulse outputs.
For the user-facing card guide, see:
CARD_README.md
Current stable UF2:
uf2/C1ZZL3.uf2
Checksum:
6cb55940ab502cb38926d20f3cdd76e5f93909ebb391569d82ee385bb20fbf55
This is the hardware-tested 192 MHz RP2040 build promoted on 2026-06-25.
Previous UF2s are archived in:
uf2/archive/
Source snapshots and experiment notes are archived in:
archive/
Switch middle: synth mode.
CV In 1: phase-distortion modulationCV In 2: waveform modulationPulse In 2: envelope trigger and oscillator syncSwitch down from middle: performance edit and save.
Switch up: Turing mode.
Pulse In 1: external clockCV Out 1: stepped Turing CVCV Out 2: smoothed Turing CVPulse Out 1/2: Turing pulsesMIDI CC controls on the selected input channel:
CC1: phase distortionCC20: oscillator 2 detuneCC21: ring modulationCC22: noise amountCC23: waveformCC24: Turing CV octave range, from 1 to 8 octavesThe physical knobs and MIDI CC controls share the same control values. After a CC change, the related knob must be swept through the current value before it takes over again.
Hosted editor:
https://soveda.github.io/CozmikC1zzl3/web-midi/editor/
Local editor:
python3 -m http.server 5173 --directory web-midi/editor
Open:
http://localhost:5173
Use Chrome or another browser with Web MIDI and SysEx support.
Amplitude or Phase Distortion to focus on one lane at a time.Button quick reference:
Load RAM: send the envelope to the card until reset.Save Slot: store the selected custom envelope in flash.Delete Slot: clear the selected custom slot from card flash.Read Card: pull the current performance settings into the editor.Set Card: write the current performance settings to the card.Export JSON: download all editor presets.Reset Preset: restore the selected preset to its factory value.The editor can save up to eight custom envelopes. Factory presets are not overwritten.
cmake -S . -B build
cmake --build build
The built UF2 will be:
build/C1ZZL3.uf2
The stable production build currently reports:
FLASH: 133168 B
RAM: 141500 B
This build is close to the practical processing limit of this RP2040 card format, so future changes should be tested carefully at maximum settings.
The stable version includes the lookup-table oscillator optimisation, 192 MHz clock, Turing MIDI output, settings readback, and full CC/knob pickup handoff. Tap tempo remains removed; Y is the Turing internal clock control.
Possible future optimisation notes are kept in:
FUTURE_NOTES.md
C1ZZL3.cpp: main firmwareC1ZZL3_LUT.cpp / C1ZZL3_LUT.h: phase-distortion lookup tablesFUTURE_NOTES.md: deferred optimisation and cleanup notesweb-midi/editor/: browser editoruf2/C1ZZL3.uf2: current stable firmwareuf2/archive/: older UF2s and rollbacksarchive/: source snapshots and experiment notesCARD_README.md: user-facing card guideinfo.yaml: Workshop Computer site metadata