If you’re one of those people who got into building electronics for the purpose of making music, then this Raspberry Pi RP2040-based audio DSP project by [DatanoiseTV] might be of interest. Provided is a FreeRTOS template application for creating Eurorack compatible synthesizers, effects processors, and similar DSP-based audio widgets.
The hardware platform has the usual Eurorack connectivity, including MIDI in, Control Voltages (CV) and the usual 5V-compatible triggers. An audio output is provided to send the audio out to the system mixer or any other analog modules. Additionally, connections are provided for a rotary encoder, a few push buttons, and an OLED display to allow construction of a rudimentary user interface on the module, if that is required.
The application template is generic enough, however the project is intended to be used with the Vult DSP transcompiler. Vult is a high-level programming language designed to enable easy creation of audio synthesizers and similar, producing C++ code as an output of the compilation process. This is then wrapped up with the RTOS goodies (although you don’t actually need them) to drop onto the RP2040 in the usual way, via the handy USB-C port. So, if you’re looking to get into DSP-based Eurorack modules for your homebrew synth rack, this might be a good place to start.
Just like the RP2040 isn’t the most obvious choice for a DSP application, neither is the ESP32 for that matter, but who cares? many modern micros are more than capable of audio DSP these days, with or without the dedicated functionality.
11 thoughts on “A Simple RP2040-Based Audio DSP Board”
The RP2040 is talented: it is available. Damn, if only it was fast enough to bitbang USB2.0…
I hear complaining, but all I see is someone not creative enough with a UART
It has a DMA controller, so it may actually be possible. USB2 isn’t very fast except with large transfers.
It does HDMI/DVI which is impressive.
So perhaps with clever use.
But then again it has USB2 host and slave or is it only USB1?
“1 × USB 1.1 controller and PHY, with host and device support”
What about latency?
Currently 32 samples at 44100Hz.
DatanoiseTV here. I am planing to release a tiny (almost 100% pico compatible) version with on-board 32-bit audio codec:
Excellent project :-)
There is a huge followup now: https://github.com/DatanoiseTV/PicoADK-Hardware
Please be kind and respectful to help make the comments section excellent. (Comment Policy)