When evaluating the application of analog to digital converter (ADC) circuits, the most critical conversion is translating your reference voltage into the smallest measurable voltage step, known as the Least Significant Bit (LSB). For a standard 5.0V reference and a 10-bit ADC (like the internal ADC on an ATmega328P Arduino Uno), the conversion yields exactly 4.88 mV per digital step. The governing formula is LSB = VREF / 2N. Substituting our baseline values: 5.0V / 210 = 5.0V / 1024 = 0.00488V (4.88 mV). This assumes an ideal ADC with a perfectly stable VREF; in practice, the assumption that fixes your real-world answer is the noise floor of your voltage reference and the Effective Number of Bits (ENOB).
ADC Resolution and Voltage Step Conversion Matrix
Single-voltage answers are rarely universal on the bench. A 10-bit ADC behaves entirely differently when powered by a 5.0V USB rail versus a 3.3V LDO regulator. The table below maps the exact LSB voltage step across standard microcontroller and external ADC resolutions for both common logic levels. This is the data-dense reference you need when selecting a sensor interface.
| ADC Resolution (Bits) | Total Digital Steps | LSB at 5.0V VREF | LSB at 3.3V VREF | Common Hardware Example |
|---|---|---|---|---|
| 8-bit | 256 | 19.53 mV | 12.89 mV | PCF8591 (I2C ADC/DAC) |
| 10-bit | 1,024 | 4.88 mV | 3.22 mV | ATmega328P (Arduino Uno) |
| 12-bit | 4,096 | 1.22 mV | 0.80 mV | MCP3008 (SPI), ESP32 Internal |
| 16-bit | 65,536 | 76.29 µV | 50.35 µV | ADS1115 (I2C Precision) |
| 24-bit | 16,777,216 | 0.298 µV | 0.196 µV | NAU7802 (Load Cell Amp) |
Note: The ESP32's internal 12-bit ADC is notoriously non-linear near the 0V and 3.3V rails. For precision 3.3V applications, bypass the internal ADC and use an external I2C module like the ADS1015 or ADS1115.
Scaling for Mains: 120V, 230V, and 3-Phase Applications
When the application of analog to digital converter circuits extends to AC mains monitoring (e.g., building an energy meter), the LSB conversion shifts dramatically based on the primary voltage and your step-down scaling factor. You are no longer measuring the ADC pin voltage; you are calculating the primary side resolution.
Here is how the 10-bit (4.88 mV) baseline shifts when scaled for different AC mains topologies, assuming we scale the peak AC voltage down to exactly 5.0V at the ADC pin:
- 120V AC (North America): 120V RMS has a peak voltage of ~170V. To scale 170V down to 5.0V, the divider ratio is 34:1. Your 4.88 mV ADC step now represents 165.9 mV per step on the primary mains side.
- 230V AC (EU/UK/AU): 230V RMS peaks at ~325V. The scaling ratio becomes 65:1. The effective primary resolution shifts to 317.2 mV per step.
- 400V 3-Phase (Line-to-Line): 400V RMS peaks at ~565V. The scaling ratio is 113:1. Your 10-bit ADC now yields a coarse 551.4 mV per step on the primary side.
Because 3-phase and 230V systems stretch the scaling ratio so far, a 10-bit ADC is practically useless for accurate power factor or harmonic analysis on those grids. You must upgrade to a 16-bit or 24-bit dedicated metrology ADC (like the ADE9000) to maintain sub-volt primary resolution.
Neighboring Bit-Depth Values (±20% Range)
If your baseline design targets a 10-bit ADC, it is standard bench practice to evaluate the ±20% neighboring resolutions (8-bit through 12-bit) to see if you can save money on a lower-resolution chip, or if you are forced to pay the premium for higher resolution. Assuming a fixed 5.0V VREF, here is the exact step conversion for that bracket:
| Bit Depth (±20% of 10) | Quantization Levels | Voltage Step (LSB) @ 5.0V | Max Quantization Error (±0.5 LSB) |
|---|---|---|---|
| 8-bit (-20%) | 256 | 19.53 mV | ± 9.76 mV |
| 9-bit (-10%) | 512 | 9.76 mV | ± 4.88 mV |
| 10-bit (Baseline) | 1,024 | 4.88 mV | ± 2.44 mV |
| 11-bit (+10%) | 2,048 | 2.44 mV | ± 1.22 mV |
| 12-bit (+20%) | 4,096 | 1.22 mV | ± 0.61 mV |
When High-Resolution Conversion is Meaningless
There is a trap in embedded design: assuming a 16-bit ADC gives you 16 bits of usable data. The conversion becomes mathematically meaningless when the noise floor exceeds the LSB. This is documented in component datasheets as the Effective Number of Bits (ENOB). According to Analog Devices Tutorial MT-001, a 16-bit ADC with a 5V reference has a theoretical LSB of 76.29 µV. However, if your switching buck converter introduces 15 mV of high-frequency ripple onto the VREF rail, the bottom 8 bits of your ADC are just digitizing power supply noise.
To fix this, you must decouple the ADC reference from the digital logic rail. Use a dedicated precision shunt reference like the LM4040-4.1 or a low-dropout linear regulator specifically for the analog domain. Furthermore, as noted in Texas Instruments Application Report SLAA013, you must account for thermal noise and implement proper PCB grounding techniques—specifically, splitting analog and digital ground planes and joining them at a single star point beneath the ADC chip.
Frequently Asked Questions
Q: Can I just average multiple 10-bit samples to get 12-bit resolution?
A: Yes, this is called oversampling and decimation. By taking 16 samples and averaging them, you theoretically gain 1 extra bit of resolution (shifting from 10-bit to 11-bit). However, this only works if there is at least 1 LSB worth of natural dither (noise) in the analog signal. If the signal is perfectly clean, averaging identical numbers will not yield higher resolution.
Q: Why does my ESP32 ADC read 3.1V when my multimeter reads 3.3V?
A: The internal 12-bit ADC on the ESP32-WROOM-32 module suffers from severe non-linearity and attenuation at the top of its range. The usable, linear range is roughly 0.1V to 2.5V. For accurate 3.3V measurements, you must use an external I2C ADC or scale the voltage down via a resistor divider and multiply the result in firmware.






