Cooling off your Raspberry Pi 4

I was very excited about the Raspberry Pi 4, especially when I learned that it was available with 4GB of RAM - perfect for running a Kubernetes cluster using software like k3s.io and kubeadm. There's a number of options I've tried to add cooling to my Raspberry Pi and I thought I'd list them here, how effective they are, and what the cost of each option is. I'll also tell you about a firmware update that may shave off a degree or two.

Observing the temperature

Here's a very rudimentary way to observe the temperature of the RPi

while [ true ] ; do sleep 2 && sudo sudo /opt/vc/bin/vcgencmd measure_temp ; done

temp=32.0'C
temp=33.0'C
temp=31.0'C

If you want to check how idle your system is, run uptime or htop and look at the values returned, they should be very low. If they are much over 0.1, then checkout what's eating up your CPU cycles with htop and sort by CPU usage.

Cooling off

Let's look at a few of the options for cooling off. If you think I've missed something, then please reach out over Twitter.

The Pimoroni heatsink

Pimoroni have a very cheap heatsink which you can order when you purchase your RPi. It looks like this, and can shave off a degree or two at idle.

The heat will be spread out, but not moved away from the device, so once it's hot, it will likely radiate that heat around the board.

You can't argue with 2.40 GBP - https://shop.pimoroni.com/products/raspberry-pi-4-heatsink

Pimoroni fan shim

This option does apply a decent amount of cooling at idle and under load, it also moves the heat away from the board unlike the heatsink.

I found the assembly very fiddly, and was worried about breaking its attachments, once attached it worked fine, and I even tried it with the custom-designed case.

Checkout a detailed thermal overview from Pimoroni on the fan shim vs. the heatsink.

Check it out from 9.60 GBP - https://shop.pimoroni.com/products/fan-shim

Heatsink case

This is not the most effective option, we'll see that next, but it is good at reducing the overall heat. It looks fantastic, and is practical on the go because it is also a case.

I feel it may be rather overpriced, but at least it comes in several colours. It's solid, and under load gets warm all over.

Check it out from 12 GBP - https://shop.pimoroni.com/products/aluminium-heatsink-case-for-raspberry-pi-4?variant=29430673178707

ICE cooling tower

Here's my top pick, which can get a mostly idle k3s cluster down to 31c in no time. It lights up my whole office with blue light and has a subtle, but constant hum.

Check it out from 19.90 USD - https://www.seeedstudio.com/ICE-Tower-CPU-Cooling-Fan-for-Raspberry-pi-Support-Pi-4-p-4097.html

After attaching this fan and heatsink, you cannot use a case of any form or a base-plate. It probably is best left in once place for that reason. I would like to see Seeed Studio come up with something to place the RPi on.

Try the new firmware update

You can update the RPi's firmware as detailed here, and it may shed a few degrees depending on what cooling solution you're already using.

Note: you follow these instructions at your own risk.

Here's what you need to do:

  • Update
sudo apt update && sudo apt upgrade -qy --no-install-recommends
  • Reboot sudo reboot (don't skip this)

  • Add the rpi-eeprom-update package

sudo apt install rpi-eeprom  -y
  • Update
sudo rpi-eeprom-update

You should see output like "update required"

  • Reboot sudo reboot (don't skip this)

Updating didn't appear to cause an issues for Docker or k3s, but I wouldn't recommend running rpi-update since that has usually caused issues for containers.

Wrapping up

I've listed the ways I've tried to cool my RPi and given you some links where you can go and purchase your own solutions. The lowest temperature I observed was with the combination of the ICE Tower fan and the firmware update, after stopping k3s and containerd, the temperature got down to 28c.

I prefer the heatsink case for its balance of form and function, here's a graph from Pimoroni showing that it may be enough to stop the RPi from applying CPU throttling in most circumstances.

Follow me on Twitter @alexellisuk to make sure you never miss a post.

Here's some other related content you may like with your new cooler, RPi:

See also: new Official: Thermal testing Raspberry Pi 4

Alex Ellis

Read more posts by this author.

Subscribe to Alex Ellis' Blog

Subscribe to keep in touch. By providing your email, you agree to receive marketing emails from OpenFaaS Ltd

or subscribe via RSS with your favourite RSS reader

Learn Go with my new eBook

eBook cover

"Everyday Go" is the fast way to learn tools, techniques and patterns from real tools used in production based upon my experience of building and running OpenFaaS at scale.

Buy a copy on Gumroad