0

I am working with ESP8266 which has a single ADC channel with 10bits and 1V reference.

What is the correct resolution in mV/ADC result? 1000mV/1023 or 1000mV/1024?

Also, I wonder if the reference of the ADC of ESP8266 is really 1V or 1.024V.

abomin3v3l
  • 647
  • 11
  • 27
  • related: https://electronics.stackexchange.com/questions/503349/which-formula-is-correct-for-a-digital-analog-converter/503350#503350 – MarkU Jul 09 '20 at 06:23

2 Answers2

2
  1. 1024 (there is too much debate on this, but it is 1024 for every SAR ADC, not 1023)

  2. Datasheet claims 1V, never mentions 1.024V.

Justme
  • 127,425
  • 3
  • 97
  • 261
  • Thanks. Could you confirm if the following is correct? --> Resolution is 1000mV/1024 = 0.9765625mV per unit of adc value. If the adc value was read as 250, then it means 250*0.9765625 = 244.14mV ??? – abomin3v3l Jul 09 '20 at 02:07
  • 1
    It sounds about right. – Justme Jul 09 '20 at 02:10
  • @abomin3v3l It's a bit ridiculous to use 7 decimal places to describe something that is not known to better than two, more like +/-10%. – Spehro Pefhany Jul 09 '20 at 03:19
2

As the input voltage increases, the binary code increases from 000 000 000 000 to 111 111 111 111. This requires 1,023 code changes. But 1,024 codes.

Another way to think about an ADC.

Consider this.

One_bit ADC has code of either 0 or 1. One change.

Two_bit ADC has code of either 00,01, 10, or 11. Three changes.

Three_bit ADC has code of either 000,001,010,011, 100,101,110,111. Seven changes.

ETC

analogsystemsrf
  • 33,703
  • 2
  • 18
  • 46