Skip to content

Sampling from the ESP32 ADC using I2S with DMA.

Notifications You must be signed in to change notification settings

dpmj/esp32_adc_i2s_dma_sampling

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 

Repository files navigation

ESP32 Fast Sampling experiments

Forked from atomic14/esp32_audio

This project only modifies and uses the i2s_sampling scripts from the original repo.

i2s_sampling

This project handles both analogue devices (such as the MAX4466 and the MAX9814) and I2S devices (such as the SPH0645 and INMP441). This project demonstrates how to use the I2S peripheral for high-speed sampling using DMA to transfer samples directly to RAM. We can read these samples from the internal ADC or from the I2S peripheral directly.

The current set of pin assignment in the code are:

ADC

Function GPIO Pin Notes
Analogue input GPIO35 ADC_UNIT_1, ADC1_CHANNEL_7

I2S

Function GPIO Pin Notes
bck_io_num GPIO_NUM_32 I2S - Serial clock
ws_io_num GPIO_NUM_25 I2S - LRCLK - left right clock
data_in_num GPIO_NUM_33 I2S - Serial data

About

Sampling from the ESP32 ADC using I2S with DMA.

Topics

Resources

Stars

Watchers

Forks

Languages

  • C++ 99.1%
  • C 0.9%