It’s that time again. You may remember my old overclocking post for Raspberry Pi and the Raspberry Pi 2. Yes, still obsessed with performance.This Raspberry Pi 3 Overclock post seeks to overclock the Raspberry Pi 3 Model B. Squeezing out some extra performance without compromising stability. It’s highly recommended that you use a capable power supply with 2.5 amps or better. I’d recommend the CanaKit 5V 2.5A Raspberry Pi 3 Power Supply. Now, on to the /boot/config.txt edits.

Raspberry Pi 3 – Before overclocking

The Linux kernel ondemand governor used in the Raspberry Pi will increase the CPU speed to the maximum configured default value whenever there’s adequate load. Therefore, you can reduce lag and improve performance by disabling this CPU scaling feature and forcing the board to always use the default maximums.

The default idle config for the Raspberry Pi 3 board is arm_freq=600 and core_freq=250. The arm_freq setting still adds heat to the board when pushed beyond the default max of 1.2Ghz, so we are not touching that. This simply keeps the Raspberry Pi 3 board running at max defaults which are arm_freq=1200 and core_freq=400. To do this simply set these line in your config.txt:

force_turbo=1 #Voids Warranty! boot_delay=1 #helps to avoid sdcard corruption when force_turbo is enabled.

This is less risky than playing around with a bunch of other overclock settings. See below.

More speed? Raspberry Pi 3 Overclock – 1.35GHz

arm_freq=1350 core_freq=500 over_voltage=4 disable_splash=1 #force_turbo=1 #Voids Warranty! (uncomment to avoid CPU scaling down to 600Mhz) #boot_delay=1 #helps to avoid sdcard corruption when force_turbo is enabled. #sdram_freq=500 #uncomment to test. Works only with some boards.

Raspberry Pi 3 gpu_mem (1GB memory) allocation

gpu_mem (GPU memory) is measured in megabytes and sets the memory split between the CPU and GPU; the CPU gets the remaining memory. Minimum value is 16. If you are for example using the Raspberry Pi 3 as a gaming emulator, media player or using a desktop environment (LXDE, XFCE, Maynard, etc) then you’ll want to increase gpu_mem to at least 256. On the other hand, if you are using the Raspberry Pi as a web server, to build a drone or simply a console-based project then you should lower gpu_mem to 16. In other words, if your needs are graphical increase GPU’s memory, if not, lower it to the minimum.

eg. Web server, wireless access point, firewall, weather station, etc

gpu_mem=16

or for GUI usage, eg. OpenELEC, Raspbmc, RetroPie, XFCE, etc.

gpu_mem=320

Raspberry Pi 3 Overclock options

arm_freq – Frequency of ARM in MHz. (Raspberry Pi 3 Overclock)

– Frequency of ARM in MHz. (Raspberry Pi 3 Overclock) core_freq -Frequency of GPU processor core in MHz. It has an impact on ARM performance since it drives L2 cache.

-Frequency of GPU processor core in MHz. It has an impact on ARM performance since it drives L2 cache. sdram_freq -Frequency of SDRAM in MHz.

-Frequency of SDRAM in MHz. over_voltage – ARM/GPU core voltage adjust. Values above 6 are only allowed when force_turbo or current_limit_override are specified (which set the warranty bit).

– ARM/GPU core voltage adjust. Values above 6 are only allowed when force_turbo or current_limit_override are specified (which set the warranty bit). force_turbo – Disables dynamic cpufreq driver and minimum settings below. Voids Warranty.

– Disables dynamic cpufreq driver and minimum settings below. Voids Warranty. initial_turbo -Enables turbo mode from boot for a value in seconds (max 60) or until cpufreq sets a frequency. Default 0

-Enables turbo mode from boot for a value in seconds (max 60) or until cpufreq sets a frequency. Default 0 arm_freq_min – Minimum value of arm_freq used for dynamic clocking.

– Minimum value of arm_freq used for dynamic clocking. core_freq_min – Minimum value of core_freq used for dynamic clocking.

– Minimum value of core_freq used for dynamic clocking. sdram_freq_min – Minimum value of sdram_freq used for dynamic clocking.

– Minimum value of sdram_freq used for dynamic clocking. temp_limit – Overheat protection. Sets clocks and voltages to default when the SoC reaches this Celsius value. Setting this higher than default voids warranty. Default 85

– Overheat protection. Sets clocks and voltages to default when the SoC reaches this Celsius value. Setting this higher than default voids warranty. Default 85 disable_splash – If set to 1, avoids the rainbow splash screen on boot.

– If set to 1, avoids the rainbow splash screen on boot. boot_delay – Wait for x number of seconds in start.elf before loading kernel. Default 1

– Wait for x number of seconds in start.elf before loading kernel. Default 1 gpu_mem – GPU memory in megabyte. Sets the memory split between the ARM and GPU. ARM gets the remaining memory.

Raspberry Pi 3 Model B specifications

A 1.2GHz 64-bit quad-core ARMv8 CPU

802.11n Wireless LAN

Bluetooth 4.1

Bluetooth Low Energy (BLE)

1GB RAM

4 USB ports

40 GPIO pins

Full HDMI port

Ethernet port

Combined 3.5mm audio jack and composite video

Camera interface (CSI)

Display interface (DSI)

Micro SD card slot (now push-pull rather than push-push)

VideoCore IV 3D graphics core

The Raspberry Pi 3 has an identical form factor to the previous Pi 2 (and Pi 1 Model B+) and has complete compatibility with Raspberry Pi 1 and 2.

I’d love to hear your Raspberry Pi 3 Overclock configs and what power supply amperage you are running.

Disclaimer: As with most hardware and software modifications, individual results may vary.

Last updated: June 12th, 2019