In this video, we record audio to an SD Card as a WAV file and then play it back.

If you like ESP32 audio videos - I’ve got a complete set on this playlist:

I’m using an I2S microphone in the video which I’ve set up to use DMA to collect the samples. These are streamed straight to the SD Card and we create the WAV file header so that it’s a valid file.

For playback, I’m using an I2S 3W amplifier board from Adafruit. This is connected to a 4ohm speaker. Once again we use DMA to transfer the samples which are streamed from the SD Card.

You should be able to modify the code to use the built-in ADC and an analogue microphone board, and you can modify the code to output using the DAC which would let you wire this up to headphones or an analogue amplifier.

[0:55] SD Card to SPI Wiring Diagram [1:11] Soldering up an SD Card adaptor [1:30] Getting it working [2:27] Demo [2:50] Looking at the WAV file on our PC [3:22] Conclusions and wrap up

As always the code is on GitHub:

I2S Amplifier MAX98357 - TinyPico - or ESP32 Dev board: INMP441 I2S Microphone: or ICS-43434 I2S Microphone:

I think I might turn this into a nice little voice memo device.

Patreon: ko-fi: