ESP-WROOM-32 ADC Technical Details

Navindaxon
Posts: 1
Joined: Fri Feb 26, 2021 7:55 pm

ESP-WROOM-32 ADC Technical Details

Postby Navindaxon » Fri Feb 26, 2021 8:22 pm

I'm currently looking through the ESP32 Technical Reference manual, and I can't find information I'm looking for about the ADC: specifically reference voltages--though there is also some conflicting information online about attenuation. Online sources suggest that the reference voltage varies from 1.1 to 1.2 V, which would explain nonlinear issues I'm experiencing feeding the ADC a 3.3V input. Furthermore, there do seem to be 2 attenuation registers (at 0x3FF48834 and 0x...38). However, sources online suggest an 11 dB attenuation setting was/is available (and, indeed, micropython at one point supported that level of attenuation, though these days it is not available for whatever reason). I'm also confused as to what the 4 digit hex number in parentheses next to the register name, in the register list, indicates, since it doesn't match the register address listed in the preceding section and doesn't seem to match with the values shown in the register diagrams either, so I doubt it's the defaults.

So my questions are these:

1. What is the reference voltage for the ADC, and is it tied to the input voltage in any way, or does it cap out?
2. Is 11 dB attenuation no longer available (technical reference's highest value listed is 6dB, which also seems to be the default setting I'f I'm reading the register map correctly).
3. How do I read the register entries in that section, or what part of the reference manual contains an explanation of what these numbers (especially the ones in parentheses) mean? Honestly, mainly the ones in parentheses are confusing and seem unexplained.

I would also welcome it if you pointed me to a document or document section which provides answers to my questions, and I will take it from there.

For reference: I simply want to attenuate my 3.3v signal to fit within the ADC range, so that I get a proper, linear relationship out of a rangefinding sensor. I would prefer to do this without recourse to an external ADC.


Who is online

Users browsing this forum: Bing [Bot] and 53 guests