Raspberry Pi Turbo Overclocking
Overclocking is the practice of increasing the oscillator frequency of a computer system so that the number instructions per second (IPS) it processes increases thereby making the system faster.
Config.txt
The config.txt file holds many parameters for the Raspberry Pi hardware. These low-level settings may affect the safe operation of your computer, therefore be very careful when changing them. Here are some useful parameters together with their default values.
Using the parameter force_turbo=1, and current_limit_override within the config.txt file will void your warranty. The manufacturer (Foundation) can easily detect this by the change in state of a "Sticky Bit" within the Broadcom BCM2835 processor. Therefore, any such attempt will render your warranty null and void.
arm_freq=700
This is the frequency of the arm core in MHz
over_voltage=0
This sets the ARM core voltage.
over_voltage_sdram=0
This sets the voltage of the memory.
sdram_freq=400
This sets the frequency of the memory. If the speed is too fast then it may get corrupted.
gpu_freq=250
The GPU frequency sets the frequency of many other subsystems simultaneously.
force_turbo=0
The default value is 0 which means it is OFF.
temp_limit=85
When the core temperature reaches 85 °C, turbo mode disengages, returning the clock and voltage to default values.
Example Config.txt
- arm_freq=1000
- core_freq=500
- temp_limit=75
- sdram_freq=500
- over_voltage=5
Overvolting
A processor with a faster clock speed consumes more power, therefore requiring a greater voltage. Unfortunately, this also results in higher heat dissipation, and therefore a cooling strategy is required. Excessive temperatures can reduce the useful life of the Broadcom BCM2835 processor, as well as making it very unstable. In addition, operating the SDRAM at higher speeds and voltages may result in corruptions, and the memory failing.
Turbo Mode
Turbo mode is the official safe way of improving performance without invalidating the warranty. You will need to obtain and install the latest version of the Raspbian operating system. The new image also adds many more features including applets and widgets that will monitor and report the core processor temperature and frequency.
ARM processors use a temperature sensor to determine the core temperature. When the temperature reaches a ceiling limit, the processor runs slowly until it is back within the safe zone. The turbo software integrated into the Raspbian image uses this to enable or disable overclocking and overvolting. The turbo mode dynamically engages and disengages depending upon the core temperature reaching 85 °C, thus allowing the processor to reach speeds of up to 1 GHz.
The turbo mode may not work well for everyone because each processor and memory chip is uniquely different at microscopic level. The overall setup of the Raspberry Pi might also be different from user to user. In case the Raspberry Pi freezes or does not boot after setting the Turbo mode, there is provision set aside to temporarily disable the mode by holding down the "Shift Key" when the Pi is booting.
Raspi-Config
ARM | Core | SDRAM | ||
(MHz) | (MHz) | (MHz) | Overvolt | |
None | 700 | 250 | 400 | 0x0 |
Modest | 800 | 300 | 400 | 0x0 |
Medium | 900 | 333 | 450 | 2x0 |
High | 950 | 450 | 450 | 6x0 |
Turbo | 1000 | 500 | 500 | 6x0 |
The raspi-config file offers a choice of five pre-set options as shown in the table above. The default setting is 700 MHz shown in green, whilst the Turbo mode is in red where the frequency can reach as high as 1000 MHz. Obviously at such a speed it might be a good idea to fit a heatsink and fan. A graphics intensive game, which normally requires more processing, can test the turbo mode. The foundation discovered an improvement of 64 % increase in speed for floating point arithmetic using the "nBench" program.
The Raspberry Pi uses an advanced Samsung memory IC (K4P2G324ED) that operates well at higher speeds; however, the SD memory card causes a bottleneck, as it cannot operate at higher speeds. This may result in corruptions and a total failure of the card.
Liquid nitrogen is usually used to keep spacecraft computers cool, and the Russians use such a method for the Soyuz TMA Spacecraft; however, it is extremely useful for keeping the temperature of the processor cool during overclocking. The power consumption also increases during this time, and therefore a high quality power supply is necessary. My friend Rufus..., who has access to liquid nitrogen, managed to get 2.23 GHz speed before the core gave up.