Raspberry Pi - over_voltage settings

Table of contents

Overview

In order to know much voltage you get on which over_voltage setting, I tested some Raspberry Pis and it took me some time to collect all the data.

I tested all settings from -17 to +17, mainly for VDD_CORE, but since the RPi3B+ also allows adjusting the V_DDR I added it, too.
The data is divided into the value the Raspberry Pi OS gave me via vcgencmd measure_volts core (VDD_CORE) and vcgemcmd measure_volts sdram_c (V_DDR) labeled as Read out and the voltage I measured with my voltmeter directly at the PCB, labeled as Measured.
Beside these values I also added a diff, whichs shows how much the value changes from setting to setting.

Inside the official documentation the over_voltage options are a little bit messed up1 (or I don’t fully understand it), if you use a recent Raspberry Pi, like the RPi4B or CM4 and what to see which setting coresponds to which voltage.

If you are using a RPi3B+, RPi4B or CM4 take a look at my results to see what setting brings you which voltage.

Raspberry Pi 3 B+

VDD_CORE

over_voltage=# at /boot/config.txt

over_voltage Read out [V] Read out diff [V] Measured [V] Measured diff [V]
-17 1,3500 0,0000 1,346 0,000
-16 1,2000 -0,1500 1,197 -0,149
-15 1,2000 0,0000 1,197 0,000
-14 1,2000 0,0000 1,197 0,000
-13 1,2000 0,0000 1,197 0,000
-12 1,2000 0,0000 1,197 0,000
-11 1,2000 0,0000 1,197 0,000
-10 1,2000 0,0000 1,197 0,000
-9 1,2000 0,0000 1,197 0,000
-8 1,2000 0,0000 1,197 0,000
-7 1,2000 0,0000 1,197 0,000
-6 1,2000 0,0000 1,197 0,000
-5 1,2250 0,0250 1,221 0,024
-4 1,2500 0,0250 1,246 0,025
-3 1,2750 0,0250 1,271 0,025
-2 1,3000 0,0250 1,296 0,025
-1 1,3250 0,0250 1,321 0,025
0 1,3500 0,0250 1,346 0,025
1 1,3750 0,0250 1,371 0,025
2 1,3938 0,0188 1,389 0,018
3 1,3938 0,0000 1,389 0,000
4 1,3938 0,0000 1,389 0,000
5 1,3938 0,0000 1,389 0,000
6 1,3938 0,0000 1,389 0,000
7 1,3938 0,0000 1,389 0,000
8 1,3938 0,0000 1,389 0,000
9 1,3938 0,0000 1,389 0,000
10 1,3938 0,0000 1,389 0,000
11 1,3938 0,0000 1,389 0,000
12 1,3938 0,0000 1,389 0,000
13 1,3938 0,0000 1,389 0,000
14 1,3938 0,0000 1,389 0,000
15 1,3938 0,0000 1,389 0,000
16 no boot no boot no boot no boot
17 no boot no boot no boot no boot

V_DDR

over_voltage_sdram=# at /boot/config.txt

over_voltage_sdram Read out [V] Read out diff [V] Measured [V] Measured diff [V]
-17 1,2500 0,0000 1,247 0,000
-16 1,2500 0,0000 1,247 0,000
-15 1,2500 0,0000 1,247 0,000
-14 1,2500 0,0000 1,247 0,000
-13 1,2500 0,0000 1,247 0,000
-12 1,2500 0,0000 1,247 0,000
-11 1,2500 0,0000 1,247 0,000
-10 1,2500 0,0000 1,247 0,000
-9 1,2500 0,0000 1,247 0,000
-8 1,2500 0,0000 1,247 0,000
-7 1,2500 0,0000 1,247 0,000
-6 1,2500 0,0000 1,247 0,000
-5 1,2500 0,0000 1,247 0,000
-4 1,2500 0,0000 1,247 0,000
-3 1,2500 0,0000 1,247 0,000
-2 1,2500 0,0000 1,247 0,000
-1 1,2500 0,0000 1,247 0,000
0 1,2500 0,0000 1,247 0,000
1 1,2500 0,0000 1,247 0,000
2 1,2500 0,0000 1,247 0,000
3 1,2750 0,0250 1,272 0,025
4 1,3000 0,0250 1,297 0,025
5 1,3250 0,0250 1,322 0,025
6 1,3500 0,0250 1,347 0,025
7 1,3750 0,0250 1,372 0,025
8 1,3938 0,0188 1,391 0,019
9 1,3938 0,0000 1,391 0,000
10 1,3938 0,0000 1,391 0,000
11 1,3938 0,0000 1,391 0,000
12 1,3938 0,0000 1,391 0,000
13 1,3938 0,0000 1,391 0,000
14 1,3938 0,0000 1,391 0,000
15 1,3938 0,0000 1,391 0,000
16 1,2500 -0,1438 1,247 -0,144
17 1,2500 0,0000 1,247 0,000

Raspberry Pi 4 B

VDD_CORE

over_voltage=# at /boot/config.txt

over_voltage Read out [V] Read out diff [V] Measured [V] Measured diff [V]
-17 0,8562 0,0000 0,856 0,000
-16 0,8350 -0,0212 0,838 -0,018
-15 0,8350 0,0000 0,838 0,000
-14 0,8350 0,0000 0,838 0,000
-13 0,8350 0,0000 0,838 0,000
-12 0,8350 0,0000 0,838 0,000
-11 0,8350 0,0000 0,838 0,000
-10 0,8350 0,0000 0,838 0,000
-9 0,8350 0,0000 0,838 0,000
-8 0,8350 0,0000 0,838 0,000
-7 0,8350 0,0000 0,838 0,000
-6 0,8350 0,0000 0,838 0,000
-5 0,8350 0,0000 0,838 0,000
-4 0,8350 0,0000 0,838 0,000
-3 0,8350 0,0000 0,838 0,000
-2 0,8350 0,0000 0,838 0,000
-1 0,8350 0,0000 0,838 0,000
0 0,8625 0,0275 0,863 0,025
1 0,8875 0,0250 0,888 0,025
2 0,9063 0,0188 0,906 0,018
3 0,9313 0,0250 0,931 0,025
4 0,9563 0,0250 0,956 0,025
5 0,9813 0,0250 0,981 0,025
6 1,0063 0,0250 1,006 0,025
7 1,0313 0,0250 1,031 0,025
8 1,0563 0,0250 1,056 0,025
9 1,0812 0,0249 1,081 0,025
10 1,1000 0,0188 1,100 0,019
11 1,1000 0,0000 1,100 0,000
12 1,1000 0,0000 1,100 0,000
13 1,1000 0,0000 1,100 0,000
14 1,1000 0,0000 1,100 0,000
15 1,1000 0,0000 1,100 0,000
16 0,8350 -0,2650 0,838 -0,262
17 0,8563 0,0213 0,863 0,025

Raspberry Pi Compute Module 4

VDD_CORE

over_voltage=# at /boot/config.txt

over_voltage Read out [V] Read out diff [V] Measured [V] Measured diff [V]
-17 0,880 0,000 0,880 0,000
-16 0,835 -0,045 0,840 -0,040
-15 0,835 0,000 0,840 0,000
-14 0,835 0,000 0,840 0,000
-13 0,835 0,000 0,840 0,000
-12 0,835 0,000 0,840 0,000
-11 0,835 0,000 0,840 0,000
-10 0,835 0,000 0,840 0,000
-9 0,835 0,000 0,840 0,000
-8 0,835 0,000 0,840 0,000
-7 0,835 0,000 0,840 0,000
-6 0,835 0,000 0,840 0,000
-5 0,835 0,000 0,840 0,000
-4 0,835 0,000 0,840 0,000
-3 0,835 0,000 0,840 0,000
-2 0,835 0,000 0,840 0,000
-1 0,855 0,020 0,860 0,020
0 0,880 0,025 0,880 0,020
1 0,905 0,025 0,910 0,030
2 0,930 0,025 0,930 0,020
3 0,945 0,015 0,950 0,020
4 0,980 0,035 0,980 0,030
5 1,005 0,025 1,010 0,030
6 1,030 0,025 1,030 0,020
7 1,055 0,025 1,060 0,030
8 1,080 0,025 1,080 0,020
9 1,100 0,020 1,100 0,020
10 1,100 0,000 1,100 0,000
11 1,100 0,000 1,100 0,000
12 1,100 0,000 1,100 0,000
13 1,100 0,000 1,100 0,000
14 1,100 0,000 1,100 0,000
15 1,100 0,000 1,100 0,000
16 0,835 -0,265 0,840 -0,260
17 0,880 0,045 0,890 0,050

Conclusion

As you can see the RPi3B+ acts different to the newest models.
With the RPi3B+ and below over_voltage=8 brings you the highest VDD_CORE, whereby on a RPi4B setting 10 is the value of choice for max. VDD_CORE.
Even the CM4 acts slighty different to the RPi4B, because there is a small offset beginning at setting 0.

If you choose an extreme setting, the voltage acts weird.
over_voltage=16 is always a bad idea. Either the system won’t boot (RPi3B+), or the voltage jumps back to the stock value, which will result in an unstable system, since you change voltage mainly for overclocking purposes.

I want to test some more models, but this work consumed much free time, so please don’t expect any results in the near future.