Cool Cases for the Hot Raspberry Pi 4

Whilst we await Software/Firmware updates from the Raspberry Pi team to reduce power usage and thus reduce temperatures, I’ve continued to investigate options for managing the Hot Raspberry Pi 4.

Since the release of the Raspberry Pi 4, we’ve seen a rise in 3rd party enclosures, some of which clearly aim to tackle the issue with heat management. I’m a proponent of silent, fanless, passive cooling solutions. I think that’s a big plus for previous Raspberry Pi generations, it would be a shame to lose this ability with the Raspberry Pi 4. Time to investigate and see if silence is still possible.

In a follow-up post, I have examined the impact on WiFi signal strength when the Raspberry Pi 4 is housed in different enclosures. Will metal cases or electrical noise from fans have an impact?

Update 4 September 2019: A further round of testing has been performed with various enclosures under load/stress. See this new post to look at both temperatures and CPU thermal throttling.

The Contenders

Whilst there are new cases appearing regularly, I don’t have the time and means to evaluate them all. So I’ve aimed for a fairly representative set of enclosures available (as of Aug 2019), many of which are generic and sold under various names:

Passively Cooled Enclosures

These passive enclosures provide varying degrees of protection and access to the key features of the Raspberry Pi 4.

The Armour radiator and Pibow Coupé cases leave a lot of the board exposed. The Pibow is a little bit more flexible as you can continue to use HATs, whereas the Armour is more restrictive, though with some header extensions you probably could still accommodate some HATs if needed.

The Generic Aluminium case, secures the board within a full metal frame, providing ventilation holes on top, and a slot on the side to feed out a ribbon cable that might connect to the GPIO header. It was supplied with a set of 4 vaned heatsinks of varying sizes and a copper(?) plate for on top of the wireless module (according to the instructions). These heatsinks were fitted during the testing with and without the fan installed. The metal case would benefit from a set of rubber feet, to keep the metal chassis off delicate surfaces. Unfortunately, you can’t use it with the Pimoroni Fan Shim to be installed, as the edge of the case presses against the button/switch on the Fan Shim

Actively Cooled Enclosures

I’ve touched previously on some active cooling options for the new Raspberry Pi 4, but there are now more options available.

The Armour twin fan radiator enclosure is very similar to the passive version, but with some of the fins removed to provide space to house two small (25mm) fans which connect to 5V on the GPIO header for power. Like the fanless version, most HATs won’t fit and other parts of the board are still exposed. Due to the fans being mounted flush against the metal of the enclosure, these fans will struggle to create any real airflow.

The generic aluminium case with its ventilation holes allows bolts to be used to secure the 30mm fan to the case. Like the Armour case, the fan is powered via the 5V supply on the GPIO header. The fan was tested with it sucking air in from the top and with it blowing it out.

The Fan Shim sits snugly within a space carved out of the Pibow Coupé 4 case. This 30mm fan is connected via the GPIO header and from this can be temperature controlled, so that it doesn’t run all the time unlike those just wired to the 5V power rail. However, as before using HATs are going to be a problem, perhaps more so given the shim is utilising more than just the header for power. Pimoroni explains this: “Because Fan SHIM uses pin BCM18 to control the fan, and this pin is also used by I2S audio devices, you won’t be able to use I2S DACs like pHAT DAC, pHAT BEAT, and the IQAudio boards at the same time as Fan SHIM“. You can, of course, use the Fan Shim with other enclosures, but not all of them will fit.

The Results

The measurements are taken with the Pi idle at GUI Desktop, both WiFi and ethernet are connected, though mostly idle. The Pi is fully updated with public updates as of 18 Aug 2019 (Raspbian Kernel version: 4.19.58-v7l+). Temperature measurements are taken using:

  • CPU Temperature – /opt/vc/bin/vcgencmd measure_temp and RPI Monitor
  • Case Temperature – Infra-red thermometer
  • Ambient Temperature – 433Mhz wireless room temperature and humidity sensor, connected to my HomeAssisstant.

Results: Passively Cooled Enclosures

Passively Cooled Result Graph
Ambient
(°C)
CPU
(°C)
CPU
(ΔT °C)
Enclosure
(°C)
Enclosure
(ΔT °C)
RPi4 Bare board (non-enclosed reference)2261394927
RPi4 Official case2473494319
Armour aluminium radiator 2445214521
FLIRC Raspberry Pi 4 2355324219
Generic aluminium (with heatsinks) 1959403516
Pimoroni Pibow Coupé 4 2365424017

Summary

In terms of temperature management, the Official Raspberry Pi 4 enclosure stands out from the crowd, but only in a bad way, with the CPU temperature getting close to thermal throttle limits.

The FLIRC case which combines an aluminium chassis which interfaces with the CPU (via a small thermal pad) to transfer the heat to the metal part of the case. The base is made of plastic and the metal top part of the case is also covered in black plastic. However it’s constructed, it shows some clear benefits over the other solutions. Keep in mind, these tests are with the Raspberry Pi 4 sitting idle.

The Armour/Radiator design provides the best cooling, with the enclosure reaching temperature equilibrium with the CPU, and keeping the CPU at just 21°C above ambient.

Results: Actively Cooled Enclosures

Actively Cooled Result Graph
Ambient
(°C)
CPU
(°C)
CPU
(ΔT °C)
Enclosure
(°C)
Enclosure
(ΔT °C)
RPi4 Bare board (non-enclosed reference) 2261394927
Armour twin fan aluminium radiator254217327
Generic aluminium (with heatsinks) fan blowing out213817254
Generic aluminium (with heatsinks) fan blowing in213817254
Pimoroni Pibow Coupé 4 with Fan Shim (always on)244117284

Summary

With any form of active cooling, the Raspberry Pi 4 runs at just 17 °C above ambient. To test the real capabilities of active cooling solutions we’d need to look at stress/load testing the Raspberry Pi. Sitting at idle the fans can help dissipate the heat easily.

Additional Notes

  • The 30mm fan supplied with the Generic aluminium case was very loud, worse, well higher pitched when blowing inwards. But neither configured was really tolerable. A different fan, or running at a lower voltage might resolve the issue.
  • The Fan Shim was set to be always on and didn’t utilise the additional software available to provide temperature-controlled activation, this was purely for testing purposes. This is a feature of the fan should be taken advantage of, if you can accommodate the Fan Shim on your header.

Parts Tested

Note, Amazon UK links are affiliate links, meaning I may make a small amount of money in return from you following the link and buying the product

  • Passively cooled enclosures:
  • Actively cooled enclosures:
    • Armour twin fan aluminium radiator (ebay) (Amazon-UK)
    • Generic aluminium case with heatsinks and fan (Amazon-UK)
    • Pimorni Pibow Coupé 4 with Pimorni Fan Shim (Pimorni)

3 thoughts on “Cool Cases for the Hot Raspberry Pi 4

  • 21st August 2019 at 10:45 pm
    Permalink

    Thanks for the compilation, Martin!

    A cheap case with holes in the top costing under $10 and using 3 heat sinks get the internal idle CPU temperature down to around 67C or so and even running with the CPUs close to 100% loaded, I have not seen the CPU temperature exceed more than a tad above 70C.

    I do see a bit of discrepancy between your “/opt/vc/bin/vcgencmd measure_temp” reported temperature and looking at the output of “/bin/cat /sys/class/thermal/thermal_zone0/temp” which would be interesting to explore. I saw an inconsistency as much as nearly 2C between the two.

    Best regards,
    –Tobias

    Reply
    • 22nd August 2019 at 7:18 am
      Permalink

      Hi Tobias, I’m planning on some form of load testing to see how these different solutions in conditions other than idle.
      As for the differences between the two methods of temperature measurement. There was an old topic which showed these looked to be measuring the same sensor, but that that there can be a fair amount of jitter. See: https://raspberrypi.stackexchange.com/questions/41784/temperature-differences-between-cpu-gpu

      I’ll add taking a look at these commands specifically on the Pi4 to my todo list.

      Reply
  • 23rd August 2019 at 9:19 pm
    Permalink

    Just from a quick check, it seems that “/opt/vc/bin/vcgencmd measure_temp” produces a lot more jitter in the temperature variations seen over timescales of seconds compared to “/bin/cat /sys/class/thermal/thermal_zone0/temp”.

    I ran that same test in the aforementioned article with 5000 steps. I think part of the issue is because the vcgencmd command only outputs the temperature to the degree and instead of rounding, it appears to truncate the output (hence 68.1 as well as 68.9 will be output as 68.0). The other method appears to create output with at least one, possibly two digits of precision, though I probably only would trust the first number after the decimal point.

    –Tobias

    Reply

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.