The ADC Numbers

Ada audits the ADC numbers — resolution, code range, quantization error, and noise

foundations
math-foundations
adc
electronics
beginner
Ada ADA · CALCULATION AUDIT

Foundations · optional mathematics and physics

The ADC Numbers

The chapter’s 12-bit ESP32-style ADC on a 3.3 V reference steps every 0.806 mV across 4096 levels, so a 2.0 V sensor reading digitizes to code 2482. A tidy bit count invites the assumption that more bits always means a better measurement. This audit re-derives the code count, LSB, and quantization limit, then asks whether bit depth alone earns its resolution once reference voltage, noise, and source impedance are counted.

Companion to the chapter ADC Fundamentals — every number here comes from that chapter.

Resolution, code range, quantization error, and noise, ~4 minutes

ADC resolution is voltage bookkeeping: the mathematics tells you the code step, and the physics tells you whether sensor noise, source range, and timing make that step meaningful.

The working

1. Bit depth sets the number of possible codes. A 12-bit converter has 212 = 4096 levels, normally labelled code 0 through code 4095. That is why the same table can talk about 4096 levels and a maximum reported code of 4095.

levels = 212 = 4096; max code = 4096 − 1 = 4095

2. Reference voltage turns codes into real voltage. The chapter's 3.3 V, 12-bit example has:

LSB = 3.3 V / 4096 = 0.0008057 V = 0.806 mV
nearest-step error limit = 0.806 mV / 2 = ±0.403 mV

For a 2.0 V sensor reading, the digital code is:

D = floor((2.0 / 3.3) × 4096) = floor(2482.4) = 2482
Design check Arithmetic shown Audit result
10-bit Arduino-style ADC at 5 V 5 V / 1024 = 0.0048828 V 4.88 mV per count; half-step about 2.44 mV
12-bit ESP32-style ADC at 3.3 V 3.3 V / 4096 = 0.0008057 V 0.806 mV per count; half-step about 0.403 mV
16-bit precision ADC at 3.3 V 3.3 V / 65536 = 0.0000504 V 0.050 mV per count; useful only if noise is below that scale
Bipolar +/-10 V input span 20 V / 65536 = 0.000305 V 305 microvolts per count
+/-1 V span with +/-4 noisy counts 2 V / 4096 = 0.488 mV; 4 × 0.488 mV = 1.95 mV The noise floor is larger than a single count, so extra nominal bits do not automatically improve the measurement.
Averaging 64 independent samples sqrt(64) = 8 Random noise can shrink by 8x, but bias, nonlinearity, source impedance, and correlated noise remain.

What the audit buys you: ADC bit depth is not a quality guarantee by itself. The usable measurement is the smaller story that survives reference voltage, quantization, analog noise, source impedance, and the physical sensor's own accuracy.

Every number above is taken from the chapter's own ADC resolution example and re-derived step by step.