Raspberry Pi 2 Overclock

Updated: 09/22/15 – After 6 months of testing Raspberry Pi 2 Overclock with OpenElec, ArchWipi and Arch LEMP I’ve made some optimizations to the recommended config changes below. These have proven more stable. Also, now even with force_turbo enabled you shouldn’t experience freezing or resets. Enjoy!

Also see: My Ultimate Raspberry Pi 2 Starter Kit! (Important if you are overclocking!) and Raspberry Pi 3 Overclock

Some of you may remember my old overclocking post for Raspberry Pi. I’m still obsessed with performance. This Raspberry Pi 2 Overclock post seeks to overclock the Raspberry Pi 2 Model BSqueezing out some extra performance without compromising stability. It’s highly recommended that you use a capable power supply with 2 amps or better. I recommend something like is this dual port 2.1A power supply. (also see: What to buy for your Raspberry Pi) Now, on to the /boot/config.txt edits. 

Raspberry Pi 2 Overclock

Raspberry Pi 2 Overclock – config.txt

Lets increase performance by overclocking core frequency and RAM of the RPi2 board while leaving voltage default for stability:


Now, if you are running the Raspberry Pi 2 in a hot environment,  here are some settings to help lower temps (your Raspberry Pi 2 will only clock to 900MHz when needed). Make sure the force_turbo line is off (set to 0) or just remove that line completely since ‘off’ is the default:

initial_turbo = 30 #Does not affect warranty and speeds up boot.

Raspberry Pi 2 Overclock with Overvolting

The arm_freq setting still adds a lot of heat to the board when pushed. You can improve performance without overclocking the arm_freq using the following:


Raspberry Pi 2 Overclock – CPU to 1.0GHz

temp_limit=80 #Will throttle to default clock speed if hit.

…or for even more noticeable performance gains use force_turbo at your own risk!…

force_turbo=1 #Voids Warranty!
boot_delay=1 #helps to avoid sdcard corruption when force_turbo is enabled.
temp_limit=80 #Will throttle to default clock speed if hit.

Now even at 1000MHz overclock that’s an extra 100MHz over 4 cpu cores. With the previous Model B adding 300MH to one core would resulted in 1000MHz. On the Pi 2, with 1000MHz x4 overclock that’s a LOT better than the first gen RPI B+ @ 1000MHz. Ultimately, the developers chose to give us 4 CPU cores rather than say a single core with much higher clock speed, because over all its more adaptable to various tasks.  The ‘force_turbo=1’ option helps get rid of performance lag.

Raspberry Pi 2 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 2 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.

Related:  Official ArchWipi - Download Arch Linux Raspberry Pi WiFi Access Point

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


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


 Raspberry Pi 2 Overclock options

  • arm_freq– Frequency of ARM in MHz. (Raspberry Pi 2 Overclock)
  • core_freq -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.
  • 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).
  • force_turbo – Disables dynamic cpufreq driver and minimum settings below. Voids Warranty.
  • initial_turbo -Enables turbo mode from boot for the given value in seconds (up to 60) or until cpufreq sets a frequency. Default 0
  • arm_freq_min – Minimum value of arm_freq used for dynamic clocking.
  • core_freq_min – Minimum value of core_freq used for dynamic clocking.
  • sdram_freq_min – 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
  • disable_splash – 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
  • gpu_mem – GPU memory in megabyte. Sets the memory split between the ARM and GPU. ARM gets the remaining memory.
Related:  80% of the web powered by PHP

Raspberry Pi 2 Model B specifications

  • SoC – Broadcom BCM2836 900MHz quad-core ARM Cortex-A7 CPU
  • 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
  • VideoCore IV 3D graphics core
  • Power – 5V via micro USB port.
  • Dimensions – 85 x 56 mm

I’d love to hear your Raspberry Pi 2 Overclock configs and what power supply amperage you are running. I’m hoping to attempt more extreme clock settings but I need at LEAST two of these boards so I can confirm some measure of stability.

Tags: , , ,