ESP32 Audio and IoT Board

The popular ESP32 controllers are used in thousands of IoT, Smart Home and other remote control projects out there. However, they have also a good I2S interface, which can output and input Audio digitally. Together with a I2S DAC, an I2S ADC and an SD card, many kinds of Audio projects will be possible. In this project we integrate all this, together with a nRF24 for data and audio transmission, on a solder-friendly PCB.
First Milestone: In the Circuit Special 2025, you find the first article about the Board, where Saad Imtiaz and me are presenting the block diagram, circuit diagram, the PCB and a first demo software: playing WAV files from a SD card. Pls find the software below.
Here you can find the Design Files of the PCB: https://github.com/ElektorLabs/Audio-Transceiver
Second Milestone: a wireless transmission of audio between 2 boards, with 32 kHz/16 bit mono (so, for stereo, you would have to build 2 transmitters and 2 receivers). In the September/October 2025 edition of Elektor, find a comprehensive article about the history of that project, issues I had to solve or still have to solve, and the hardware and software for sender and receiver. The demo software is available below.
Third Milestone: a wireless transmission of audio, with 32 kHz/16 bit stereo. Additionally, I equipped the receiver board with 2 nRf24 modules, listening on 2 different radio channels. With 2 transmitters sending out the same stereo stream on different radio channels, you have double reliability. It works: The receiver switches seamlessly between the channels when packets are late/missing. I will report on that in the November/December 2025 edition.
Forth Milestone (in progress, but not sure yet if it will work properly): Instead of 32 kHz/16 bit stereo, we send out 48 kHz/16 bit mono, plus a timestamp for each of the packets transmitted. Independant receivers can then synchronize themselves to the transmitter, so they are also in sync amongst themselves. This would be a solution for stereo issues, when you have one receiver for the left channel and one receiver for the right channel. I made the experience that even jumps of 150 µs in the time can cause problems.
Discussione (2 nota(e))