The Raspberry Pi is pretty easy to overclock due to an inbuilt config file. This morning I decided to see how far I could push my little Pi.
You can see the full list of options for the config file here. Just to make clear, overclocking shouldn’t cause any damage to your Pi (meaning your warranty is fine), overvolting on the other hand probably will damage it over time. If you use the overvolting options then a one-time-programmable bit is set, and your warranty is void. You have been warned.
Benchmark
From here we can start setting some clock values. To start I created a very crude calculation benchmark, calculating PI to 2000 decimal places (thanks to this post):
time echo "scale=2000;4*a(1)" | bc -l
Which took 21.727 seconds on my stock Raspberry Pi.
Overclocking
The config file location is on the /boot partition if you’re using the Debian distro, but it’s not there by default. Instead we have to create it:
sudo nano /boot/config.txt
There are three main areas we can overclock: CPU, RAM and GPU. As I’m not too interested in the GPU, I’m going to concentrate on how far I can push the CPU and RAM.
The default CPU frequency for the Pi is 700MHz, so my first try was to increase that to 800MHz by putting the following in the config.txt and rebooting:
arm_freq=800
This produced a benchmark result of 19.023 seconds. A nice increase of ~12%, so far so good! Next I wanted to increase the SDRAM frequency from it’s stock 400MHz to 500MHz:
arm_freq=800 sdram_freq=500
This produced a benchmark result of 18.981 seconds. Not much of an increase, which I kind of expected considering that my benchmark is more likely to be CPU bound than memory bound. I imagine for my media serving purposes that the RAM frequency increase will be beneficial though.
My final change is to increase the CPU Frequency again to 900MHz, which seems to be the limit for chips without overvolting:
arm_freq=900 sdram_freq=500
This produced a benchmark result of 16.924 seconds. Another increase of ~11%!
Stability
That’s as far as I want to push my Pi for now, a ~25% increase in performance is not bad for a hour’s work! The test will be whether this is stable to run constantly.
Many thanks, ive never overclocked a machine before, and your guide worked a treat. You can really tell the difference!
Gordon.
Before trying to overclock my RPi I have measured the temperature of CPU. It was higher then 43 (that’s the limit of my med.thermometer
). What will happen if I overclock it?
time echo “scale=2000;4*a(1)” | bc -l I cant run this on Openelec through SSH, what else can i use to try and test stability?
I don’t know. I haven’t been running mine 24/7 yet so but in my tests the temperature rises, but not enough to make it dangerous.
Your welcome!
Hmmm, does it work without the time command?
15.4 on a GuruPlug, 43.3 on an iMX233 board (Olinuxino Maxi)
Great post. I tried mine at 900 and got a kernel panic. Seems okay at 800 / 500 though.
You don’t have to go up in 100′s. Try 820 and keep adding adding 10′s until you hit a kernel panic.
Hi there, i followed the tutorial and did everything it says to do but i see no difference in benchmarks after putting it to 800 and 500 (CPU and RAM) If you have any ideas as to why this isn’t working then could you please let me know, I am also running debian like you
Great Article you’ve really helped me and some friends!
I will definitely try this out when I my Pi this week.
Ah btw, in the first line you could leave one “built-in” out:
“The Raspberry Pi is pretty easy to overclock due to a(n) (inbuilt) config file the devs have built in.”
Edited. Thanks!
What would I enter to try overclocking the GPU and what is it’s default value?
I changed to 800 CPU and everything seemed fine, but when I tried 900 on CPU, Pi refused to boot. Is an SD image re-install required every time this occurs?
Is there a way to also clock the GPU and what are the settings people are finding most stable?
Thanks for any help that can be given.
I set the frequency on my freinds to 7000MHz, yes 7GHz, and somehow the pi booted, on a check of the system, it showed the cpu was working flat out and the hdmi output was only working at about 20FPS
Hi
this is curious because i’m using the last raspbian image (2012-07-15-wheezy-raspbian.img)
and it took 26s to do this benchmark without overclocking.
if i overclock with 900/500/500(this last is for corefreq)
it still took 19s to do the job?
I wonder why i’m so far your result(more than 20% is enormous !!)
any idea are comment are welcome….
It probably rejected the value as nonsensical and ran on some very low default frequency.
playing with this and have seen noticable improvements when playing high bitrate 1080p videos with Xbian. My last (still testing) good settings are -
root@XBian:~# cat /boot/config.txt
arm_freq=1100
core_freq=490
gpu_freq=490
isp_freq=490
sdram_freq=490
over_voltage=6
[seems stable so far]
While this uses higher voltage and void the warranty, I can now play almost all my movie collection without dropping frames. Temps are higher, about +5/+8 degrees compared to stock. I get now -
time echo “scale=2000;4*a(1)” | bc -l
real 0m14.934s
user 0m14.860s
sys 0m0.010s
Oh, and a few hints -
CPU FREQUENCY
watch -d cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
TEMPERATURE
watch -d cat /sys/class/thermal/thermal_zone0/temp