DSPi turns a $4 RP2040/RP2350 Pico into a USB sound card with parametric EQ, active crossovers, room correction, and subwoofer output.
Key Takeaways
RP2350 (Pico 2) supports 11 channels, 110 EQ bands, hardware FPU with hybrid SVF/biquad filters, and 4 stereo S/PDIF or I2S output slots; RP2040 gets 7 channels and 70 bands via hand-optimized ARM assembly at Q28 fixed-point.
Signal chain covers per-channel preamp, master EQ, RMS volume leveller with 10ms lookahead, BS2B headphone crossfeed with ITD, ISO 226:2003 loudness compensation, matrix mixer, per-output EQ, and up to 85ms time alignment delay.
Both cores are used for EQ processing; clock is fixed at 307.2 MHz with a slight core voltage bump to 1.15V; PIO dividers are integer at all supported sample rates (44.1, 48, 96 kHz).
PDM subwoofer output uses a 2nd-order delta-sigma modulator, eliminating the need for a second DAC in active crossover builds.
10-slot preset system, runtime GPIO reassignment, and firmware update via USB vendor command with no physical BOOTSEL press required.
Hacker News Comment Review
Commenters highlighted CamillaDSP as the established software alternative for Pi-based room correction with FIR filters and UMIK-1 mic measurement, useful context for evaluating DSPi’s simpler parametric-only approach.
The hardware wiring gap is a real friction point: no audio output ports on the Pico means builders need DAC breakout boards, and the README lacks a beginner wiring tutorial.
ARM assembly reviewers spotted dead-register inefficiencies in hot loops, suggesting the hand-optimized code has room for further tightening.
Notable Comments
@dmitrygr: Specific dead-register assembly optimization identified in hot loop: three instructions collapsible to two with no flag side effects.
@lysace: Notes 264/520 kB RAM is borderline sufficient for 3-6 seconds of reverb delay buffer; calls for larger RAM in future RP iterations.