Skip to content
MoneyDeck

ADC Resolution Calculator

LSB size, output code, ideal SNR and Nyquist limits for any ADC

Updated · Free, no signup

bits
V
V

Usually 0 V (GND). Use a negative value for bipolar ranges such as ±5 V.

V
kS/s
kHz

LSB (step size)

0.805664 mV

Quantization levels (2ᴺ)

4,096

Output code (decimal)

2,048

Output code (binary)

1000 0000 0000

Output code (hex)

0x800

Max quantization error (±½ LSB)

0.402832 mV

For an ideal converter with its first transition at ½ LSB; plain truncation gives 0 to 1 LSB.

Dynamic range (20·log₁₀ 2ᴺ)

72.25 dB

Ideal SNR (6.02N + 1.76)

74 dB

Nyquist frequency (fs ÷ 2)

50 kHz

Minimum sample rate (2 × fmax)

40 kS/s

Raw data rate

1,200 kbit/s

  • Each code step is 805.7 µV; a change smaller than that cannot be seen by an ideal 12-bit converter.
  • 100 kS/s is 5× your highest frequency, above the 2× Nyquist minimum.

LSB size for common resolutions at this reference span

ResolutionLevelsLSBIdeal SNR
8-bit25612.89 mV49.92 dB
10-bit1,0243.223 mV61.96 dB
12-bit4,096805.7 µV74 dB
14-bit16,384201.4 µV86.04 dB
16-bit65,53650.35 µV98.08 dB
18-bit262,14412.59 µV110.12 dB
20-bit1,048,5763.147 µV122.16 dB
24-bit16,777,216196.7 nV146.24 dB

About the ADC Resolution Calculator

This ADC resolution calculator shows how finely an analog-to-digital converter can resolve a voltage. Enter the number of bits, the reference voltage and the sample rate and it returns the voltage of one least-significant bit (LSB), the number of quantization levels, the digital code an input voltage produces (in decimal, binary and hex), the maximum quantization error, and the ideal dynamic range and signal-to-noise ratio.

It also covers the timing side: the Nyquist frequency (half the sample rate) is the highest signal frequency the converter can capture without aliasing, and the Nyquist rate (twice your highest signal frequency) is the minimum sample rate you need. Embedded developers reading sensors on an Arduino, ESP32 or STM32, audio engineers comparing 16- and 24-bit converters, and students studying data acquisition all use these numbers.

Results describe an ideal converter. Real ADCs lose some resolution to noise, offset, gain error and non-linearity — the datasheet ENOB (effective number of bits) tells you how many bits are truly usable. The LSB convention can be chosen: most datasheets define 1 LSB as Vref/2ᴺ, while some tutorials and the Arduino map() idiom use Vref/(2ᴺ − 1).

With the default inputs, the lsb (step size) is 0.805664 mV. Change any value above to recalculate instantly.

How to use the adc resolution calculator

  1. 1Enter the ADC resolution in bits (e.g. 10 for Arduino Uno, 12 for ESP32/STM32).
  2. 2Enter the reference voltage and, for bipolar converters, the negative reference.
  3. 3Pick the LSB definition your datasheet or code uses.
  4. 4Enter an input voltage to see the code it produces.
  5. 5Enter the sample rate and highest signal frequency to check the Nyquist limit.

Formula and method

LSB = (Vref+ − Vref−) ÷ 2ᴺ · Code = ⌊(Vin − Vref−) ÷ LSB⌋ · SNR = 6.02N + 1.76 dB · f_Nyquist = fs ÷ 2

An N-bit ADC divides its input span into 2ᴺ equal steps. One step — the least significant bit — is the span divided by 2ᴺ, and the code shown is the whole number of steps the input contains (simple truncation). Truncation alone leaves an error of 0 to 1 LSB; ideal converters place their first code transition at ½ LSB, which centres the error at ±½ LSB — the figure reported as the maximum quantization error.

For a full-scale sine wave, quantization noise gives an ideal signal-to-noise ratio of 6.02N + 1.76 dB, the standard result from Analog Devices tutorial MT-001; the dynamic range 20·log₁₀(2ᴺ) ≈ 6.02N dB is the ratio of full scale to one LSB. The Nyquist–Shannon theorem requires sampling faster than twice the highest signal frequency, so the converter can only represent frequencies below fs/2.

N
Resolution in bits
Vref+, Vref−
Top and bottom of the input range (V)
LSB
Voltage of one code step
Vin
Analog input voltage
fs
Sample rate
fmax
Highest frequency in the signal

Worked examples

12-bit ADC with a 3.3 V reference

3.3 V ÷ 4,096 = 0.8057 mV per step. 1.65 V is exactly half scale, 1.65 ÷ 0.0008057 = 2,048, so the code is 2048 (0x800). Ideal SNR is 6.02 × 12 + 1.76 = 74.0 dB, and 100 kS/s captures signals up to 50 kHz — comfortably above a 20 kHz signal.

16-bit audio converter, ±5 V bipolar range

The 10 V span divided by 65,536 gives 0.1526 mV per step. +1 V is 6 V above the bottom of the range, and 6 ÷ 0.00015259 = 39,321.6, truncated to code 39321. Ideal SNR is 6.02 × 16 + 1.76 = 98.08 dB; 48 kS/s covers audio up to 24 kHz.

Arduino Uno 10-bit, 5 V, using the 1023 convention

With LSB = 5 ÷ 1,023 = 4.888 mV, a 3.3 V input gives 3.3 ÷ 0.004888 = 675.2, read as 675. Sampling at 9.6 kS/s limits signals to 4.8 kHz, so a 5 kHz signal would alias — you would need at least 10 kS/s.

Frequently asked questions

How do you calculate ADC resolution?+

Divide the input voltage range by 2 to the power of the number of bits. A 12-bit ADC with a 3.3 V range resolves 3.3 ÷ 4,096 = 0.806 mV per step; a 10-bit ADC on 5 V resolves about 4.9 mV.

Should I divide by 2ᴺ or 2ᴺ − 1?+

Converter datasheets define 1 LSB as full scale ÷ 2ᴺ, because the top code represents Vref minus one LSB. Dividing by 2ᴺ − 1 maps the top code exactly to Vref, which is convenient in code but slightly overstates the step size.

What is the SNR of an ideal 16-bit ADC?+

Using SNR = 6.02N + 1.76 dB, an ideal 16-bit converter achieves 98.08 dB and a 24-bit converter 146.24 dB. Real 24-bit converters reach about 120 dB because thermal noise dominates, giving an ENOB near 20 bits.

What is the Nyquist frequency?+

It is half the sample rate. Signal content above it folds back (aliases) into lower frequencies and cannot be separated afterwards, which is why ADCs are preceded by a low-pass anti-aliasing filter.

What is ENOB?+

Effective number of bits: the resolution a real ADC actually delivers once noise and distortion are included, ENOB = (SINAD − 1.76) ÷ 6.02. A 12-bit microcontroller ADC often has an ENOB of 9–11 bits.

Related tools