Super flexible and versatile Audio DSP FX Processor – eeNews project focus

Super flexible and versatile Audio DSP FX Processor – eeNews project focus

Feature articles |
By Wisse Hettinga

An ESP32-Pico-Kit with ADAU1701 as high-quality I²S audio codec with built-in audio DSP core – by Clemens Valens/Elektor labs

From the website:

Basically, the Audio DSP FX Processor board is an ESP32 microcontroller with high-quality audio in- and outputs added to it. Basically, as it has much more to offer than just that. What sets the Audio DSP FX Processor apart from other, somewhat similar (on first sight) boards is that the audio codec (from COder/DECoder, in other words, the ADC & DAC) integrates a DSP capable of processing audio all by itself. This handy feature makes the board not only powerful, but also super flexible and versatile.


    • ADAU1701 28-/56-bit, 50 MIPS digital audio processor supporting sampling rates of up to 192 kHz.
    • ESP32-PICO-D4 32-bit dual-core microcontroller with Wi-Fi 802.11b/g/n and Bluetooth 4.2 BR/EDR and BLE
    • 2× 24-bit audio inputs (2 VRMS, 20 kΩ)
    • 4× 24-bit audio outputs (0.9 VRMS, 600 Ω)
    • 4× control potentiometer
    • MIDI in- and output
    • I²C expansion port
    • Multi-mode operation
    • Power supply: 5 VDC USB or 7.5 VDC – 12 VDC (barrel jack, center pin is GND) 


    • Bluetooth/Wi-Fi audio sink (e.g., loudspeaker) & source
    • Guitar effect pedal (stomp box)
    • Music synthesizer
    • Sound/function generator
    • Programmable cross-over filter for loudspeakers
    • Advanced audio effects processor (reverb, pitch shifting, etc.)
    • Internet-connected audio device
    • DSP experimentation platform
    • Wireless MIDI
    • MIDI to CV or vice versa
    • Etc.

Circuit Overview

The functional block diagram shows two main blocks, the ESP32 and the ADAU1701 connected to each other with multiple buses. In the center, we find the I²S bus for transporting audio signals between the two processors. If the DSP takes care of all the audio processing, this bus is not used. 

The I²C bus allows controlling the DSP from another processor like the ESP32 or an Arduino UNO connected to the extension port. The DSP can use SPI for this too, but we chose I²C.

This bus is also available for reading from or writing to the EEPROM. As an example, when the ADAU1701 is in what is called Selfboot mode, it expects its program to be stored in this EEPROM. The ESP32 can load the EEPROM with a DSP program received from another computer, wirelessly or over USB.

The fourth bus runs from the ESP32 to the DSP and is for analog signals that can be used inside the DSP to control parameters of DSP algorithm blocks. This bus has four channels.

The audio I/O bus consist of two input channels and four output channels. The outputs are filtered by either passive or active filters, the inputs are filtered inside the DSP.

Besides the signals mentioned thus far, the ESP32 also features a USB-to-serial converter and a MIDI input (optically isolated) and a MIDI output. Up to four potentiometers are available for either controlling the DSP or for some other purpose.

Last but not least, the ESP32 has a radio for Wi-Fi and Bluetooth communication, symbolized by the antenna symbol.


Find all the specs and diagrams at

If you enjoyed this article, you will like the following ones: don't miss them by subscribing to :    eeNews on Google News


Linked Articles