How to OverClock a Raspberry Pi Model B
The makers of the Pi have very conveniently created a file called config.txt located in the /boot directory. In this file you can set all kinds of settings, such as forcing HDMI, resolution, and yes, clock frequencies and voltages. Now, there are two things you can do. One is simply overclocking and leaving the voltages as they are, and the other is to also overvolt (increase the voltage to the chips) which results is more heat generated (shouldn’t be much of an issue), shorter lifespan and a guaranteed voiding of warranty. Once you have tried overvolting just once a flag is set and your warranty is void forever. The upside to overvolting is, of course, that you can generally squeeze just a little bit more out of the chips increasing the frequencies, but some have reported not much higher frequencies even with overvolting compared to simply overclocking. It’s up to you if it’s worth voiding the warranty.
Its also go to note that you can do all of this via a graphical interface (except overvolting) but I wanted to see how the config.txt file worked.
Section 1.0: Overclocking
There are seven different frequencies you can change, here’s a list of them (and their default values in MHz):
- arm_freq = 700 # frequency of the ARM processor
- sdram_freq = 400 # frequency of the SDRAM memory
- gpu_freq = 250 # sets all the following values related to the GPU (graphics processor):
- core_freq = 250 # frequency of the GPU core
- h264_freq = 250 # frequency of the hardware video block
- isp_freq = 250 # frequency of image sensor pipeline block
- v3d_freq = 250 # frequency of 3D block
You will want all the GPU frequencies to be the same or integer multiples. That means if you change core_freq to 400 you will want to change h264_freq, isp_freq and v3d_freq to either 200 or 400 as well.
To change the frequencies edit (or create if it doesn’t exist) /boot/config.txt and add one or more of the above lines (without the # comments) and reboot. Your Pi will now run at the new frequency. As I mentioned before results vary between chips but squeezing it up to 800 for arm_freq, 450 for sdram_freq and 300 for gpu_freq seems to be a good starting point that most chips can reach without difficulty. From there you can increase the different values incrementally until you hit your limit (resulting in crashes and kernel panics and general stability issues).
Section 2.0: Overvolting
Again, overvolting will irreversibly void your warranty. Proceed at your own risk. The two values (maybe exclusively the first) you may want to touch are the following:
- over_voltage = 0 # CPU and GPU voltage, 0 means 1.2V with each positive or negative step representing 0.025V. 1 is 1.2+0.025=1.225V and so on
- over_voltage_sdram = 0 # voltage for the SDRAM, works just like the previous setting. This, just like gpu_freq, breaks down into three different values, but unless you know what you’re doing I don’t suggest touching this or them. I don’t see much talk about it so I suggest you don’t fiddle with it without further research.
It seems to be a generally bad idea to go over 8 on the over_voltage setting, with most people seemingly settling in at 6.
When you’ve found a nice clock that runs stable I think the community would appreciate you adding your values to the table at the bottom of this page to help future overclockers in their endeavour: http://elinux.org/RP…t#Tested_values