Overclocking the Raspberry Pi 3 For Tasty Speed Increases

Some people are never happy. [Jackenhack] got hold of a couple of shiny new Raspberry Pi 3s, and the first thing he did is to start overclocking them. Fortunately, he knows what he is doing, so none of the magic smoke escaped, but it seems not all Pis are happy with the process.

For one of the three seemingly identical Pi 3, adding heat sinks let him push the CPU from the native 1.2GHz up to 1.45GHz. That did involve a bit of overvolting (increasing the voltage to the CPU), but that can be easily done in software. He also experimented with adding heat sinks to the memory, then bumping up the speed of the memory to increase throughput. Again, he was able to make some impressive gains, bumping the speed up from the native 400 Mhz to 500 Mhz. Both of those are stable overclocks: he was able to run the system at 100% CPU load for an extended time, and has incorporated the overclocked Pi into his system that contributes to the NTP pool project.

However, when he tried the same overclock with the second of the Pi 3 victims test subjects, it failed due to the CPU overheating. So, it seems that there is a lot of variation in the individual bits of silicon on the Pi 3. Perhaps some liquid nitrogen would help? It did for an Arduino…

47 thoughts on “Overclocking the Raspberry Pi 3 For Tasty Speed Increases

      1. Yes, that’s the heatsink. El-cheapo. You could probably get better results with a more hefty heatsink. I’m actually going to try with a bigger one (I mean BIG!) just for kicks.

    1. Actually I ordered one yesterday, because it has “real” Ethernet, not going trough USB. Better speed over Ethernet is equally important on a NTP server. Maybe I’ll do a shootout between them.

      1. The ethernet PHY going to a MAC attached to the SoC bus instead of USB. USB 2.0 transmits data in 125microsecond long frames. As such, this is the minimum jitter performance you will achieve per measurement. Not terrible, but if you have an application demanding precise time you will likely not be impressed. A research project here discovered the hard way that the Pi is unsuited for precision NTP. This only really matters if you do NTP over a lan, over the internet the extra jitter is insignificant.

    2. $1000 more you can get a kick arse gaming PC, that ‘just works’. But then the RPi has always ‘just worked’. You seem to only be saying there are other options out there, which we all know. No actual comment on the subject of the article?

  1. If that’s the heatsink used, I question the results. It has been shown multiple times that, when used without a fan to transfer the heat away, these heatsinks merely delay the time it takes to reach maximum and then actually end up raising the max by a degree or two.

    1. The non-overclocked version:
      cat /proc/cpuinfo
      processor : 0
      model name : ARMv7 Processor rev 4 (v7l)
      —> BogoMIPS : 76.80
      Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
      CPU implementer : 0x41
      CPU architecture: 7
      CPU variant : 0x0
      CPU part : 0xd03
      CPU revision : 4

      Other overklocked to 1.45 GHz:
      processor : 0
      model name : ARMv7 Processor rev 4 (v7l)
      –> BogoMIPS : 89.60
      Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
      CPU implementer : 0x41
      CPU architecture: 7
      CPU variant : 0x0
      CPU part : 0xd03
      CPU revision : 4

      cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
      1400000

      uptime 16:12:05 up 17:14, 1 user, load average: 0.09, 0.16, 0.15

    2. Did you sleep through physics class? Any heatsink that gives additional surface area would only decrease, and never INCREASE the temperature of the device its connected to, fan or no fan. Obviously a fan would be more effective, but that little heatsink probably makes a significant difference on its own.

      1. You are implying that any heatsink will improve the situation. I do not think that this is true. …. Suppose I make a heatsink shaped object from the worst heat conductor I can find. That will certainly perform worse than no heatsink at all. So I would say that it is possible that a system performs worse with than without a heatsink…..

        1. One of the primary characteristics of a heat sink is it’s thermal conductivity. Otherwise it’s just an insulator.

          To answer your corrected question, yes – even the worst heat sink (a flat slab of aluminum is probably pretty close) should have a positive, if marginal, impact on heat dissipation.

      2. Sorry, I assumed most people here knew those particular heatsinks attach with foamy two sided tape. Last I checked, we also use a foam substance to keep hot things hot, and cold things cold.

        In most cases you are correct, assuming a good heat transfer between the two surfaces (which isn’t the case here), it would help. Go buy a Canakit pi set that comes with these and get back with me though when you see identical or slightly higher temp being caused by styrofoam insulation.

        1. Yes, because anyone with half a brain and an aim to overclock will simply leave double sided foam tape on the heatsink. Because….REASONS!

          First off, ANY heatsink that comes with double sided foam pads / tape as a fixing agent, is obviously not from the best Chinese seller on ebay, but at least they are the cheapest. However that doesn’t mean you can’t also buy a tube of thermal epoxy or similar thermally conductive adhesive from the next seller – or probably even the same seller….

          Second, it might be a nice idea to not just assume that everybody is an idiot. Maybe YOU might have killed a cpu with a cheap heatsink with foam tape from a questionable supplier, and maybe you just trying to help protect others, and maybe that’s why your so pissy about this subject. I don’t know, but whatever the reason, please don’t assume other’s are of lesser knowledge or intellect than yourself.

          Third, I have never myself seen a heatsink come with foam tape as an adeshive agent, I have seen them with a foam cover that you are supposed to *REMOVE* before use though. However it is not beyond the realms of possibility with an ebay purchase from China – so I’ll let you have that one. On the other hand, I have seen many heatsinks that come with a double-sided sticky tape “thermal pad”, and while these are not as good as proper thermal paste, they do actually work somewhat – certainly better than *nothing* between the mating surfaces. They are even used in many comercially sold devices such as routers and other devices using low power SOCs.

          Lastly, I will state that I have been sucessfully overclocking CPUs since the days of the 386 processor, I was also watercooling CPUs since the original Pentium line of processors (yes, I was doing this before it was really a ‘thing’), and I have also built many extreme cooling rigs (typically -40 / -50 degrees Celcius on the CPU core under full load).
          I have also have several Pis, orginal B, B+, Pi2 and have overclocked all of them with varying results. I have also used crappy little heatsinks such as the one the OP used in his experiments, and have had some success in making an unstable overclock become more stable by using them (with and without a small fan attached). So I do have some idea of what is involved with overclcocking.

          It must be noted though that generally the *heat* is not usually the limiting factor in a Raspberry Pi SOC, there are many other factors to consider such as internal bus speeds, quality of the individual silicon die due to position on the silicon wafer during the fab process, etc, etc. But in most cases, cooler is better, at least from the expected lifetime of the SOC, if not for ability to run at higher clock speeds.

          1. Why are you so upset? Take a deep breath, and realize nobody is calling your manhood into question here.

            I’m not making this up. I bought the following kits (about 16 of them):

            http://www.amazon.com/CanaKit-Raspberry-Micro-Supply-Listed/dp/B01C6FFNY4/ref=sr_1_1?ie=UTF8&qid=1457110118&sr=8-1&keywords=canakits

            The heatsinks the kits come with look very similar to what’s pictured on the article. I found them to be questionable, so I ran a script monitoring temperature with and without the heatsinks attached. Both attempts leveled out at the same temperature, but ultimately going a slight bit higher with heatsink. I chalk this up to the crappy adhesive doing more to insulate than transfer. I’m merely pointing out that the heatsink in the article looks identical to the ones with horrible adhesive.

            In the end I had great success just moving air across the top of the chip. I have no doubts that a proper heatsink setup with a good contact to the chip will work immensely better, especially combined with air moving heat away from the sink.

    3. I have experimented with many heatsinks (most homemade with a Dremel) and they definitely delay the heat ramp up but never saw top temperatures getting higher because of them.

      What some people do sometimes is neglecting to provide a good contact surface between chip and heatsink… it makes a lot of difference.

      1. For BGA packages dissipate most of its heat into the PCB unless it is the types that have a metal heat slug intended for mounting a heat sink. The “plastic” part of the case is an insulator. Theta JC (Junction to case) listed in the datasheet for that package is the amount of thermal resistance. Then there is the resistance between the case to heatsink and heatsink to ambient that you can control.

        The BGA side is soldered to copper pads that are fanned out on traces. The power and ground pads are connected to vias in the internal power/ground plane which act as a huge heat spreader. Heat also get conducted back outside the PCB internal layer back out. If you ever wonder why the PCB feels warm, that’s the reason. You can help the natural convection cooling by having the PCB in a vertical position so that the warm air is not trapped under the PCB reducing the effectiveness that surface area.

        1. So stick it on the underside? I think I’ve seen that done before actually.
          So now someone has to go try it to see the difference.
          It is slightly tricky though because there are a ton of SMD capacitors and resistors under the ARM, and a thin insulator and plenty of heat paste could do the trick maybe, but you’d still get the effect of a metal surface close to those caps/resistors.And it might create eddies and capacitance and what not.
          In fact maybe making a heat sink that extends past the rim on top and goes down to the PCB might work better, there are a few resistors on top too, but it’s less messy and there are fewer

          Mind you fast RAM in computers also has plastic housing and they use heat spreaders on those too.

    4. Besides it being impossible for it to make them actually hotter, all heatsinks make devices cooler. They radiate / convect / conduct heat into the air more efficiently than the package alone. That’s what heatsinks are FOR! That’s why there’s bits of finned metal attached to the transistors in amplifiers, etc.

      Heatsinks are specified in C / W. As in how many celsius hotter they’ll get, when fed with so many watts. Adding a fan just makes the C / W lower, as in less temperature raise for each watt. Lower is better.

      The Space Shuttle had giant heatsinks, radiating heat, so they even work in a vacuum. No use for a fan there!

      1. Actually… one exception would be if the thing was in a sealed box, no airflow at all. Then it’d just delay the temperature rise. That’s why heatsinks are mounted to the outside of amplifiers, or why cases have holes. PCs have exhaust fans, but they generate a shitload of heat compared to a Pi.

      2. Not true – if the thermal conductivity between the SoC and the heatsink is worse than just natural convection and radiation without the heatsink, the heatsink will actually insulate the SoC and it will reach higher temperatures.

          1. Really? That kind of surprises me… I have used heatsinks in the past that used thermally conductive tape (not as good as thermal paste/adhesive, but also not like foam tape).

    1. Nothing on the boxes. Unfortunately I can’t check the cards, because it’s currently running as a NTP-server with a AdaFruit LCD Hat showing statistics. But would be nice to be able to identify the “good” ones.

      1. Comments like this is why the invented the internet!

        output from the standard card:
        read_ring_osc(2)=3.295MHz (@1.3188V)

        Output from the 1.4 GHz overclocked card:
        read_ring_osc(2)=3.767MHz (@1.3940V)

  2. Hi, this may be related to a similar issue on the Zero.
    I found that there is some variation in oscillator frequency as well as sensitivity to Vcc, if it dips even momentarily the system becomes unstable especially when updating.
    It may well be worth someone monitoring this because changing out that one part could turn an unstable Pi0 into a stable one eg for Beowulf clusters.

    1. Because there is something like 3500 nodes in the NTP pool, and a single node going offline for a few minutes to reboot won’t make any difference in the average time value what so ever.

      The time sent over the network to the pool is refreshed from your strata 0 time source every PPS (sometimes via interrupt, assuming using GPIO or on-board serial instead of USB) so doesn’t have anywhere near enough time for the CPU to skew the value and be incorrect.

      Overclocking the chip doesn’t really help in this case and so is unneeded, but it is not a “bad” thing that’s going to cause problems for the pool.
      At worst all your home devices querying your own node on the LAN instead of the pool will not get time updates while the Pi is frozen up and needing a power cycle. But since that’s a problem only effecting him, that’s his call to make.

    1. I’m sorry did the pi foundation promise you analogue inputs or something? Perhaps it’s something you just want and expect them to impliment for no reason, just for you, and to figure that out from sarcastic comments on a blog they may or may not read.

      Silencing your sighs probably isn’t as high up their priority list as you think it is.

  3. You should first try to compile OS (gentoo) for this procesor without any overclocing. I got gentoo on banana pis that was recompiled strictly for arm7ve and performance gain is huge. On default image of archlinux linpack showed me around 60000 kflops on recompiled gentoo I have around 140000 kflops so try this way and then over lock ;)

  4. overclocking is fun if you practice safe computing…

    :-)

    i found that simply standing my little boxen on the side (along with using heatsinks) drops the temps about 10F in a 76F environment (avg temp is 125F on a 1350MHz unit in normal use)

  5. There is a new benchmark that will test to see if a Pi3 has a stable overclock, or if is otherwise properly powered and cooled. Linpack.

    A stock pi 3 (may require ‘over_voltage=1’) can pass the benchmark at 6 Gflops (6 billion operations per second). An unstable overclock, or a pi3 that is undervolted or that overheats because it is not adequately cooled, will either crash on the benchmark, score way below the standard 6 Gflops stock pi3 result (due to throttling), or will just fail the residual test because of processing errors.

    A moderately overclocked pi3 (1275 MHz, over_voltage=6), can pass the linpack at 6.8 Gflops. see:

    -reboot pi3 before running linpack-

    install:
    sudo apt-get install libmpich-dev
    wget http://web.eece.maine.edu/~vweaver/junk/pi3_hpl.tar.gz
    tar -xvzf pi3_hpl.tar.gz
    chmod +x xhpl

    run:
    ./xhpl

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s