If you are converting an analog voltage to a digital value using a standard 12-bit ADC (like the ESP32's internal ADC or an external MCP3208) with a 3.3V reference, the exact conversion yields a step size (1 LSB) of 0.805 mV. The governing formula is VLSB = VREF / (2n - 1). Substituting our values: 3.3V / (212 - 1) = 3.3V / 4095 = 0.0008058V. This means every single digital count increase represents exactly 0.805 millivolts of analog input change.
To see how this scales for neighboring resolutions (±20% around our 12-bit baseline), reference the quick conversion table below:
| Bit Depth (n) | Total Steps (2n-1) | LSB Size @ 3.3V Ref | LSB Size @ 5.0V Ref |
|---|---|---|---|
| 10-bit | 1,023 | 3.225 mV | 4.887 mV |
| 11-bit | 2,047 | 1.612 mV | 2.442 mV |
| 12-bit | 4,095 | 0.805 mV | 1.221 mV |
| 13-bit | 8,191 | 0.402 mV | 0.610 mV |
| 14-bit | 16,383 | 0.201 mV | 0.305 mV |
How the Types of A to D Converter Dictate Your Resolution
The mathematical conversion above assumes an ideal, perfect ADC. In reality, the types of a to d converter architectures available on the market dictate your actual sampling speed, power consumption, and silicon cost. Choosing between a Successive Approximation Register (SAR), Sigma-Delta, Flash, or Pipeline ADC changes how you approach circuit design.
According to Analog Devices' foundational MT-001 tutorial, the architecture defines the physical mechanism of quantization. Here is a data-dense comparison of the four primary architectures you will encounter in 2026 bench and industrial designs:
| Architecture | Common 2026 Part | Resolution | Max Sample Rate | Typical Price (USD) | Best Application |
|---|---|---|---|---|---|
| SAR | TI ADS1115 | 16-bit | 860 SPS | $1.85 (IC) | Precision DC sensors, I2C MCU interfaces |
| Sigma-Delta | TI ADS1256 | 24-bit | 30 kSPS | $4.20 (IC) | Load cells, audio, strain gauges |
| Flash | Maxim MAX109 | 8-bit | 500 MSPS | $45.00 (IC) | High-speed oscilloscopes, radar |
| Pipeline | ADI AD9235 | 12-bit | 65 MSPS | $18.50 (IC) | SDR radios, medical imaging |
For 90% of hobbyist and IoT projects, a SAR ADC (like the ubiquitous ADS1115 breakout boards selling for ~$4.50) is the correct choice. It offers high resolution at low speeds. If you are measuring a slowly changing thermocouple or a battery voltage, SAR is ideal. If you need to digitize AC audio or capture microvolt shifts in a Wheatstone bridge, you must step up to a Sigma-Delta converter, which uses oversampling and digital filtering to achieve 24-bit resolution at the cost of speed.
Shifting the Baseline: 5V, 3.3V, and 120V/230V Mains
The core assumption that fixes your LSB answer is the Voltage Reference (VREF). If your reference drifts, your conversion drifts. But how does the math shift when you aren't measuring a clean 3.3V DC rail, but rather a 120V or 230V AC mains line, or a 3-phase motor feed?
- 5V vs 3.3V Logic: Classic Arduino Unos (ATmega328P) use a 5V reference, yielding a 4.88mV LSB on their 10-bit internal ADC. Modern ESP32 or STM32 boards use 3.3V. Feeding a 5V signal into a 3.3V ADC without a voltage divider will instantly brick the GPIO pin.
- 120V AC Branch Circuits: You cannot feed 120V RMS (170V peak) into an ADC. You must use a potential transformer (PT) or a high-impedance precision voltage divider that steps the mains down to a safe 1.0V RMS. The conversion formula shifts to include the scaling factor: Vactual = VLSB × Digital_Count × Divider_Ratio.
- 230V European Mains: The physical divider ratio changes to accommodate the higher peak voltage (~325V), but the ADC's internal LSB calculation remains exactly the same. The TI ADS1115 datasheet strictly limits absolute input voltage to VDD + 0.3V, meaning your external analog front-end (AFE) must do the heavy lifting.
- 3-Phase Systems: In a 3-phase motor monitoring setup (e.g., 208V or 400V phase-to-phase), you are measuring three separate legs. This requires either three isolated ADC channels or a multiplexed Sigma-Delta front-end. The conversion math per channel remains identical, but you must account for the 120-degree phase shift in your software calculations to derive true power (Watts) rather than just apparent power (VA).
When the Conversion is Meaningless: ENOB and the Noise Floor
There is a critical trap in embedded electronics: assuming a 16-bit ADC gives you 16 bits of usable data. The mathematical conversion becomes entirely meaningless when the system's electrical noise floor exceeds the calculated LSB.
Consider a 16-bit ADC with a 5.0V reference. The theoretical LSB is 76.2 µV. However, if your 5V rail has 2mV of switching noise from a nearby buck converter, and your PCB layout lacks a proper analog ground plane, that 2mV of noise spans roughly 26 LSBs. You are effectively reading a 12-bit ADC, despite paying for 16-bit silicon.
Always look at the Effective Number of Bits (ENOB) in the manufacturer's datasheet, not just the marketing resolution. A cheap 12-bit ADC might only offer 10.5 ENOB due to integral non-linearity (INL) and thermal noise. If your application requires distinguishing a 1mV change, and your ENOB noise floor is 3mV, no amount of software averaging will reliably fix the hardware deficit. Use a low-dropout regulator (LDO) specifically for the ADC's VREF pin, and keep digital I2C/SPI lines routed away from analog inputs.
Frequently Asked Questions
Why does the ESP32 internal ADC read erratically compared to an external ADS1115?
The ESP32's internal SAR ADC is notoriously non-linear and shares silicon real estate with the WiFi/Bluetooth RF circuits, introducing massive digital noise. For any precision voltage measurement on an ESP32, bypass the internal ADC and use an external I2C ADC like the ADS1115 or ADS1015.
Does a higher bit-depth always mean a better ADC?
No. Higher bit-depth (like 24-bit Sigma-Delta) sacrifices sampling speed. If you are trying to capture the fast transient spike of a solenoid coil kicking on, a 24-bit ADC sampling at 30 SPS will completely miss the event. You would need a 12-bit or 16-bit SAR ADC sampling at 100 kSPS or higher.
How do I handle negative voltages with a standard single-supply ADC?
Standard single-supply ADCs (0V to 3.3V) cannot read negative voltages directly; doing so will damage the IC. You must use an op-amp level-shifter circuit to bias the AC or negative signal into the ADC's acceptable common-mode range (e.g., shifting a ±1V AC signal to sit between 0.65V and 2.65V).






