Does cooling matter on the Raspberry Pi 4?

in #hive-1635212 months ago


As I mentioned in my previous post on the Raspberry Pi 4, it tends to get hot, considerably hotter than previous generations. This heat can cause the CPU to throttle and run much slower than the intended clock speed. This is done automatically to protect the components from overheating.

I have tested in the past and provided a lot of data to support the fact previous generations of the Raspberry Pi didn't need heatsinks or cooling 99.99% of the time, despite heatsinks being the number one accessory sold. Not only were they not needed, they really didn't do much.

The Raspberry Pi 4 launched with thermal problems and the Raspberry Foundation released numerous firmware updates each reducing the thermal problems.

As you might know from my Raspberry Pi 4 Unboxing post I purchased a case that includes a fan and heatsinks and planned on doing some testing.

I wanted to test all options but I did skip testing fan w/ heatsink and you will see why in a bit.

Test Criteria

All tests are done with a 30-minute 100% load and 5 minutes idle CPU before and after testing.

I tested the following scenarios:

  • Stock Pi 4 with no case or cooling
  • Pi 4 with heatsink and included thermal tape
  • Pi 4 with heatsink and quality thermal paste
  • Pi 4 in an enclosed case
  • Pi 4 in an enclosed case with fan
  • Pi 4 in an enclosed case with fan and reduced power

Test 1 - Stock (No fan, case, no heatsink)


This is our control, pull the Raspberry Pi 4 out of the box, hook up Ethernet and power and stress it out.

As you can see from the chart we are experiencing a lot of thermal throttling around 16 minutes into the test. The CPU bounces between 1.5GHz and 1GHz during the last half of the test. This is the normal expected behavior of the Raspberry Pi 4 but would be a concern if running similar workloads.

Test 2 - Enclosed Case


The next test uses a high-quality Pi 4 enclosed case with breathing holes. This case includes a fan but it is not activated.

This test is far more revealing than the first, within 8-9 minutes there is already thermal throttling and in the last half of the test, the throttling hits stage 2 and drops even further to 600MHz.

This test is far more similar to potential real-world scenarios where a user buys a fancy new case to make their Raspberry Pi look pretty and has a short burst of sustained load potentially while compiling software or doing software installation.

Even with the latest firmware, you can potentially run into thermal problems with the Raspberry Pi 4. I will admit this would be rare and not something that would happen all the time.

Test 3 - Heatsink with included thermal tape


As predicted, not much of a difference than stock without heatsinks. We are still seeing thermal throttling in the last half of the test but if you look back at test one you will see the throttling is less frequently than the stock in the earlier parts of the test, but not enough to make any real difference.

Test 4 - Heatsink with quality thermal paste


As I said in my Raspberry Pi 3 posts if you are going to use heatsinks, you need to use real thermal paste. The included thermal tape is absolute crap and needs to be peeled off and cleaned with alcohol. Then you can use the standard application process used in modern computers. I recommend GELID GC-Extreme or Arctic Silver, both can be found on Amazon and will last for multiple installations.

This test is very revealing and shows heatsinks can in fact help but only when properly installed. The testing lasted an extra five minutes before thermal throttling kicked in and it happened far less frequently. This is a solid improvement over stock, especially if you start putting this in a case.

Make sure you clean both the CPU and the heatsink well with isopropyl alcohol before using thermal paste. Also, don't apply too much paste. You need less than you think.

Test 5 - Fan


In this test, I used a small 40mm fan included with the case and closed it up (not shown).

This test is the most impressive. No thermal throttling at all for the entire 30-minute stress test and temperatures are a good 30C cooler.

The picture is clear if you are going to use heavy loads on a Raspberry Pi 4, install a fan. Even during idle I noticed drastically reduced temperature.

Full disclosure, this fan isn't silent, and you can hear a whine. It's not loud but it isn't silent either. Most use cases likely don't even require a fan as the CPU isn't running at full speed for long periods of time. It is worth taking a look at your workload to see if you are experiencing throttling.

Test 6 - Fan with reduced power

The 40mm fan takes 5V, but did you know you can supply less power to it and it will still spin? The Raspberry Pi includes 5V and 3.3V pins, by using 3.3V we can reduce the spin and ultimately the noise from the fan in exchange for reduced cooling.

This, in my opinion, is the best of both worlds, you get nearly no noise, and no throttling at any point in the stress test. The only way I can hear the fan is if I put the case to my ear, at about 1-2 feet the noise is gone.

The money shot

Here you can see all the tests on the same chart and get a feel for how much of a difference there is.

These tests are under 100% load and not a typical workload for a Raspberry Pi. These tests were done to test the worst-case scenario.

How to check the temperature on the Raspberry Pi

You can run the command vcgencmd measure_temp and if you are below 85C you shouldn't be throttling.

You can use vcgencmd measure_clock arm to check the current frequency. If you are idle you will likely be running at 600Mhz-750Mhz. At full speed, it will be 1GHz-1.5GHz depending on the model.

Hardware tested

  • Case Amazon (Includes fan, heat sink, power supply) $15.99

  • Thermal Paste Amazon $13.99

Cover Image Source

Securely chat with me on Keybase

Why you should vote me as witness


I went with the FLIRC passive cooling case

I'm on Ubuntu 20.04 and I cant find a way to measure temperature at full load right now from the CLI, but I think that case does a pretty good job of passive cooling. I have it sitting on my steel 24" screen arm base too, which is pretty chunky and probably adds a lot of heat-sink.

Try this.

cat /sys/class/thermal/thermal_zone0/temp

54043 which I assume is 54degC. Not bad as Im syncing a block-chain on one core at 100% and have 3 BOINC tasks running at near 100% as well.

How do you suggest removing the heat sinks with their crappy factory adhesive? Any tips, or any "don't ever do this, you moron" advice?

Just peels off and then use isopropyl alcohol to remove app residue. Don't use too much thermal paste.

I may just leave the heat sinks off entirely, and stick with fan cooling.

the heat sinks do almost nothing, it doesn't hurt to have one on the CPU with real thermal paste but the difference isn't huge.




The top one is a bare Pi 4, you can see the heat sink does almost nothing to stop the throttling, the orange bars are how often the speed dropped due to temp, anything less than 1500 is throttled. Even stock you see a lot of throttling, the heat sink helps a little, but when you use thermal paste it helps a lot more but still struggling with 80C+ temps.

Only when you introduce a fan do you see some stable temps and clocks.


Put things in a case (without a fan) and it's even worse.

My starter set case has a fan, and so does the tablet case. I figured from the start that active cooling would be a good idea even before your charts.

It would seem raspis are finally getting some serious hardware built in. I was wondering for how long before they needed active cooling. Looks like from your charts. I have RPI3s but when I get a 4 I'll keep this in mind.. a little air goes a long way.

Great review. I always want to try a fan with USB control so that I can code a simple Python script to run the fan when it's actually needed. My double fans works only with 5v gpio which is not possible to control it.

I was actually thinking what would it take to run it as needed but honestly 3.3V makes it so quiet it really isn’t needed.

The case looks like it might accommodate a 65mm fan. I am curious to know if using one that is sized to match the vent screen would work. What do you think?

Probably would need to put it on top and pull. It might fit but would be tight.

Once trick is to use a 12V fan and only supply 5V.

You used a very small heatsink. :-)

It’s the size that covers the cpu. It will also come in handy when I start messing with the PoE Hat.

This is really insightful.

Raspberry Pi looks very interesting. A complete PC for only a few bucks. How do you feel about Arduino?

I use them both. Arduino more for when I'm embedding into something. Like I made a Police Pinewood Derby car with wig wag lights along with front and rear lighting. Used a Tinyy85 chip that's the size of a pea.

Great. I am more familiar with arduino but I need to keep in mind how amazing Raspberry Pi can do more. Thanks for bringing this in our attention