01
Overview
Three rows, one per slot, running top to bottom as a series chain. Each row holds one active effect drawn from a shared library of nine. Audio is 48 kHz, 24-sample blocks, stereo in and out.
The panel exposes just two controls per effect: a depth and a parameter pot per row, one button to change that row's effect, and gestures for muting, automation, and recording. Everything about which effects are loaded, in what order, and how each one is tuned lives in the web programmer.
The firmware always boots bypassed. Every row's depth pot is parked at its effect's off corner on boot, so no audio flows until you physically move a pot through its catch position. The rack itself is restored from the first preset slot at power-up.
02
Signal flow
Stereo input enters the first row, runs through the second, then the third, and exits stereo. The order the rows run in is part of the rack: rearrange it in the programmer and it travels with the preset.
Each row has two parallel effect channels internally: a live channel running the current effect, and a carry-over tail channel that holds the previous effect while it is still ringing out. The two sum into the row's output, so a swap never chops a tail mid-decay.
A row is bypassed when its depth pot sits at neutral. Bypass is true bypass, and it is soft: the live effect continues to process but contributes nothing until the pot moves through its catch position. Once a tail's envelope falls below −80 dBFS for about 150 ms, the tail channel itself bypasses to save cycles.
03
The rack
A row is not locked to a fixed list. You place up to six entries in each of the three rows, drawn from the same library of nine effects, and the row's button steps through the entries you placed. A row can hold one effect or six, and the same effect can appear in more than one row.
Beyond depth and parameter, every effect exposes its own settings: filter slopes and drive, feedback ceilings, grid divisions and swing, tone and dither. Those are set in the programmer, not on the panel, and they are stored per entry. Two Choppers in the same row can carry different grids.
A preset holds the whole rack: which effects are loaded in each row, the order the rows run in, every effect's settings, and the module's brightness. The module never saves on its own, so an arrangement you did not store is gone at power-down.
04
The effects
Nine effects, all available to every row. The depth and parameter names below are what each effect assigns to the row's two pots; the settings after them are the per-entry controls you set in the programmer.
DJ FilterDepth: Cutoff. Param: Resonance.Cyan
Andrew Simper TPT state-variable filter, bipolar depth: noon bypasses, CCW sweeps a lowpass down toward the LP Floor, CW sweeps a highpass up toward the HP Ceiling. Param sets resonance Q, topping out wherever Max Resonance is set.
Settings Max Resonance 2 to 12 Q, Slope (Gentle / Steep), LP Floor 30 to 960 Hz, HP Ceiling 281 Hz to 18 kHz.
RiserDepth: Depth. Param: Rate.Orange
Additive Shepard-style rise (~120 kB of inline state). Direction flips it to a fall. Has a tail.
Settings Comb Resonance 0.5 to 0.95, Air Mix, Duck Amount, Tail Feedback 0.3 to 0.9, Input Drive 0 to 100 %, Direction (Up / Down).
Bit CrushDepth: Intensity. Param: Character.Yellow-green
Depth controls intensity; param tilts character from warm sample-rate reduction toward digital bit-depth crush. Bit Floor and SRR Ceiling set how far each end of that tilt travels.
Settings Bit Floor 2 to 8 bit, SRR Ceiling 4 to 32 x, Dither 0 to 2 LSB, Alias Filter 450 Hz to 14.4 kHz, Tone 1.25 to 20 kHz, Dry Level 0 to 80 %.
PhaserDepth: Depth. Param: Rate.Amber
Delay-line Schroeder all-pass (50 ms at 48 kHz) with an LFO modulating notches. Depth controls intensity; param sets LFO rate up to Max Rate. Pulsing ring.
Settings Feedback Ceiling 0.3 to 0.75, Sweep Width 0 to 100 %, Center 150 Hz to 2.4 kHz, Max Rate 1.875 to 30 Hz, Sweep Tracking 0 to 100 %.
SpaceDepth: Wet. Param: Decay.Aqua
Freeverb-style stereo reverb (~130 kB SDRAM pool per instance). Depth is wet send; param sets decay, running from a short room up to whatever Decay Ceiling and Room Size allow. Has a tail.
Settings Damping, Wet Level, Decay Ceiling 0.8 to 0.99, Wet Low Cut 0 to 760 Hz, Dry Duck 0 to 100 %, Room Size 0.5 to 1.5 x.
DJ EchoDepth: Send. Param: Time.Hot pink
Clean stereo delay with cross-feeding feedback (~1 MB SDRAM pool per instance). Depth is throw; param sets time up to Max Time. Ping-Pong sets how far the repeats alternate across the field, and Time Sync locks the time to the clock. Has a tail.
Settings Feedback 0.5 to 0.95, Tone 1 to 12 kHz, Ping-Pong, Time Sync (Free / Synced), Max Time 400 to 2400 ms.
ChopperDepth: Rate. Param: Duty.Hot orange
Clock-synced gate. Depth steps through rate zones from bypass down through the divisions; param shapes duty cycle from stutter to pump. Gate Floor sets how far the gate actually closes, so it can duck rather than cut. Custom depth-ring renderer.
Settings Gate Floor 0 to 0.5, Grid (Straight / Triplet / Dotted / Half / Double), Pattern Rotate 0 to 100 %, Swing 50 to 75 %.
Beat RepeatDepth: Length. Param: Pitch.Acid green
Always recording a 5.4-second stereo lookback ring (262,144 samples at 48 kHz). Depth steps through slice lengths from bypass down through the divisions. Param is bipolar varispeed with a detent at noon, reaching Pitch Span semitones to either side.
Settings Pitch Span 1 to 24 st, Direction (Forward / Reverse / Alternate), Grid (Straight / Triplet / Dotted), Dry Level 0 to 60 %.
Reverse / SlowDepth: Speed. Param: Spring.Blue-indigo
Singleton 32 MB int16 stereo ring buffer covering ~174.76 seconds (2 min 55 s) at 48 kHz, continuously recording. Depth is bipolar around a unity-speed detent at ~0.667 (two o'clock). Moving CCW from the detent crosses a brake zone at ~0.256 (vinyl stop, 0x) and continues quadratically down to full reverse, as far as Max Reverse allows. Moving CW accelerates up to Max Catch-Up. Param sets a spring target the playback head settles toward, and Speed Inertia sets how fast it gets there.
Settings Speed Inertia 1 to 50 ms, Max Catch-Up 1.5 to 4 x, Homing 0 to 3 x, Max Reverse 1 to 4 x, Live Blend 0 to 60 %.
Beat Repeat and Reverse / Slow run continuously even while their row is bypassed (they are always recording); the others are dormant until engaged. A tenth library entry, None, leaves a row empty.
05
Changing a row's effect
The button between a row's two pots steps that row to its next effect, advancing forward through the entries you placed and wrapping at the end. B1 is the top row, B2 the middle, B3 the bottom.
On a change, the LED ring around the row's depth pot retints to the new effect's accent immediately. The new effect comes online live but parked at its off corner with pot-catch re-armed: no audio comes through until your physical pot crosses that parked value.
Simultaneously, the outgoing effect moves into the row's carry-over tail channel and rings out additively against the new live effect. Once the tail's envelope falls below the silence floor for ~150 ms, the tail channel bypasses itself.
Parameter locks for that row are cleared on every change.
06
Pot catch
Pot catch prevents jumps in depth when a row's physical pot disagrees with the firmware's stored value. The pot stays uncaught until your hand crosses the stored value (or lands within ~0.5 % of travel).
Catch arms on three events: boot, an effect change, and panic mute. In all three the depth pot is parked at the current effect's off corner, so the row is silent until you catch it. For most effects the off corner is fully CCW. Reverse / Slow is the exception: its parked corner is the unity detent at ~0.667. While uncaught the ring shows a bright catch pip at the stored value so you can see where to move to.
07
Panic mute
Pressing any two row buttons together, or pulsing J8 high, bypasses all three rows at once. This is the reliable way to drop. The trigger is instant: there is no hold-time requirement. The condition releases when both buttons (and J8) are below threshold.
Panic mute parks all six pots at their effects' off corners and clears all parameter locks. Pot catch re-arms on every row.
J8 is treated as a level-sensitive gate (default low / high thresholds 0.55 / 0.65), not an edge trigger: the bypass holds while the gate is high.
08
Parameter lock
Hold B1 and nudge any pot half a percent of its travel to record its motion. Recording starts as soon as you move, and the loop is anchored where the knob sat before the nudge; release the pot and it replays continuously on top of the pot's stored position, added to the physical knob rather than replacing it. The loop is about sixteen seconds long.
The pip at the bottom of the ring is solid red while a lock records and blinks red while it plays. Repeat the gesture on that pot to clear it. Changing a row's effect clears the locks on that row's two pots and leaves the other rows playing; the two-button mute and a preset reload clear every lock.
B1 is the lock button, so a lock recorded while B1 is held does not also step the top row when you let go.
09
Presets and the settings menu
Holding B2 and B3 together for two seconds opens the settings menu: LED brightness, the preset slot, and a save or load hold. Either button leaves it.
There are sixteen preset slots, and the first one restores at power-up. A preset holds the whole rack: which effects are loaded in each row, the order the rows run in, every effect's settings, and the module's brightness.
Saving and loading is a hold on the settings menu's action pot, or a click in the programmer. The module never saves on its own, so an arrangement you did not store is gone at power-down. If you have been editing the rack in the browser, save it to a slot before you unplug.
10
Recording
Hold B3 for about a second to start recording the module's final stereo output to the SD card as a WAV file. B3 blinks red while a take is running. Hold B3 again to stop. Takes land at the root of the card as REC0001.WAV, REC0002.WAV, and so on.
The card must be FAT32-formatted. Cards 32 GB and smaller usually ship FAT32; larger cards typically need to be reformatted.
Connect the module to the programmer and the same card is browsable: you can pull takes off it without opening the case. It is rather bandwidth limited, but it can still be faster than extracting the card from inside a rack.
11
Clock and reset
J4 is the clock input, 24 PPQN, gate-style thresholds (0.55 / 0.65). With no clock patched, the internal clock free-runs at 120 BPM.
J6 is reset. A rising edge on J6 snaps the firmware's MusicalClock NCO to the downbeat (master tick = 0) and re-anchors the PI-PLL's phase reference. Chopper and Beat Repeat read the global bar phase each frame, so they automatically realign on the next clock tick. Patching a sequencer's reset keeps sliced effects aligned to the bar.
Chopper and Beat Repeat are tempo-synced, and DJ Echo can be with its Time Sync setting. DJ Filter, Bit Crush, Riser, Reverse / Slow, Phaser, and Space free-run independently of clock state.
12
CV routing
Six CV jacks. Routing is fixed at the firmware level: there is no CV matrix to reconfigure.
J3, J5, J7. Per-row bipolar depth CV for the top, middle, and bottom rows. They are bipolar around wherever the pot sits, so a full ±5 V swing moves depth up or down by about half its travel. Pot-catch still applies: the pot has to physically cross its stored value before it takes over.
J4. Clock input, 24 PPQN. Drives Chopper, Beat Repeat, and a synced DJ Echo.
J6. Reset. Snaps the MusicalClock NCO to the downbeat.
J8. Panic mute gate, level-sensitive. High bypasses all three rows and re-arms pot catch.
13
Hardware
For panel anatomy, jack electrical specs, calibration, and bootloader, see the Alchemy Lab hardware manual.