Page 1 of 3

ADC speed?

Posted: Mon Jan 30, 2017 2:17 pm
by vbastani
I am interested to know more about the ADC speed but I couldn't find it. I would like to know:
  • what is the maximum speed (sample per second) of the ADC? or what is the speed vs accuracy trade-off?
  • are the ADC channels synchronized?
  • is continuous ADC reading available in the API?
I would like to read some sensor values at relatively high speed (e.g. 40 Hz). the phase difference between the sensor's signals are important so the sampling should be synchronized. is it possible using ESP32?

Thanks

Re: ADC speed?

Posted: Fri Feb 10, 2017 5:59 am
by ESP_puff
Hello vbastani,
The sample frequency is 6KHZ. We have 12-bit SAR ADC up to 18 channels.

Re: ADC speed?

Posted: Fri Feb 10, 2017 4:06 pm
by kolban
Howdy,
Many thanks for the response. Can I assume that by saying that the sample frequency is 6kHz then we sample ADC 6000 times a second? Does that mean that there are 6000 results a second? If i was to be a masochist, then the minimum time I should read new values is 1/6000th of a second?

Does the bit width of my ADC configuration change the number of samples?

Re: ADC speed?

Posted: Fri Feb 10, 2017 4:21 pm
by rudi ;-)
ESP_puff wrote:Hello vbastani,
The sample frequency is 6KHZ. We have 12-bit SAR ADC up to 18 channels.
txs
Interesting would be still, all channels share this frequency or applies to everyone

Re: ADC speed?

Posted: Tue Apr 17, 2018 7:46 am
by BaartCM
Hi, I have a vibration analysis project. I have been using the stm32f103 which can get high sampling rates with analogRead() and even higher using DMA but I want to go wireless and the ESP32 seems the logical step forward.

Whilst 6 ksps is ok for most of my application, Lubrication deficiency shows up as a broad band increase between 5khz and 15 kHz in the FFT spectra so a sampling rate of 30-40 ksps would be nice. I’d rather pick up a lubrication problem that can be sorted with a shot of grease than wait for a full blown bearing fault to become evident lower down the frequency scale.

Could this rate be achievable using dma techniques and has anyone done any work on it?

Fingers crossed, Steve.

Re: ADC speed?

Posted: Tue Apr 17, 2018 8:13 am
by luisonoff
Recommendation: use ESP32 + external ADC IC that meets your requirement

Re: ADC speed?

Posted: Tue Apr 17, 2018 10:20 am
by BaartCM
Yes, I know I could use an mcp3208 and get higher sampling rates, I designed and sold an 8 channel board for the raspberry pi on eBay and got 100ksps no problem. It’s an option of course but if there’s any way the internal ADC can get a higher sample rate, why waste money?

Re: ADC speed?

Posted: Tue Apr 17, 2018 11:42 am
by bobolink
There seems to be a number of audio projects that sample up to 44.1 Ksps
Here is one that samples at 40 Ksps and does an FFT which seems to be what you want.

https://github.com/G6EJD/ESP32-8-Octave ... lay_03.ino

I don’t know if this sampling is continuous or they sample for a while, do math, then start sampling again.

Re: ADC speed?

Posted: Wed Apr 18, 2018 2:18 am
by ESP_Sprite
FWIW, as I understand it the 6KHz my colleague posted is an analog bandwith number. You can sample way faster than that, but we don't guarantee all frequencies will make it unattenuated into the digital samples.

Re: ADC speed?

Posted: Wed Apr 18, 2018 2:34 am
by bobolink
Where is the 6 KHz analog filter?
Is that the “Low Noise Amplifier” in the manual?
Can’t that be switched out?