Use this forum to chat about hardware specific topics for the ESP8266 (peripherals, memory, clocks, JTAG, programming)

User avatar
By LUIzBRBRBR
#87120 Hello, guys!

I am using a NODEMcu to collect sensor data.

In order to know basic measurement errors, it is important to consider ESP8266 ADC technical characteritics.

I searched datasheets, FAQ's and sites to obtain information like ADC voltage reference value and its accuracy.
All that I found was that it is a SAR ADC type, it's measuring range goes from 0V to 1V ( ignoring NODEMcu voltage divider), it has 10 bits resolution and can achieve 1kps of sample when wi-fi is used. I have not found information about voltage reference source, accuracy, and possibility to use na external circuit to do that function . Do you have any information related to that to share?

Thanks in advance.
User avatar
By QuickFix
#87177 To keep it short (there are others here with more exact knowledge): only use the internal ADC for less crucial tasks, like monitoring battery power or coarse light and temperature levels). Ths ADC is not suitable for anything more than that. Although the ADC is officially 10 bit, only 6 or 8 (can't remember) is actually usable and it's extremely noisy and has very bad characteristics for anything that needs exact measurements. If you need to measure an analog signal, use an external (I2C, SPI, ...) ADC instead.
User avatar
By Barnabybear
#87194 Hi, I can’t offer much as to the internal workings of the ADC. However I found it to be significantly more consistent when the WiFi of the ESP is disabled. I put this down to internal volt drops during WiFi transmissions which draw 300 to 400mA.
I seem to remember running some tests for a current measuring project, monitoring the voltage of a cell discharging through an LED and found with the WiFi disabled the ESP’s ADC was pretty consistent. It was easy enough to disable the WiFi take a reading or set of readings and then re-enable it to transmit the readings.