The DS-Pi is an open-source RP2040-based audio digital signal processing platform that can be used to perform filtering and other DSP processes on audio inputs and outputs.

Before diving further, I have to thank JLCPCB for sponsoring this project. They have been a crucial part of the process by enabling me rapid prototype without any compromises in quality. All of the PCBAs related to this project were prototyped and assembled by them.  I highly recommend them as they are high quality, cost, and time-efficient, if you do intend to design and build any boards of your own.

What is it

The DS-Pi leverages the low-cost and highly accessible platform that is the RP2040 with a powerful audio codec from Texas Instruments, the TLV320AIC3254.

The RP2040 is compatible with Arduino, Micropython, and CircuitPython which makes it accessible to all tinkerers with an interest in audio signal processing.

Key Features;

  • Raspberry Pi RP2040 Microcontroller
  • TI TLV320AIC3254, Very Low-Power Stereo Audio CODEC with programmable miniDSP
  • On-board MAX97220BETE+T Headphone Amplifier
  • 3.5mm connectors for inputs and outputs as well as screw terminals for rapid prototyping
  • Fully functional header outputs - same as Pi Pico

Use cases

Guitar FX

Standing on the shoulders of giants, one of the aims of this project is to make the platform fully compatible with the work that Blackaddr has worked on for the Teensy platform. While there might be some limitations with hardware, the dual-core M0s on the RP2040 should be able to cope with some interesting processing.

Customizable Guitar Amp Modeler (WIP)

Driven by a personal interest/need, this platform could be used for bedroom guitarist who wants to jam into the wee hours of the evening with their headphones and hopefully an amp model that they can customize.

Specification

  • Microcontroller | RP2040
    • Processor | Dual-core ARM Cortex M0+ processor, flexible clock running up to 133 MHz
    • FLASH | 4MB
    • Programming | Drag & drop over USB or Serial Wire Debug (SWD)
    • I/Os | 2×SPI, 2×I2C, 2×UART, 3×12-bit ADC, 16×controllable PWM channels
    • 8×Programmable IO (PIO) state machines for custom peripheral support
  • Audio Codec | TLV320AIC3254
  • Connectors
    • MicroUSB | Programming/UART
    • Microphone Input | 2x Screw Terminals
    • Headphone Input & Output | 1x 4-Conductor 3.5mm Female & Screw Terminal
    • Line Out | 1x 3-Conductor 3.5mm Female & Screw Terminal
    • PWM Out | 1x 3-Conductor 3.5mm Female & Screw Terminal
    • Headers | 2x Headers featuring standard pinouts from Raspberry Pi Pico
  • Power | 1A 3.3V LDO - AMS1117
  • Mounting Options | 3x M.2.Screws