Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/claudemarais/audiorecording_esp32-c3

An example of recording audio onto a MicroSD card, using an INMP441 microphone and a XIAO ESP32-C3
https://github.com/claudemarais/audiorecording_esp32-c3

arduino audio esp32 esp32-c3 i2s i2s-microphone inmp441 microphone microsd sound xiao-esp32-c3

Last synced: 17 days ago
JSON representation

An example of recording audio onto a MicroSD card, using an INMP441 microphone and a XIAO ESP32-C3

Awesome Lists containing this project

README

        

# AudioRecording_ESP32-C3
An example of recording audio onto a MicroSD card, using an INMP441 microphone and a XIAO ESP32-C3

Since the values for i2s.dma_buf_count and i2s.dma_buf_len can be somewhat of a mystery, in this
example they are calculated automatically to use the least amount of DMA memory given your preference for
latency and CPU interrupts.

With a low latency setup, the DMA will interrupt the CPU more frequently, but use less DMA memory.
With a high latency setup, the DMA will interrupt the CPU less frequently, but use more DMA memory.

For example, this code includes test calculations in a fixed for-loop. With a very low latency setup, the
loop takes 12225 ms to complete, compared to ony 12027 ms on a high latency setup. A very measurable difference.

See this excellent video: https://youtu.be/ejyt-kWmys8?si=oVVuLGKX63CKpm2t

Note, the I2S pins for the XIAO ESP32-C3 isn't well documented, had to find the info searching through forums

Specifically for XIAO ESP32-C3

DO = WS / LRC / LCK

D1 = SCK / BCLK / BCK

D2 = SD / DIN / DATA