draft: false Name: 8mu CV short-description: "A playable, unpredictable Music Thing 8mu instrument: four voltages with LFOs and gesture control, plus two pulses, over USB MIDI Host" Language: C++ (Pico SDK + ComputerCard) Creator: Joep Vermaat Version: "0.1.0" Status: Beta License: MIT Editor: none date-created: 2026-09-25 date-updated: 2026-10-02 contact: email: joep@joep-i.nl # Vendors, unmodified and under their own MIT terms: # ComputerCard.h # (c) Chris Johnson # EightMU.h, which carries the rppicomidi usb_midi_host driver # (c) 2026 Chris Johnson; usb_midi_host (c) 2023 rppicomidi # Their copyright headers are intact in those files. uf2: - path: UF2/8mu_cv.uf2 name: 8mu CV 0.1.0 tags: - midi-host - midi-to-cv - utility - lfo - controller - accelerometer summary: | A playable, unpredictable instrument as much as a showcase for the Music Thing 8mu: every control it has - the eight faders, the four top buttons, and the accelerometer - drives the Workshop Computer's outputs. Set the LFOs running and latch in the accelerometer, and the controller steers voltages, rates and widths you didn't quite dial in - surprising, and often musical. It is also a way to test an 8mu channel by channel. The audio outputs are DC-coupled, so they carry steady voltages just as well as sound, giving four bipolar voltage sources rather than the usual two.

Faders 1-4 set the levels of Audio Out 1, Audio Out 2, CV Out 1 and CV Out 2, each running from about -5V at the bottom through 0V in the middle to about +5V at the top. Faders 5 and 6 set the rates of Pulse Out 1 and Pulse Out 2: independent pulses from 0.1Hz to 20Hz, exponential across the fader so equal movements multiply the rate. Faders 7 and 8 set their widths: the middle is a 50% square, the way down narrows toward a sharp trigger, the way up widens toward a gate that stays open nearly all the time.

The Computer's switch picks the mode. Middle is the basic card. Up is LFO mode: a tap on a top button arms that output, capturing the voltage it is already at as the centre for a triangle LFO, with the fader then setting the speed. The Main knob sets how far the triangle swings, always measured to the nearer supply rail, so it can never clip.

Holding the switch Down for half a second latches the accelerometer on or off. When it is on, the four gesture axes take over the four voltage outputs and their LFO rates: Pitch and Roll (tilt), Yaw (spin), and Flip (which way up, unipolar so a flat 8mu reads 0). The X knob scales how far the gestures respond and the Y knob smooths them. The three panel knobs are otherwise not a fallback, since the point of the card is to drive the 8mu; unplug it and the outputs hold their last values.

The card is a pure MIDI listener: it never writes to the 8mu's LEDs or settings, so the controller behaves exactly as it does anywhere else. It needs a Rev 1.1 or later Computer, and nothing else may be in the front USB socket, because the Computer has to act as a USB host. panel: inputs: [] outputs: - id: AudioOut1 name: Voltage 1 type: cv description: > Bipolar voltage from fader 1, about -5V to +5V with 0V at the middle of the fader. Uncalibrated. The audio outputs are DC-coupled, so this carries a steady voltage as happily as sound. Top button 1 arms it as a triangle LFO in LFO mode. With the accelerometer latched on, Pitch drives it instead. - id: AudioOut2 name: Voltage 2 type: cv description: > Bipolar voltage from fader 2, same range as Voltage 1. Top button 2 arms its LFO; Roll drives it with the accelerometer latched on. - id: CVOut1 name: Voltage 3 type: cv description: > Bipolar voltage from fader 3, same range as Voltage 1. Top button 3 arms its LFO; Yaw drives it with the accelerometer latched on. - id: CVOut2 name: Voltage 4 type: cv description: > Bipolar voltage from fader 4, same range as Voltage 1. Top button 4 arms its LFO; Flip (unipolar, flat = 0) drives it with the accelerometer latched on. - id: PulseOut1 name: Pulse 1 type: pulse description: > Rate set by fader 5, 0.1Hz to 20Hz with an exponential response - a slow LFO at the bottom of the fader, a fast rhythmic gate at the top. Width set by fader 7: centre is a 50% square, down narrows toward a sharp trigger, up widens toward a gate. Always a pulse, never dead. - id: PulseOut2 name: Pulse 2 type: pulse description: > Rate set by fader 6 and width by fader 8, independent of Pulse 1. controls: switch: middle: name: Basic description: > Faders 1-4 are steady voltages and faders 5-8 are pulse rate and width. Any output that was oscillating in LFO mode glides back to its captured centre. up: name: LFO description: > Outputs armed with a top button oscillate as triangle LFOs, with their faders setting the rate. Outputs that are not armed stay steady voltages. The Main knob sets the LFO swing depth. down: name: Latch accelerometer description: > Momentary. Held for about half a second, it latches the accelerometer on or off. When on, the four gesture axes take over the four voltage outputs and their LFO rates. All six LEDs blink on the change. knobs: - main: name: LFO depth description: > How far the triangle LFOs swing, fully anticlockwise for no swing to fully clockwise for the whole distance to the nearer supply rail. Always measured to the rail, so an LFO can never clip. Only affects outputs that are armed. x: name: Gesture sensitivity description: > How far the accelerometer gestures respond, exponential from about 0.25x to 4x across the knob. Only applies while the accelerometer is latched on. y: name: Gesture smoothing description: > How much the accelerometer gestures are smoothed, from barely any to a settled ~20ms glide. Softens a shaky hand while the accelerometer is latched on. leds: - display: list items: - id: LED0 name: 8mu description: Lit while a USB MIDI controller is connected. - id: LED1 name: Voltage 1 description: Brightness follows the level of Audio Out 1. - id: LED2 name: Pulse 1 description: Follows Pulse Out 1 on and off. - id: LED3 name: Pulse 2 description: Follows Pulse Out 2 on and off. - id: LED4 name: LFO mode description: Lit while the switch is up, selecting LFO mode. - id: LED5 name: Voltage 3 description: Brightness follows the level of CV Out 1. host: usb: - name: Music Thing 8mu role: midi description: > Class-compliant USB MIDI controller plugged into the Computer's front USB-C jack. The Computer acts as USB host, which needs a Rev 1.1 or later board. Factory mapping, nothing to configure on the 8mu. notes: | The card only listens - it never writes to the 8mu's LEDs or settings, so the controller behaves exactly as it does anywhere else.