Today it has been announced that if you are using the Wheezy image of Raspbian you can update to allow dynamic overclocking without voiding warranty. I’ve been using my Raspberry Pi for a little while now and have begun to notice the CPU limitations when compiling code and performing other tasks so I jumped at the opportunity to give this a go. I’ll briefly go through the steps I went through in order to update the OS, as well as provide a basic benchmark that will display the changes.
You can either upgrade your current software versions, or alternatively you download the latest version of the Raspbian image which is up to date with everything already.
So running the following as root:
apt-get update apt-get upgrade
I had not upgraded my Raspberry Pi since my original installation so this process took me quite a while.
As I’ve never done any form of updating I needed rpi-update so I could update firmware.
wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update && chmod +x /usr/bin/rpi-update
After this I tried to run rpi-update, but found that I needed to first have GIT installed.
root@raspberrypi:~# rpi-update Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS Performing self-update This tool requires you have Git installed, please install it first In Debian, try: sudo apt-get install git-core In Arch, try: pacman -S git
No problem, I installed GIT and then proceeded with running rpi-update once.
rpi-update took a little while to complete, but finished successfully. After this I was able to run raspi-config
Once running this you will get the below menu, navigate to overclock with the arrow keys and press enter.
Next you will be given a warning about overclocking, after that you will be presented with the 5 levels that you can overclock to.
Note that every time you change the overclock preset you will need to reboot for it to take effect.
The current benchmarks I have performed were done using this Python script which calculates all the prime numbers up to 1,000,000 – a task that works the CPU quite well.
I’ve run the test 3 times at each overclocking preset level so that you can get an idea of the difference in performance between the 5 levels.
None 700MHz ARM, 250MHz core, 400MHz SDRAM, 0 overvolt Found 78497 primes in 0:05:24.025816 Found 78497 primes in 0:05:12.471679 Found 78497 primes in 0:05:45.434684 Modest 800MHz ARM, 300MHz core, 400MHz SDRAM, 0 overvolt Found 78497 primes in 0:04:34.712732 Found 78497 primes in 0:04:36.838428 Found 78497 primes in 0:04:44.019617 Medium 900MHz ARM, 333MHz core, 450MHz SDRAM, 2 overvolt Found 78497 primes in 0:04:04.950124 Found 78497 primes in 0:04:05.154845 Found 78497 primes in 0:04:10.899346 High 950MHz ARM, 450MHz core, 450MHz SDRAM, 6 overvolt Found 78497 primes in 0:03:42.140013 Found 78497 primes in 0:03:41.933866 Found 78497 primes in 0:04:03.094127 Turbo 1000MHz ARM, 500MHz core, 500MHz SDRAM, 6 overvolt Found 78497 primes in 0:03:54.706406 Found 78497 primes in 0:03:29.330381 Found 78497 primes in 0:03:29.302173
Here is the above data in a graph.
As you can see the overclock is performing much better at the simple test I have performed, I have also noticed when using my Raspberry Pi normally that everything feels much smoother which is great. If you’re interested in the Raspberry Pi you can pick up a kit from Amazon fairly cheap and get started!