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.