ESP32 – Is ESP32 ADC Good Enough for Audio/Music?


I've heard that the ESP32's ADC isn't "good" enough for audio purposes. It's a 12 bit SAR ADC with a sampling rate of 200 ksps which is much higher than most consumer products use (44.1 kHz). Does 200 ksps not correlate to a 200 kHz sampling rate. I couldn't find much in the datasheet when it came to calculation times. What am I missing?

Best Answer

I agree with Justme's answer that the DNL/INL is quite high, and also call your attention to this sentence:

By default, there are ±6% differences in measured results between chips.

This matters less for audio applications where the DC level can be normalised later, but for other applications it will definitely require calibration.

There is also a general concern for any ADC on the same chip as digital circuitry: power supply rejection ratio (PSRR). This is the ability to avoid conducting noise from the power supply into the analog results. Since no mention is made of using an external reference voltage, or separate analog power/ground, or a PSRR number, I suspect this is very bad.

What that is likely to mean that every power burst from the radio side gets conducted straight into the audio.

Ultimately the easiest thing to do is try it; if it's not up to your percieved quality standards, you'll want an external ADC with its own little linear regulator and separate area of the PCB. But the built-in ADC is probably adequate for phone-quality speech or music played through tinny cheap speakers.

Related Topic