EMBEDDED TOOL

Arduino Analog Read Voltage Calculator

Convert analogRead() raw values to voltage, or the reverse, for 10/12-bit ADCs.

Voltage

Resolution

About this tool

Convert an analogRead() raw value into an actual voltage, or work out what raw value a given voltage would produce — for whichever ADC resolution and reference voltage your board uses (5V for most AVR boards, 3.3V for ESP32/SAMD/STM32-class boards).

Frequently asked questions

What's the formula?
voltage = raw × Vref ÷ (2^bits − 1) — so for the default 10-bit ADC at 5V, a raw reading of 1023 corresponds to 5.00V and 0 corresponds to 0V, linearly in between.
Which boards use 12-bit resolution?
ESP32, SAMD (like the MKR series and Nano 33 IoT), and STM32-based boards default to higher-resolution ADCs — many support calling analogReadResolution(12) (or higher) to opt into finer resolution than the classic AVR 10-bit ADC.
Why might my measured voltage not match what this predicts?
Real ADCs have some non-linearity and reference-voltage tolerance, and the actual Vref may drift slightly from the nominal 5V/3.3V depending on your power supply — this calculator assumes an ideal, perfectly linear ADC with an exact reference voltage.