raspberry pi secure overclocking

Update: Click Here for Raspberry Pi 2 Overclocking

Disclaimer: My recommendations are based on testing done on two Raspberry Pi Model B version 2 boards with different configurations. Both run Arch Linux ARM 24/7 without any problems. Be aware that, as with most hardware and software modifications, individual results may vary.

For the past month or two, I’ve been playing around with overclocking my Raspberry Pi boards. I am obsessed with performance tuning. As such, before embarking on various Pi projects, my main focus has been on squeezing out a noticeable performance gain without compromising on stability. Today, I want to share my /boot/config.txt Get some feedback on the settings and hopefully how they perform on your Raspberry Pi.

Raspberry Pi Secure Overclock – config.txt

arm_freq=1000
sdram_freq=500
core_freq=500
over_voltage=6
temp_limit=75
boot_delay=0
disable_splash=1

If you are using Desktop Manager vs Just Shell, select the gpu_mem config option below. No GUI (eg command line only)

gpu_mem=16

With GUI (eg OpenELEC, Raspbmc, etc.)

gpu_mem=256

The reason I call these settings “safe” is because they don’t void the warranty plus I haven’t had any crashes or reboots while using them. refer to this page for clarification.

benchmark result

here is my nbench Benchmark results using the above settings on an Arc-YPI image…

[root@ArchWiPi nbench-byte-2.2.3]# ./nbench 

BYTEmark* Native Mode Benchmark ver. 2 (10/95)
Index-split by Andrew D. Balsa (11/97)
Linux/Unix* port by Uwe F. Mayer (12/96,11/97)

TEST                : Iterations/sec.  : Old Index   : New Index
                    :                  : Pentium 90* : AMD K6/233*
--------------------:------------------:-------------:------------
NUMERIC SORT        :          290.57  :       7.45  :       2.45
STRING SORT         :          45.148  :      20.17  :       3.12
BITFIELD            :      1.2101e+08  :      20.76  :       4.34
FP EMULATION        :          60.482  :      29.02  :       6.70
FOURIER             :          3019.1  :       3.43  :       1.93
ASSIGNMENT          :          4.0523  :      15.42  :       4.00
IDEA                :          1048.3  :      16.03  :       4.76
HUFFMAN             :          600.57  :      16.65  :       5.32
NEURAL NET          :          4.2778  :       6.87  :       2.89
LU DECOMPOSITION    :          125.81  :       6.52  :       4.71
==========================ORIGINAL BYTEMARK RESULTS==========================
INTEGER INDEX       : 16.769
FLOATING-POINT INDEX: 5.358
Baseline (MSDOS*)   : Pentium* 90, 256 KB L2-cache, Watcom* compiler 10.0
==============================LINUX DATA BELOW===============================
CPU                 : ARMv6-compatible processor rev 7 (v6l)
L2 Cache            : 
OS                  : Linux 3.10.27-2-ARCH
C compiler          : gcc version 4.8.2 20131219 (prerelease) (GCC) 
libc                : libc-2.18.so
MEMORY INDEX        : 3.783
INTEGER INDEX       : 4.513
FLOATING-POINT INDEX: 2.971
Baseline (LINUX)    : AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3, libc-5.4.38
* Trademarks are property of their respective holder.

As a bonus, if you’re looking for minor speed improvements without any risk to the hardware, use these settings:

arm_freq=800
#arm_freq_min=400
sdram_freq=500
#sdram_freq_min=250
core_freq=300
#core_freq_min=150
boot_delay=0
disable_splash=1
initial_turbo=60 #Does not set warranty bit. But will allow faster initial boot

you can cancel comment arm_freq_min, core_freq_min And sdram_freq_min If your Pi will be idle for an extended period of time (eg as a server running 24/7). This will allow fewer resources to be used when idling and result in lower temperatures. If for some reason something goes wrong and you can’t boot, don’t wipe your card. Instead, simply remove it from the Pi > Plug in your Linux computer > browse to /boot/config.txt to find and fix any errors/typo in the configuration or revert the changes. Note that the *freq_min settings only work for setting a below-default value. So for example to set arm_freq_min higher than the default minimum 700MHz, one would have to void the warranty by adding force_turbo = 1, Do not do this Unless your project involves pushing the limits and making sure you have a plan in place to manage the high temperatures. enjoy!

Looking for extreme speed?! (Update: 05/31/2014)

For my current config.txt settings try OpenELEC XBMC, WARNING: USE AT YOUR RISK…

gpu_mem=256
force_turbo=1 #Voids warranty!
arm_freq=1000
sdram_freq=500
core_freq=500
over_voltage=6
temp_limit=75 #Will throttle to default clock speed if hit.
boot_delay=0
disable_splash=1

using the force_turbo = 1 No matter what the other configuration settings, your $35 will void the warranty on the board. 😉 However, I have set temp_limit=75 To ensure that overclocking values ​​will not be pushed during high temperatures, it will instead be throttled back to default. It hasn’t broken any of my boards yet, I’ve never hit the temp limit of 75C. Results may vary but this minimizes the lag experienced with force_turbo=0 (default on-demand overclocking). Note that the default safe temp_limit is 85 Celsius.

[Blog image courtesy geektopia.es]

Leave a Comment