LIGHTPEN
Firmware for Workshop System Computer (Music Thing Modular)
An RGB light-sensor wand as a fourteen-mode controller, sound source and effects box.
- Distribution
- Prebuilt image you flash yourself
- Source
- github.com https://github.com/TomWhitwell/Workshop_Computer/tree/main/releases/109_LightPen
- Homepage
- computer.musicthing.co.uk https://computer.musicthing.co.uk/programs/109-lightpen/
- Synced from
- upstream metadata, raw.githubusercontent.com https://raw.githubusercontent.com/TomWhitwell/Workshop_Computer/main/releases/109_LightPen/info.yaml. Corrections belong upstream.
- controller
- sensor
- synthesis
- percussion
- looper
- quantiser
- filter
- delay
- reverb
- effect
- cards
Description
LIGHTPEN drives an RGB sensor wand: three light-dependent resistors under red, green and blue gels in a marker-pen body, powered from CV Out 1 and read on CV In 1, CV In 2 and Audio In 2. Point it at the room or scan printed colour, and the colour becomes CV, gates and audio.<br><br>
The wand is four wires and nothing else. Each LDR goes straight from the CV Out 1 plug to one input plug: the Computer's inputs are each 120k to ground internally, which forms the other half of the divider, and its outputs already carry a 1k series resistor, so no components and no ground wire are needed. Each channel draws about 50uA.<br><br>
X sets sensitivity and Y smoothing in every mode. Switch Up steps through fourteen modes; Down is each mode's action — and in the three modes that record, a quick tap of Down cycles the sound or behaviour while a longer press still records.<br><br>
The LEDs are two columns of three: the left (0, 2, 4) counts the mode as a three-bit number starting at one, with Modes 8 to 14 counting again at half brightness, and the right is a live meter of red (LED 1), green (3) and blue (5). The meter shows the reading the modes act on — after calibration, sensitivity and smoothing — so it is also how you set the card up: a colour pinned at full brightness or staying dark as the wand moves means the modes see that too.<br><br>
1 RGB CV Mirror: colour as three CVs, plus threshold gates.<br><br> 2 Triad Drone: red, green and blue set the levels of a chord's three notes.<br><br> 3 Barcode Reader: swipe across a black-and-white code while holding Down, and its bars loop as triggers — every element on one pulse out, the wide ones on the other, with the black/white gate as CV. It also plays drums: a bar going dark hits a kick and coming back to light hits a snare, or clicks, crackle or shaped noise, tapped through with the switch.<br><br> 4 Tape Scrubber: hold Down to record Audio In 1 for as long as you hold it, up to six seconds, then scrub through the take by moving the wand across a colour map, with a colour-controlled filter. Tap Down to switch between scrubbing, repeating one of sixteen slices, and sweeping the loop length down to a buzz. The take is stored lo-fi on purpose — 24kHz in eight companded bits — which is four times the length in the same memory, and sounds like cassette.<br><br> 5 Synesthesia Voice: a 1V/oct voice whose filter, wavefolder and decay follow the colour.<br><br> 6 Colour Organ: hue picks a note in a scale, as calibrated pitch CV, triggers and an organ tone.<br><br> 7 Jog Wheel: the same take runs as a loop and the wand sets its speed, from a nudge to a full shuttle into reverse, against a flywheel whose weight the colour controls. Tap Down for a motorless platter your hand drives entirely, or a brake that stops when you cover the sensor.<br><br> 8 Prism Voice: a sustaining voice with FM, sample-rate crush and filter on the three colours.<br><br><br>
Modes 9 to 14 are EFFECTS. They all take audio on Audio In 1 and return it on both audio outs, the three colours are the three controls, plus Main knob. Tap of Down rotates which colour does what.<br><br><br>
9 Colour Filter: patch audio into Audio In 1 and the wand holds all three filter controls at once — cutoff, resonance and a continuous low-pass to band-pass to high-pass walk — with drive on the Main knob and an envelope follower on the spare jacks.<br><br> 10 Delay: red is time, 10ms to 416ms, green feedback, blue mix. The time is smoothed and interpolated, so sweeping it bends the pitch of what is already in the line the way a tape delay does. Main is the tone of the feedback path; Pulse Out 1 clocks once per delay period.<br><br> 11 Reverb: eight damped combs into four allpass diffusers, retuned to 48kHz. Red is size, up to a 2.4s hall, green the brightness of the tail, blue mix. Main is pre-delay.<br><br> 12 Freeze: the last 426ms is always in the buffer. Hold Down and it stops writing, and three granular voices make a pad out of the moment that has just gone — red grain size, green pitch, blue density, and Main scatters the grains from an orderly stretch to a cloud. The hold LATCHES, so the wand hand is free, and the voices alternate between the two audio outs for width.<br><br> 13 Modulation: one LFO, with Main walking a six-stage phaser into a flanger into a chorus by crossfade rather than by switch. Red rate, green depth, blue feedback, and CV Out 2 carries the LFO.<br><br> 14 Mangle: no buffer at all. Red crushes bit depth and sample rate together, green folds, blue ring-modulates, and Main is the carrier pitch.<br><br><br>
Hold Down at power-on to calibrate: five captures, one per tap. Show it red, green, blue, white and black and it measures how much each gel leaks the other colours and un-mixes them, so blue reads as blue rather than as a grey lift on all three, then reports how well the gels separate, one LED to five. Show it white for the first four taps instead and it calibrates level alone — setting each channel's range and straightening its response, an LDR being a power-law device whose raw reading bunches up at the bright end. There is no mode to pick: white is the sum of the primaries, so the captures themselves say which calibration was meant. It is saved to flash and survives power-off.<br><br>
Two pages to open full-screen on whatever screen you are scanning, both in tools/ and both on the web — the calibration targets (https://uglifruit.github.io/WorkshopLightPen/tools/calibration-target.html) and nine colour maps (https://uglifruit.github.io/WorkshopLightPen/tools/colour-maps.html): the red/green field the tape scrubber was designed around, a hue sweep that plays as a rising scale, barcodes for the barcode reader, and saturated fields for the drone.
Install notes
Copy the UF2 onto the Computer's program card (RP2040 bootloader drive).
Version history
| Version | Date | Notes |
|---|---|---|
| 1.3.0 | 2026-09-26 | Version and date from the card's info.yaml. |