Page 1 of 1

I2S BUILT-IN ADC vs Common ADC + reading 2 channels

Posted: Mon Aug 26, 2019 3:47 am
by felipjims
Hi,

Basically, I have a project that I need to acquire two signals of 20kHz each for 5 seconds and send it via wifi.

Initially I was considering using common ESP's ADC, but after some research, I found that the max sampling rate of ESP32 is only 6kHz (6ksps) and above frequencies are not reliable, is that correct? What is the max frequency I can read reliable data from ESP ADC? (Remembering I need 2 channels).

Then I started to think in using a external ADC (with higher sampling rate). When I discovered the ESP's I2S built-in ADC and here are the questions.
1.So far I only found examples that read only one channel built-in ADC (i2s_adc_dac). Is it possible to use I2S built-in ADC function to read more than one channel (in the same task)?
2.If it is possible, what are the changes I would need to do comparing to the example (i2s_adc_dac)?
3.In camera receiving mode, when I attach the dataIn[0-15] to pins setting I/O Mux and Matrix I/O, each ADC pin read only 1 bit? I don't know exctly how cameras work.

Of course, if someone had any question or suggestion, please feel free to ask me.

Thank you in advance.

Felipe.