ADC Resolution Calculator
Enter ADC bit depth and reference voltage to calculate LSB voltage, quantization error, and dynamic range (dB), with bidirectional conversion between input voltage and ADC reading.
FreeOnline Tool
Loading…
How to Use
- Click a quick-select bit-depth button (8/10/12/14/16/24 bit) for a common resolution, or manually enter a custom value from 1–32 in the "ADC bits N" field.
- Enter the reference voltage Vref (V).
- Optional: enter a measured input voltage Vin — the tool will compute the corresponding ADC reading. Leave it blank to see only the ADC's own parameters without voltage conversion.
- Click "Calculate" (or edit any field to trigger automatic recalculation).
- The "ADC Parameters" section shows six results: LSB voltage (mV and μV), quantization error (LSB/2), dynamic range (dB), number of quantization steps (2^N), maximum measurable voltage (Vref−1LSB), and resolution percentage.
- If Vin is provided, the "Input Voltage Conversion" section additionally shows the corresponding ADC reading (in the 0 to 2^N−1 range) and the voltage range implied by quantization error (the min/max actual voltage the reading represents).
- The "Reference Table" lists voltage values and ADC readings at 0%/25%/50%/75%/100% of full scale for quick cross-checking.
Features
- Six quick-select buttons for common ADC bit depths (8/10/12/14/16/24 bit), plus manual entry of any custom bit depth from 1 to 32.
- Calculates the ADC's minimum resolvable voltage step (LSB) using LSB = Vref / 2^N, displayed in both mV and μV.
- Calculates quantization error (LSB/2, the theoretical maximum quantization error), dynamic range (20×log10(2^N) dB), number of quantization levels (2^N), maximum measurable voltage (Vref − 1LSB), and resolution percentage (1/2^N × 100%).
- Optionally accepts an actual input voltage Vin and converts it to the corresponding digital ADC reading (rounded and clamped to the valid 0 to 2^N−1 range), plus the voltage uncertainty range implied by that reading.
- Automatically generates a voltage-vs-reading reference table at five full-scale points (0%/25%/50%/75%/100%), eliminating manual per-point calculation.
Use Cases
Evaluating built-in MCU ADC precision
Assess the actual resolution (LSB voltage) of a microcontroller's built-in 12-bit/16-bit ADC at a given reference voltage, to determine whether it meets sensor sampling precision requirements.
Quantifying quantization error for sensor voltage signals
Given a sensor's output voltage range and ADC bit depth, calculate what fraction of the signal's variation range the quantization error represents, to assess whether the ADC can resolve a target measurement resolution (e.g., the voltage change per 0.1°C).
Back-calculating actual voltage range from an ADC reading
During debugging, given a raw ADC sample reading, look up the actual input voltage range it represents, to verify whether hardware-acquired data matches expectations.
Comparing ADC bit-depth options during component selection
Compare the dynamic range (dB) and quantization level count of 10-bit, 12-bit, and 16-bit ADCs at the same reference voltage to inform component selection decisions.
FAQ
What does the "Dynamic Range" dB value mean?
It represents the theoretical ratio between the largest and smallest signal amplitude the ADC can resolve, calculated as 20×log10(2^N) in dB. Higher bit depth means greater dynamic range — a 12-bit ADC has a theoretical dynamic range of about 72.2dB, and 16-bit about 96.3dB. This value represents only the theoretical quantization limit, not accounting for real-world non-idealities like noise or offset.
What does quantization error (LSB/2) specifically represent?
Because an ADC can only output discrete digital codes, any analog voltage falling between two adjacent quantization levels gets approximated to one of those codes, producing a theoretical maximum error of half an LSB (±0.5LSB). This is an inherent error source of the quantization process itself that cannot be removed through calibration; the tool's displayed quantization error is exactly this theoretical maximum.
What's the difference between leaving Vin blank and entering 0?
Leaving it blank means no voltage conversion is performed — the tool shows only the ADC's own parameters (LSB, dynamic range, etc.), and the "Input Voltage Conversion" section is hidden. Entering 0 actively participates in the calculation and returns an ADC reading of 0 (corresponding to the voltage range 0 to 1LSB), and the conversion section displays normally.
Why is the back-calculated voltage a range rather than a single value?
This is the direct manifestation of quantization error: a given digital ADC reading actually represents a continuous voltage range (one LSB wide), not a single exact voltage. The tool's vinMinFromReading and vinMaxFromReading give the lower and upper bounds of the actual input voltage that reading could represent, reflecting the range that this ADC's resolution cannot further distinguish.