ESP32 audio development boards have been around ever since ESP32 boards were introduced starting with Espressif Systems’ own “ESP32-LyraTD-MSC Audio Mic HDK“, and now ESP32 hardware and software have been certified for Amazon Alexa Voice Services.
PICO DSP is another ESP32 development board for audio and digital signage processing (DSP) applications. Equipped with a Wolfson WM9878 stereo audio codec, the breadboard-friendly, Arduino compatible board includes two MEMS microphones, audio in and out jacks, a speaker header, plus other audio signals routed to a GPIO header.
- SiP – Espressif ESP32-PICO-D4 system-in-package with ESP32 dual-core WiFi 4 & BLE processor, 4MB SPI flash
- External storage/memory
- Original Edition – External 64 MB pseudo-static (PSRAM) chip, of which up to 8 MB is currently supported by ESP-IDF.
- Strawberry Edition – 16 MB of external NOR flash (note: the internal 4MB SPI flash will not be usable after selecting the NOR flash through eFUSE)
- 2.4 GHz Wi-Fi 802.11 b/g/n
- Bluetooth BLE 4.2
- 3D antenna
- Wolfson WM9878 Stereo Audio Codec
- 3.5mm stereo Line In jack
- 3.5mm stereo line out jack
- Stereo Aux Line In, Audio Mono Out routed to GPIO header (bottom of the board)
- 1W speaker driver routed to GPIO header (top of the board)
- 2x Knowles SPM0687LR5H-1 MEMS microphones configurable as broadside or end-fire beam-forming microphone arrays
- ESD protection on all audio inputs and outputs
- Support for 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, and 48 kHz sample rates
- USB – USB 2.0 Type-C port
- Expansion – 11-pin GPIO header with 2.54mm pitch giving access to ESP32 ADC, JTAG, and capacitive touch signals, plus audio signals listed in the Audio section
- Power Supply
- 3.7/4.2 V rechargeable Lithium-Polymer battery or external 5 V power via USB
- Power consumption
- Normal: 100 mA with Wi-Fi off and mics active while running audio DSP code
- Standby: 52.4 mA with the audio codec in standby mode
- Low-power: 5.7 mA with the audio codec in standby and the ESP32 in deep sleep mode
- Battery voltage-level detection
- ESD protection on the USB data bus
- Dimensions – 70 x 24 mm
The PICO DSP can be programmed in C/C++ using Arduino IDE, Espressif IDF, or the open-source PlatformIO IDE extension for VS Code, and flash with the usual esptool.py tool. The company behind the project, Ohmic, has released the PDF schematics and over time, several code samples will become available on Github, including:
- Configuring the audio codec and testing it with an oscillator (Arduino)
- An Internet-radio application (Arduino)
- A Faust DSP instrument example (Arduino IDE and ESP-IDF)
- Configuring the microphone pickup pattern using Faust DSP (Arduino IDE and ESP-IDF)
- Integrating OTA firmware update functionality with Faust DSP (Arduino IDE)
Note the original version of the board is recommended for most people, and that’s the one used to test the code samples, while the “Strawberry Edition” is more experimental for people needing extra storage capacity. Note while the comparison table above shows only PICO DSP comes with a microphone array, Espressif Systems has an ESP32-S3 board with a two mic-array used internally, but that may be soon released to the general public.
You’ll find more about the board and what it sounds like in the video below.
Ohmic has launched the PICO DSP board on Crowd Supply with a $9,000 funding goal. Both the early bird PICO DSP Original & Strawberry Edition rewards are offered for $29 in limited quantities, after which the price goes up to $39. There’s also a $129 reward that includes PICO DSP with a Eurorack modular synthesizer instrument interface. Shipping adds $8 to the US and $18 to the rest of the world with availability expected in May 2022.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Are there any plans to add an sdcard to this board and support esp-adf framework? Would love to switch using to this board instead of the LyraT 4.3 board which has some hardware issue.