ADC Calculator
Calculate LSB size, scaling factor and max measurable voltage for any ADC. Chip presets included — optional voltage divider for extended input range.
Enter your own resolution and reference voltage.
LSB Size
0.8059 mV
Full-Scale Count (2ᴺ − 1)
4,095
Max ADC Pin Voltage
3.3 V
Scaling Factor (V / count)
0.8059 mV/count
Formula used
LSB = Vref ÷ (2ᴺ − 1) = 3.3 ÷ 4095 = 0.8059 mV/countWhat is an ADC?
An Analogue-to-Digital Converter (ADC) converts a continuous analogue voltage into a discrete digital number. The output is a binary integer whose value is proportional to the input voltage relative to a reference voltage (Vref). ADCs are found in virtually every microcontroller — from Arduino and ESP32 to dedicated precision converters like the ADS1115.
ADC Resolution and LSB Size
The resolution of an ADC is expressed in bits (N). A 10-bit ADC produces values from 0 to 1023 (2¹⁰ − 1 = 1023 steps). A 12-bit ADC produces values from 0 to 4095. The Least Significant Bit (LSB) represents the smallest voltage change the ADC can detect:
LSB = Vref ÷ (2ᴺ − 1)
For an Arduino Uno (10-bit, 5 V): LSB = 5000 ÷ 1023 ≈ 4.89 mV. Every one-count increase in the ADC reading corresponds to a 4.89 mV increase in the measured voltage.
Scaling Factor and Firmware
The scaling factor is the voltage represented by each ADC count. Without a voltage divider it equals the LSB size. In firmware you would write:
float voltage = adc_code * (Vref / (pow(2, N) - 1));
Using a Voltage Divider with an ADC
Many real-world signals exceed the ADC's reference voltage. For example, measuring a 12 V battery rail with a 3.3 V ADC requires an input voltage divider to scale the signal down before it reaches the ADC pin. Two series resistors (R1 from Vin to the ADC pin, R2 from the ADC pin to ground) form the divider:
Vadc = Vin × R2 ÷ (R1 + R2)
The divider ratio is (R1 + R2) ÷ R2. The scaling factor — the real-world voltage per ADC count — becomes LSB × divider ratio, which this calculator computes automatically.
Supported Chip Presets
Select a chip preset to auto-fill resolution and Vref: Arduino Uno (10-bit, 5 V), ESP32 (12-bit, 3.3 V), ADS1115 (16-bit, ±2.048 V), ADS1015 (12-bit), MCP3208 (12-bit, 5 V), and STM32 (12-bit, 3.3 V). You can override any value for custom configurations.
Related Tools
- Ohm's Law CalculatorSolve for voltage, current, resistance or power given any two values.Open tool
- Voltage Divider CalculatorCalculate output voltage from two resistors and an input voltage.Open tool
- Current Divider CalculatorCalculate branch currents through parallel resistors.Open tool
- Resistor Colour Code DecoderDecode 4, 5 and 6-band resistor colour codes to resistance values.Open tool