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.

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.


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.

Updated: June 12th 2019

Tags: , ,

Raspberry Pi 2 Overclock

69 Responses

  1. how much speed do you able to reach with stable settings? and how much heat the rpi2 generated with those settings? (with or without heatsink)
    lastly, what’s the maximum overclocking options in the config.txt?

    thank you.

    selooe February 7, 2015 at 5:28 am #
  2. Nice article

    simon tan February 7, 2015 at 1:59 pm #
  3. I would suggest that you use the proper prefix and unit, M for mega and Hz for Hertz. The unit you used of 1 mHz is the very low frequance of 0.001 Hz. And 1 MHz is a much higher frequancy of 1,000,000 Hz.
    Except for that, thanks for a good article.

    Anders February 10, 2015 at 12:56 am #
    • Hi Anders, thank you for spotting that! Will fix it now.

      Hayden James February 10, 2015 at 1:40 am #
  4. Does it make sense to overclock extreme (1.1GHz, overvoltage 6, etc) _and_ also sets cpu_freq_min to 400, core_freq_min to 250? Could cpufreq lag cause video frames to be missed?

    The board runs OpenElec and is turned on all the time, so it runs idle most of the time.

    Pascal February 12, 2015 at 1:44 pm #
    • Hi Pascal, can be useful yes. When idle lowering the minimum frequencies will only make a difference in 1 – 2 degrees. However it is less stress on hardware.

      As far as lag goes, I use OpenElec to with:

      Lag may or may not be noticeable you have to test. But adding force_turbo=1 (on $50 hardware) it ensures frequencies are always at best. I ran force_turbo=1 on my B and B+ (but also with ARM overclocked) and never had any issues, both still work. Just make sure if you use a case its breathable. You don’t need fans or heat sinks unless you purchase a case which provides no ventilation. Default temp limit is 85 so you can set say temp_limit=80 and if you hit that then use a different case or buy cooling accessories.

      With that said, the Raspberry Pi 2 is already much faster than the B+ so really for OpenElec you don’t even need force_turbo or arm overclock, I find core_freq and sdram_freq to make the most impact on menu loading in OpenElec (default skin). You may need arm overclocking as well if you install a heavy skin.

      Hope this helps!

      Hayden James February 12, 2015 at 4:29 pm #
    • The BCM2836 has a manufacturer safe operating temperature limit of 100°C, so lowering the already very conservative 85°C limit set by the Pi Foundation will achieve nothing of any value and may lead to premature throttling with unnecessary loss of performance. I’d suggest leaving it alone.

      Ian Barlow January 8, 2016 at 9:10 am #
  5. Hi,

    my config.txt is as follows (after using the Pi 2 setting in raspi-config Overclocking section):

    however, running /opt/vc/bin/vcgencmd measure_clock on arm, core and emmc returns:
    arm: frequency(45)=900094000
    core: frequency(1)=250000000
    emmc: frequency(47)=250000000

    is this a problem of vcgencmd? or are the overclocking configurations not applied at startup?

    Thanos February 13, 2015 at 3:32 pm #
    • The RPI will always throttle down when not under load. If you want overclocking to be on all the time you’ll have to use:
      force_turbo=1 #Voids Warranty!!!

      Hayden James February 13, 2015 at 8:04 pm #
  6. Hi, Nice guide. I’d want to have mine set up so it can run as fast as possible without voiding warranty but also adding fail-safes. Its going to run 24/7 but replace my home server. I’ve added a ram heatsink to the two chips. I dont use the gui, and I putty in 99% of the time! Looking at your guide, in theory, would doing something like this work? or is it one config or the other?:
    temp_limit=80 #Will throttle to default clock speed if hit.
    initial_turbo = 30 #Does not affect warranty. (Speeds up boot)


    Paul February 16, 2015 at 11:15 pm #
    • That looks good! Performance when you need it and clocks down when idle. Thanks for sharing.

      Test with:

      ….before going straight to 1100.

      Let me know if it works.

      Hayden James February 16, 2015 at 11:34 pm #
    • Hi Hayden. Im glad to say, both configs work! I’ve been using 1000 for 24 hours and 1100 for about an hour. My pi crashed at 1000 initially, but that was when I was trying to run a million jobs at once. I’ll keep you posted if any changes to stability.

      Paul February 19, 2015 at 9:51 pm #
  7. Hi Hayden,

    I got interested by over-clocking of RPi2.
    What I found weird, is that after increasing freqs, as you suggested my RPi gets slower (0:10:27 for non-OC vs 0:10:46 for OC)! My config:

    The nbench results are not conclusive, some are slightly better in non-OC, some in OC.

    This gets even worse (0:15:36), when `freq_min` are defined:

    I’m running default Raspbian Wheezy. Any idea why this happens?

    Leszek February 22, 2015 at 2:10 pm #
    • Try 1000 arm_freq. Maybe your board isn’t performing well at 1100.

      freq_min isn’t for making the RPi faster. Its for less heat/power consumption… albeit very very slight. Just allows the hardware to idle at lower freq. (user preference)

      However its strange that you get slower nbench with min_freq because the board should NOT be idle during proper benchmark tests and thus those idle settings wont be used during benchmarks.

      Hayden James February 22, 2015 at 7:28 pm #
    • This may be caused by the throttling of the SoC causing performance drops when the temperature rises

      Lucas July 4, 2015 at 11:08 am #
  8. Hi Hayden,

    Great post! Thank you for all the detail.

    I have a RPI2 with openelec latest version, i have used the following settings:

    But in Openelec it says 600 MHZ in the settings and I still get a splash screen. Any ideas?


    Lee February 23, 2015 at 9:56 pm #
    • What spash screen are you referring to? (what splash screen are seeing? describe) Unless you are forcing turbo (voids warranty) the overclock max won’t be used until cpu is under load.

      Hayden James February 23, 2015 at 10:14 pm #
    • Ahh great thanks for clearing that up!
      By the splash screen I mean the “rainbow” looking screen when it boots up!

      Lee February 23, 2015 at 10:38 pm #
    • Thats strange. Will test when I have a chance.

      Hayden James February 28, 2015 at 7:36 pm #
    • Use this to disable that rainbow splash during boot:

      Hayden James November 9, 2015 at 1:05 am #
  9. Hi.

    I’ve been having trouble with my Pi2. Initially I set it in raspi-config to the Pi2 setting of 1000MHz but it kepy crashing everyday. It’s connected to 2 IP cameras on the network and runs “motin” to detect and save movement and files to my NAS. The only way I could get it to stop crashing was to drop it down to 700MHz but that’s below what the Pi2 standard is isn’t it? Any ideas why I might be having trouble?

    Current setting are below but it should be capable of more yes?

    # NOOBS Auto-generated Settings:

    Thanks for any comments and thoughts.

    Don February 28, 2015 at 7:10 pm #
    • Start over with default config. Then make changes one line at a time. Test until you figure out your offending line of code.

      Be careful with increasing any of the freq settings to high without proper voltage increase.

      Please subscribe to this post/comments I will send out a special invite to tuning soon.

      Hayden James February 28, 2015 at 7:26 pm #
    • Thanks. I’ll go back and try that… I’ve just copied in Paul’s settings from above so won’t have a clue what the problem is because it’s all change! Cheers< Don

      Don February 28, 2015 at 7:30 pm #
    • Here’s my current STABLE config for my RPI 2 (I know another cut and paste haha):

      force_turbo=1 #see above warning!

      not all RPI’s overclock the same. Let me know if you try this and if it works.

      Also this is for use with OpenElec. If you are using for server etc then lower gpu_mem as discussed above.

      Hayden James February 28, 2015 at 7:38 pm #
    • thanks. i’m on raspbian and only ssh into my pi so have kept gpu low which is right with netcams isn;t it? i think if i was using the picam module it would use gpu yes? anyhow, i’ll let you know how i get on. there’s nothing more soul destroying than leaving it to do it’s stuff only to find that the cameras have crashed as son as i’ve left the house or gone to sleep ….. Luckily no burglars have shown up yet!

      Don February 28, 2015 at 8:13 pm #
    • Hi,
      Why did you set “over_voltage=6” ? I’ve read in the post above you set it to “2”.
      How did you come to the conclusion you should change this value ?

      John January 28, 2016 at 8:21 am #
    • Hi Don,

      You may already have an answer to this but if your netcams are connected directly to the pi then increasing frequency & voltage etc could push current demand over what your psu can supply, introducing instability. I have seen this may times over the years. An external, powered usb hub, could free psu power up for the cpu overclocking.

      mrpollif April 15, 2015 at 4:54 pm #
    • Are you serious? You make people think it can harm device. Increasing frequencies make chips bit hotter but can’t harm it, it can only kernel panic and reboot. Too high voltage make chip much more hotter and can harm it. Have you overclocked anything else before, and know something more about what’s going on there?

      Snoop05 March 24, 2015 at 6:01 pm #
    • Thanks for agreeing with the article.

      Hayden James March 24, 2015 at 6:13 pm #
    • Check your power source. I use 5V 2.5A

      Ken June 5, 2015 at 12:26 pm #
  10. is it possible to get it to 1200 arm_freq? i try it dosn’t work

    xaw2 March 2, 2015 at 9:57 pm #
    • If you are referring to the Raspberry Pi B and B+ then yes. But without force_turbo (or current_limit_override) over_volt is limited to 6 and you’ll need 7 or 8 overvolt for 1200+ overclocking. I would not recommend. Also you need to keep the CPU/board cool and/or well ventilated.

      For the Raspberry Pi 2 the most I’ve tried is 1100 with 6 overvolt.

      Hayden James March 3, 2015 at 11:34 am #
    • No I ment the 2 as mine don’t get very hot on 1.1

      xaw2 March 3, 2015 at 12:59 pm #
    • This is fast enough for me:
      force_turbo=1 #see above warning!

      Hayden James March 4, 2015 at 9:01 am #
  11. What if I want to back to defaults? Can you tell me the default configuration fot RPi2?

    piponito March 5, 2015 at 12:21 am #
    • Always backup config files before making changes. Try renaming it (mv config.txt config.txt_bak) then run rpi-update and see if it regenerates. If not copy from another install.

      Hayden James March 5, 2015 at 2:05 pm #
  12. For stress testing, you can use stress –> http://people.seas.harvard.edu/~apw/stress/
    should be in the repos of all common distros.
    For cpu stress test –> stress -c i.e for quadcore: stress -c 4

    run it for some hours, and if it doesn’t crash (look or log the temps), it should be stable ;)


    tschaerni March 9, 2015 at 7:32 pm #
  13. I would like to see someone post the highest stable results they can get. 1200 is the max I could get out of my B+. I’m curious if someone can get there without experiencing SD hangs or kernel panics.

    Joseph Pruitt March 15, 2015 at 2:07 am #
  14. Hi,
    Thanks for the article , I’m using OpenELEC only, i want to speed up the GPU because some of the skins are really heavy and the FPS slows down a lot !
    What are the best settings for this without making the RASP 2 to hot , and off course a stable voltage also :)

    Gabi March 16, 2015 at 6:29 am #
    • Hi Gabi, Here’s my Raspberry Pi 2 Overclock I’m using with OpenELEC:

      force_turbo=1 #see above warning!

      Hayden James March 16, 2015 at 8:35 pm #
    • Thanks you so much , i will wait for my AC adapter to come and i will check it :)

      Gabi March 16, 2015 at 8:39 pm #
    • YW. Yes, very important to have at least 2amp power supply.

      Hayden James March 16, 2015 at 8:40 pm #
    • Hi Hayden,

      Many thanks for this. I’ve been using your exact same settings for a while, but always had a reboot occur every 2-3 days. I read elsewhere that by reducing sdram_freq from 500 to 480 it should improve this. I’m pleased to say that this does indeed make the setup much more stable.

      Tony Sharpe June 10, 2015 at 9:28 am #
    • Hi James,

      Please can you tell me if you use a fan or not?
      My device has a case but no fan, can You recommend your settings without using a fan?

      regards, Koen

      Koen De Buck March 4, 2016 at 11:08 am #
    • No, no fan. Its not necessary. The board can safely operate up to 85C.

      Hayden James March 5, 2016 at 5:20 pm #
    • You may need a fan (or at least a heatsink) if pushing the overclocked CPUs and GPU hard simultaneously and want to avoid thermal-throttling, especially if the Pi is in a case.

      My cased and overclocked Pi2B thermal-throttles with an ambient temperature of just 18°C when playing Quake 3 Arena at 1920×1080 resolution. Other heavy 3D applications have a similar effect. This required a large heatsink (14x14x10mm) and a small fan to guarantee that it won’t throttle back until ambient hits around 30°C.

      The heat generated by an overclocked and heavily worked GPU can easily add another 15°C on top of the temperature reached by stressing all 4 CPU cores simultaneously, so it’s worth factoring in when deciding whether or not you may require additional cooling.

      Running the following one-line script in a terminal in the background while heavily loading up your Pi2B will tell you what temperature you’re actually reaching and whether or not it’s throttling back…

      while true; do vcgencmd measure_temp && vcgencmd measure_clock arm; sleep 2; done

      Throttling in itself is totally harmless, but it can have a significant impact on performance if/when it happens.

      Ian Barlow March 6, 2016 at 1:34 pm #
  15. I read somewhere that if you increase the gpu_mem you also need to increase the voltage, i.e. for RetroPie. What would you suggest the voltage be increased to?

    haxel March 17, 2015 at 12:46 pm #
  16. New Raspberry Pi 2 arrived today. Moved one of my Raspbian installs over to it and these were the settings I decided to go with:

    initial_turbo = 30

    I’m running Kodi installed in Raspbian, cups printer sharing for AirPrint support, forked-daapd for Airplay music streaming that supports multiple speaker locations, and a web server that just has WOL to wake computers remotely. I also have Motion web cam software installed but only run it when away from home.

    Raspbian installed using NOOBS, however I have moved the root partition over to USB drive. I’m not sure if this helps with stability still or not.

    Temperature has been sitting at around 45.5°C to 47°C.

    Tom+A March 19, 2015 at 5:20 am #
  17. I’m using this currently:
    # SDRAM size based GPU memory split, uncomment and setup to override ‘gpu_mem’

    …And running without problems for some days now…

    TiM March 24, 2015 at 1:06 pm #
  18. Hi, I wonder how high you’d have to clock the memory to start to see instability?
    Someone suggested using a massively overclocked Pi with a cooled (7C) CPU but running the memory at a stable 65C could be handy for pattern recognition as under certain conditions tunneling between rows could get near quantum level speedups in a broadly similar way to D-Wave’s Vesuvius chip.
    For solving particularly hard problems such as cracking codes where even 20% of the key dramatically reduces the searchable keyspace then this could be interesting,

    Conundrum2063 March 28, 2015 at 8:08 pm #
  19. if i want to increase the gpu_mem allocation to 256 like you suggest when running openelec, do i need to configure ANY of the other overclock settings? or can i just increase the gpu_mem by itself.

    Jonathan July 4, 2015 at 5:27 pm #
  20. Thanks Hayden, really good post. This is my first RPi2 and its really helped clear things up for me.

    X August 11, 2015 at 12:54 pm #
  21. Apparently, enabling force_turbo=1 only voids the warranty if you also overvolt. If you keep everything else stock but enable the cpu to run at full speed 100% of the time, then you’d be fine.

    greenbag August 29, 2015 at 3:52 am #
  22. Just to add a bit of information regarding overclocking on this great article.

    My overclock settings are:

    But even at these speeds I couldn’t play 1080p 60fps h264 videos (24Mb/s constant bitrate stream generated by a Sony camera) smoothly on my Pi2 (using openelec latest stable version). The video was too slow and couldn’t keep up with audio. Only after specifically overclocking the h264 decoder I got it to run perfectly in sync and no slowdowns. The setting:


    should do the trick (up from the default 250Mhz). I got it to run at 400Mhz just to have some extra decoding power headroom.

    JamesX October 5, 2015 at 7:53 pm #
    • Thanks. I will give h264_freq=350 a try.

      Hayden James October 5, 2015 at 7:58 pm #
  23. Hello
    There are two config.txt files,first in boot/config.txt and the second in boot/firmware/config.txt .
    -Which file should be modified?
    -The above mentioned options like core_freq_min, arm_freq_min,… aren’t seen neither commented nor active in both files, should they added manually?

    armin October 18, 2015 at 7:19 am #
  24. Hi,
    I had a problem after i clocked the pi2 to 900Mhz , now when i remote login to the pi from my windows PC, it only shows black screen. What cud have possibly happened??

    Fai December 12, 2015 at 5:28 pm #
    • NVM, it was a disk space issue, and it got fixed . :)

      Fai December 12, 2015 at 5:49 pm #
  25. do you require a heatsink for overclocking? lets say to the maximum settings?

    jay December 27, 2015 at 11:00 am #
  26. Morning sir, I have a question. I overlooked my pi 2 to turbo, I think this was a mistake cause it won’t boot up past retro pi splash screen. Can I do a comand as soon as it powers on so I can get into comand line. That way I can go into the retro pi config and change back.

    Jose January 11, 2016 at 12:37 pm #
  27. Hi there,

    I want to watch H.265 720p files on my Pi 2. Putting it in turbo mode helped a lot but it’s still buggy sometimes. Could I overclock the Pi2 to make it work? What values should I put?


    lalala May 15, 2016 at 12:11 pm #
    • You would need to enable hardware decoding to make a real difference. But that requires purchasing a license

      carc1n0gen December 20, 2016 at 10:33 pm #
  28. Any new cool RPi3 configs anyone wanna share? :)

    Patrick May 15, 2016 at 2:44 pm #
  29. Raspberry Pi 3 overclocking guidance added:

    Hayden James May 17, 2016 at 5:32 am #
  30. Can someone tell me where to use these commands with Retropie or does these work in there?

    Ahoz February 13, 2017 at 3:52 pm #
  31. Great article. For anyone struggling with OSMC on the pi3 check out my guide. http://pi3osmc.blogspot.com/

    Jacob Donahue May 22, 2017 at 9:39 pm #
  1. kaefpe.me :: Raspberry Pi: Overclocking - August 9, 2015

    […] Więcej informacji na temat wszystkich opcji podkręcania znajdziecie między innymi tutaj. […]

  2. Low Cost CCTV System With The Raspberry Pi | Transparent - September 20, 2015

    […] http://haydenjames.io/raspberry-pi-2-overclock/ […]

  3. Pi as Access Point | Internet of Things - March 2, 2016

    […] here for the […]

Leave a Reply