voltmeter/How much it can take/06. How high you can go
How much it can take · 06 of 12

How high you can go

The limit is five times whatever your board's analog pin can read. On an Uno that is five times 5 V, 25 V, which is the number printed on the back. On a 3.3 V board it is 16.5 V in theory, and on an ESP32 about 15.5 V in practice.

Five times what your board reads

How high you can go
Your board
On the + screw12.0 V
SIG
2.40 V
Arduino Uno reads to
5.0 V
Most on the terminal
25.0 V
12.0 V in, 2.40 V on SIG, inside the Uno's 0 to 5 V. Five times 5 V is 25.0 V, and that is the number printed on the back of the board: MAX 25V FOR 5V MCU.

SIG is a fifth of the input, and your board can read SIG from 0 V up to some top. The highest input the block can measure is five times that top. Nothing else sets it.

Your boardAnalog pinReads up toMost on the terminal
Arduino UnoA05 V25 V
ESP32GPIO 34about 3.1 Vabout 15.5 V
ESP32-S3GPIO 4about 3.1 Vabout 15.5 V
Raspberry Pi PicoGP263.3 V16.5 V

The Uno: 25 V

The Uno measures against its own 5 V supply, so five times 5 V is 25 V. That is the one limit printed on the board, on the back: MAX 25V FOR 5V MCU.

Leave some room under it. The Uno's 5 V is rarely exactly 5.00 V, and a supply that reads 24 V on a quiet day can have spikes above 25 V when something on it switches.

The ESP32 and the ESP32-S3: about 15.5 V

Five times 3.3 V is 16.5 V, but the ESP32's analog-to-digital converter, the ADC, does not read all the way to 3.3 V. With the Arduino core's default setting it stops at roughly 3.1 V, and the ESP32-S3 behaves the same way. Five times that is about 15.5 V.

The ESP32's readings are also least accurate near both ends of that range. A 12 V battery puts about 2.4 V on SIG, comfortably in the middle, which is where the readings are best. Reading the ADC covers the ESP32's converter in detail.

The Pico: 16.5 V

The Pico reads against its 3.3 V rail, so five times 3.3 V is 16.5 V. The 25 V on the back of the board is for a 5 V board, not this one.

Past the limit

The divider keeps dividing. 20 V on a 3.3 V board is 4 V on SIG. The reading sits at its maximum and reports nothing useful, and SIG is past what the pin is rated for. What it must never see is the list of inputs that do more than give a wrong number.

When it does not work

The back says 25 V. Why is my ESP32's limit lower?

The back says MAX 25V FOR 5V MCU, and an ESP32 is not a 5 V board. Its analog pin reads to about 3.1 V at the Arduino core's default setting, and five times that is about 15.5 V. The block is the same; the board reading it is different.

What happens between the limit and the pin's rating?

The reading stops at its maximum, 1023 on an Uno or 4095 on an ESP32, and stays there however much higher the input goes. It tells you only that the input is too high. A little further, and SIG is past what the pin itself is rated for.

Can I measure a 12 V lead-acid battery on an ESP32?

Yes. A lead-acid battery is around 12 to 13 V at rest and somewhat higher while it charges, which puts SIG under 3 V, inside the ESP32's range. Leave the charger's own peaks in mind: if it can go above about 15 V, read it with an Uno instead.

Can I change the ratio to measure higher?

Not on this board without replacing its resistors. For higher voltages use a divider with a larger ratio, built for that voltage, and keep anything above about 30 V to people who know the rules for working on it.

Where this goes next

Reversed, too high, alternating, and mains.

What it must never see

Edit this page — content/books/voltmeter/how-high-you-can-go.mdx

Community

Questions about this product

See what other owners have asked, and read their solutions.

Ask a question ↗

Voltmeter

Loading discussions…

Discuss this article

Ask about this page. The answer stays here, on the page it belongs to, for whoever hits the same wall next.

Browse Modules and blocks on the forum