How to Overclock Raspberry Pi 4 to 2.0 GHz

Yesterday I played with my new “ICE Tower CPU cooling fan”  for Raspberry Pi 4 which cools the board just great but is clearly over the top. Regular reader and commenter m][sko mentioned it was possible to overclock Raspberry Pi 4 to 2.0 GHz after a firmware upgrade. That looks like a perfect task for my new fansink!

I’ve upgraded both the firmware and operating system:


then edited /boot/config.txt as root (sudo) to add the following lines to boost the maximum frequency to 2.0 GHz:


Do not try to set force_turbo=1, as while it would allow to further boost the voltage, it will change a fuse in the chip, and it will void your warranty.

We can now reboot the board to validate the settings, and check those are applied:


Good. At idle the frequency is lower, but that normal:


Voltage is set to 1.0335V:


over_voltage will decrease or increase the max voltage in decrements/increments of 0.025V steps. The range -16 to 8, or 0.8V to 1.4V.

Let’s run sbc-bench.sh as we did previously, and monitor the temperature with rpi-monitor:


Let’s go to the log to check the maximum temperature and actual frequency during 7-zip test:


Broadcom BCM2711 processor Arm Cortex-A72 cores were indeed clocked at 2.0 GHz, and the temperature went as high as 53.1°C, so we still have a good safety margin here.

Click to Enlarge

rpi-monitor chart actually shows a peak at 55°C, but still 30°C from the 85°C temperature limit of the processor.

Let’s see how much performance we’ve gained against running Raspberry Pi 4 at the default 1.5 GHz frequency.

Raspberry Pi 4 @ 1.5 GHz Raspberry Pi 4 @ 2.0 GHz (overclocked) Ratio
memcpy 2636.2MB/s 2547.2MB/s 0.97x
memset 3707.9MB/s 3651MB/s 0.98x
OpenSSL AES-256-CBC 16K 64744.11k 86338.22k 1.33x
7-zip 5454 6905.33 1.27x
Relative performance of Raspberry Pi 4 @ 1.5 GHz vs Overclocked Raspberry Pi 4. Note OpenSSL score has been divided by 10 to show all results in the same chart

Memory benchmarks are basically the same meaning the bandwidth is not limited by the processor, but for other benchmarks, we get 27% to 33% performance improvement which mostly matches the theoretical 33% improvement we ought to expect.

If for some reasons, you’d like to have higher memory bandwidth, you could mess up with sdram_freq and over_voltage_sdram as explained in RPi overclocking options.

Share this:

Support CNX Software! Donate via PayPal or cryptocurrencies, become a Patron on Patreon, or buy review samples

21 Replies to “How to Overclock Raspberry Pi 4 to 2.0 GHz”

  1. Would someone really use it long term sat open on desk with the ice tower or should it be tested in a case?

    1. I’m waiting for the 4GB model. I still have a few giants CPU coolers from the late 90s in my stash. I think I’ll be able to adapt one of them.

        1. There are very nice ATX full towers now :)) This being said these coolers were work of art at the time, I’m thinking in particular of one which had a full circle of copper plates (not the horizontal one Zallman.) Almost a crime to hide them in a box.

  2. Nice one. I think that the frequency in the table header is inverted.

    Still, I think that those high temps and need for such big heatsinks are limiting it’s usage. Maybe underclocking is better than overclocking in this case so you can use it without heatsink. For example a nice benchmark would be, how much do you need to underclock rpi4 so it doesn’t throttles with a simple passive heatsink and how well it performs at that frequency.

    1. > I think that the frequency in the table header is inverted.

      Are you referring to this?

      ‘Fake’ is what the Linux kernel thinks would happen. But Linux on the RPi is just a secondary OS running on the ARM guest processors. And a guest OS like Linux on the RPi has no idea what’s really going on: https://github.com/raspberrypi/linux/issues/2512#issuecomment-382703153

      The Linux kernel will display 2.0 GHz even if the ARM cores are just running with 600 MHz due to undervoltage or throttling.

      That’s what the ‘real’ column is for. Here the primary operating system running on the VideoCore (ThreadX) is asked about the real clockspeeds using /usr/bin/vcgencmd measure_clock arm. No idea why ThreadX reported once 2001 GHz since Jean-Luc configured arm_freq=2000.

      1. No I meant the table in the end of the post with the memcpy and memset tests.
        _But it’s my mistake_.
        I expected those test to be faster @2.0GHz and I thought it was inverted.

      2. Thanks for the info, I haven’t realised that Linux is a guest OS. Interesting and concerning at the same time. I’ll have a look at it.

    1. Your stability issues might possibly be caused by light or other radiations that can reach the silicon while they were blocked by the aluminum before. Make sure no area around is visible from outside. The edges are not supposed to be sensitive but the hole square centimeter of silicon can be sensitive to intense light. Just try to photograph it with a flash during a build and you’d be surprised to see it hang or crash.

      1. It looks like when I exchange thermal tape to proper thermal paste everything works just fine and temperature is much better. It looks like 3M thermal tape from isn’t big win after all.

        1. That doesn’t surprise me. I found as well in my build farm that thermal tape isn’t that good.

Leave a Reply

Your email address will not be published.

Advertisement
Advertisement