Stable Overclocking For Your Raspberry Pi 3 (b)

New Article

2018/10/12

RaspberryPi Performance

There are some ways which can increase the performance of your Raspberry Pi. Some of them are rather stable and get give you a decent speed boost while others only make sense when using in a combination with a cooling strategy.

The Stable Tweaks

Hints for stability and warranty voiding

There are some tweaks for which I never encountered any problems with stability or too much heat. So take this as some ways to squeeze out more performance with a rather low risk of instability.

Also note that these settings don't void your warranty on your raspberry as long as you don't use settings which are explicitly specified for doing so. You can read more on this in the official documentation linked at the bottom of this text.

How Overclocking Works On The Raspberry Pi

You can set hardware-wise changes on the Raspberry Pi by editing the config.txt in the /boot path. You will need sudo rights to edit this file and it is done like this:

Let's overclock

You can add the following to your config.txt which should be quite stable:

dtoverlay=sdhost,overclock_50=100
gpu_freq=500
sdram_freq=500
sdram_schmoo=0x02000020
over_voltage=2
over_voltage_sdram=2

Now reboot your machine for the changes to be taking into account:

What the values mean

Here is a short description for every setting:

  • dtoverlay=sdhost,overclock_50=100:
    Overclocks the sd card reader to 100 Mhz which increases the read and write throughput of the raspberry pi by up to 20%. I was using this setting for a few months and didn't have any problem with it. It may vary with different sd cards.
  • gpu_freq=500:
    Overclocks the gpu from 400Mhz to 500 Mhz. This increases the graphical performance by 5-10% but also the CPU performance as the raspberry pi uses the GPU for L2 cache and memory bus.
  • sdram_freq=500:
    Overclocks the RAM speed from 400Mhz to 500Mhz. This increases the RAM throughput a little.
  • sdram_schmoo=0x02000020:
    Sets the RAM timings and signal strengths. This isn't officially documented but in my experience it also increases stability for overclocked systems.
  • over_voltage=2:
    Sets the default voltage of the CPU/GPU components from 1.2V to 1.25V. This doesn't increase the performance in perticular but increases the stability of the system if higher clock rates are used.
  • over_voltage_sdram=2:
    Sets the default voltage of the RAM from 1.2V to 1.25V. Same as above for CPU/GPU.

Ways to restore your system

If you hit the border for your system and your screen stays black or you can't boot your system for whatever reason you can do the following to restore it.

  • Disconnect the power source from the raspberry pi
  • Remove the sd card and put it in your computer with a sd card reader
  • Open the boot partition of the sd card in a filebrowser and edit the config.txt with a editor of your choice
  • Remove all the entries which you added to the system or restore the clocks to the values which you remember were stable
  • Save the file and dismount the sd card
  • Try again!

More information regarding this topic:

There is also a value to increase the clock speed of the CPU (arm_freq) but I couldn't find a value which was making sense in performance and stability. Overclocking by 50 Mhz did not make that of a change in performance and a value of a 100Mhz more on the CPU caused freezes on my system. You can try it yourself for your system though.

You can read more about possible configuration in the official raspberry pi documentation here: Raspberry Pi Offical Documentation