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.