Ohmic Limited
Audio & Music
ESP32

PÚCA DSP

An open-source, Arduino-compatible, ESP32-based audio development board

$9,390 raised

of $9,000 goal

104% Funded! Order Below

In stock. Order now, ships within three business days.

$45 - $150

View Purchasing Options

Recent Updates

You'll be notified about news and stock updates for this project.

This project was originally published under the name PICO DSP.

PÚCA DSP is an open-source, Arduino-compatible ESP32 development board for audio and digital signal processing (DSP) applications. It offers an expansive audio-processing feature set on a small-format, breadboard-friendly device that provides audio inputs, audio outputs, a low-noise microphone array, an integrated test-speaker option, additional memory, battery-charge management, and ESD protection all on one tiny PCB.

Synthesizers, Installations, Voice UI, and More

PÚCA DSP can be used for a wide range of DSP applications, including but not limited to those in the fields of music, art, creative technology, and adaptive technology. Music-related examples include digital-music synthesis, mobile recording, Bluetooth speakers, wireless line-level directional microphones, and the design of smart musical instruments. Art-related examples include acoustic sensor networks, sound-art installations, and Internet-radio applications. Examples related to creative and adaptive technology include voice user interface (VUI) design and Web audio for the Internet of Sounds.

Compact, Integrated Design

PÚCA DSP was designed for portability. When used with an external 3.7 V rechargeable battery, it can be deployed almost anywhere or integrated into just about any device, instrument, or installation. Its design emerged from months of experimentation with various ESP32 development boards, DAC breakout boards, ADC breakout boards, Microphone breakout boards, and audio-connector breakout boards, and—despite its diminutive size—it manages to provide all of that functionality in a single board. And it dos so without compromising signal quality.

Features & Specifications

Processor & Memory

Audio

Form Factor & Connectivity

Power

Pinout Diagram

Click to expand

Comparisons

PÚCA DSP OriginalPÚCA DSP Strawberry EditionTinyPICO CollectionESP32-PICO Kit CollectionTTGO T-AudioAI Thinker A1SLyraT MiniWVR
ESP32 IC PICO-D4 PICO-D4 PICO-D4 PICO-D4 Wrover-B Wrover-B Wrover-B Wrover-B
Additional BoardsNone None VS1053 & 2x ICS 40180 WM8371 Codec & 2x SPW2430 None None None None
Compactness70 x 24 mm 70 x 24 mm Four boards Four boards 70 x 70 mm 64 x 58 mm 77 x 72 mm 55 x 26 mm
Flash Memory4 MB 16 MB 4 MB 4 MB 4 MB 4 MB 8 MB 4 MB
PSRAM8 MB 0 MB 8 MB 0 MB 8 MB 8 MB 8 MB 8 MB + 8 GB ECC
Open SourceYes Yes Yes No Schematic only No Schematic only Yes
Audio InGPIO only
Audio Out
Mic Array
Breadboard
Battery Powered
Price$34 $34 $61 $39 $18 $25 $22 $30

Editions & Memory

On the back of the PÚCA DSP PCB, there is room for one external memory IC. We are offering two different models of this board, and they differ only by the type and amount of memory they provide by means of this socket.

The "Original Edition"

This model utilizes the internal ESP32 PICO 4 MB Flash memory and an external 64 MB pseudo-static (PSRAM) chip, of which up to 8 MB is currently supported by ESP-IDF. The PSRAM can be made available by enabling various options in the configuration menu in ESP-IDF, PlatformIO, or Arduino. See the Espressif documentation for more information on using external RAM with ESP32.

The "Strawberry Edition"

PÚCA DSP Strawberry edition

This model has 16 MB of external NOR Flash instead of the PSRAM described above. The EFUSES in the ESP32 are burnt with a new flash CS pin configuration, and the 2nd-stage bootloader will load the partition table and the main application image from the 16 MB external Flash memory. The EFUSES can be burnt only once. With this configuration, you will be unable to revert back to using the internal 4 MB Flash with PSRAM.

What’s the Difference?

The Strawberry Edition is a more experimental hardware configuration that is intended for more experienced developers who are familiar with the memory requirements of their application and who know that they need more than the 4 MB provided by the ESP32 PICO D4. In addition, the two models provide different types of memory. Depending on the firmware application, NOR Flash might be more appropriate than PSRAM or vice versa. (Your application might require a certain read/write speed, for example.) See the Espressif documentation for more information on ESP32 memory.

How do I Know Which One to Choose?

For new users who are looking to get started with audio programming on ESP32 and are using Arduino IDE for programming, we recommend the Original Edition. The same is true if you do not know the size requirements of your application. All of the sample code in our GitHub repository was written using the Original Edition, and all of the examples have additional memory available for use. You can write many applications using this memory configuration.

PÚCA DSP With a Eurorack Expansion Module

The Original and Strawberry Editions have a big sister, as well. It combines PÚCA DSP with an Expansion Module to create a user-programmable, multi-functional, networked synthesis module for the Eurorack Format. The Eurorack Expansion Module is 6 HP and can draw power from a Eurorack Power Supply. When powering your PÚCA DSP this way, you can program it using either USB or over the air (OTA). You can also remove the PÚCA DSP board for development and slot it back into the Expansion Module when you’re done programming. Any PÚCA DSP board can be slotted neatly into the back of the Eurorack Expansion Module using stackable headers. Like our other modules, it includes reverse polarity protection and overcurrent protection as standard.

The Eurorack Expansion Module is just one example of how PÚCA DSP can be integrated into a larger application or instrument. You can find its schematics and PCB design files in our GitHub repository.

Development Environments & Programming

PÚCA DSP can be programmed in C/C++ using Arduino IDE, Espressif IDF, or the open-source PlatformIO IDE extension for VS Code, which allows for combinations of development environments. You can flash it using Esptool.py.

Click to expand

During the campaign, to help you get started straight away, we will publish sample code for Arduino, Arduino-ESP32, and ESP-IDF in our GitHub repository. Examples will include:

What Does It Sound Like?

Above is a short audio clip of a Faust DSP patch running on PÚCA DSP. The PCB design has separate analog and digital regulators as well as separate analog and digital ground planes to ensure low noise and signal integrity.

The Microphone Array

PÚCA DSP has two Knowles SPM0687LR5H-1 MEMS microphones that are routed in a differential configuration to the left and right microphone inputs of the codec. The distance between the microphones on the PCB is related to the minimum delay time of a single sample for a sampling rate (fs) of 48 kHz, and the speed of sound in air, making it possible to adjust the microphone pickup pattern using DSP algorithms.

The audio clip below was made using the microphones in a broadside array configuration:

GPIO Selection & JTAG Debugging

PÚCA DSP’s GPIOs are carefully selected to allow access to ESP32 peripherals, including ADC1, ADC2, RTC, Capacitive Touch, and JTAG for debugging. Some of the pins from the audio codec—including Mono output, Auxiliary L & R inputs, and 1 W speaker outputs—are broken out as well.

On the final production board, both analog and digital 3.3 V regulator outputs will be broken out to GPIO so they can be used for peripherals integration. The analog 3.3 V pin can be used for low-noise analog applications, for example, such as connecting a potentiometer to the ADC inputs of the ESP32. The digital 3.3 V pin can be used to connect digital peripherals such as I²C temperature sensors.

Open Source

PÚCA DSP is an open-source project released under the CERN Open Hardware License v 1.2. We believe strongly in the benefits of open-source design, and if you are reading this, we hope you will contribute to the project! Our goal is to create a reliable development board for audio applications and to provide all of the necessary documentation for it. There are unexplored applications for this hardware, and we invite you to help us find them!

What’s the Best Way to Get Involved?

We have squeezed as much hardware functionality as possible into PÚCA DSP. Due to its compact form factor and reliance on small-pitch SMD components, it is relatively advanced in terms of hardware development, and we are not seeking contributions on the hardware front. We are publishing our schematic and PCB design files primarily for transparency and reference purposes—so that you can trace the signal routing—and to support your Right to Repair. This level of transparency allows us to push back against recent trends toward planned obsolescence while simultaneously paying our respects to the many open-source projects (such as Unexpected maker’s TinyPICO) that have inspired and informed PÚCA DSP.

There is, however, a great deal of unexplored territory in the realms of firmware and software! Examples might include the development of an architecture for switching between different DSP classes, a REST API, a MicroPython DSP architecture, or a voice-to-speech application. The sample code in our GitHub repository—such as the microphone-array examples—are intended as starting points for further application development.

Support & Documentation

When crowdfunding goes live, we will make all of our hardware design files and sample firmware applications available in our GitHub repository. As we progress through the campaign, we will take a closer look at various aspects of the PÚCA DSP hardware design and share insights through weekly updates. If you have any questions at all, please reach out using the Ask a technical question form on our campaign page.

About the Developer

PÚCA DSP was designed by electronic engineer Andy Wilson. Previous to this project, Andy worked as a professional audio developer and collaborator with Mindflood, Ltd. / Patchblocks (Minijam Studio, PBMIX3, and the Patchblocks Eurorack Module). He also worked as an electronic engineer for IoT applications with Wia Technologies, Ltd.

One More Thing…

Lastly, we intend to make a contribution to MASI, the Movement of Asylum Seekers in Ireland, to support their work to end Direct Provision in Ireland. You can find out more about MASI’s work and support it via a direct donation at https://www.masi.ie.

In the Press

CNX Software

"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."

Hackster News

"Built around an Espressif ESP32 PICO D4, the board comes with a choice of 4MB of flash and 8MB PSRAM or 16MB of flash."


Ask a Question

Produced by Ohmic Limited in Dublin, Ireland.

Sold and shipped by Crowd Supply.

PÚCA DSP Original Edition

A PÚCA DSP board with 4 MB of flash memory and 8 MB PSRAM. Ships with unsoldered male pin headers, a JST battery connector, and a test firmware application installed.

$45 $8 US Shipping / $18 Worldwide

PÚCA DSP Strawberry Edition

A PÚCA DSP board with 16 MB of external flash. Ships with unsoldered male pin headers, a JST battery connector, and a test firmware application installed. Intended for advanced users.

$45 $8 US Shipping / $18 Worldwide

PÚCA DSP With Eurorack Expansion Module

An Original or Strawberry Edition PÚCA DSP with a Eurorack modular synthesizer instrument interface. Ships with a Eurorack power cable and a sample oscillator firmware application pre-installed

$150 $8 US Shipping / $18 Worldwide

About the Team

Ohmic Limited

 · 

Experimental audio design & practice

Andy Wilson

See Also

Subscribe to the Crowd Supply newsletter, highlighting the latest creators and projects