As previously covered the latest Raspberry Pi 4 is running too hot, such that it can’t even be used in the official Raspberry Pi 4 case without hitting thermal throttling, even when idle.
There is some updated USB 3.0 firmware which shows some positive signs of reducing power consumption, however, there remain issues with the alpha firmware and the reduction in power consumption still doesn’t appear to be sufficient.
It’s time to experiment to determine what does and doesn’t help, from a physical perspective only. The original fully enclosed Pi 4 had CPU temperatures at 78°C, 49°C above ambient.
Pi 3 Case – one side panel removed (-1°C)
As noted in an update to the original post, I took a Dremel to an official Pi 3 case in order to accommodate the redesigned Pi 4. With all the panels re-installed, less the side panel where the power and monitor connectors are now different. This configuration reduced the CPU temperature by just 1°C to 75°C, 48°C above ambient.
Pi 3 Case – one side and top panel removed (-7°C)
Continuing with Pi 3 and removing the top cover, allowed heat to escape from the enclosure with resultant temperatures 7°C lower than the original Pi 4 fully enclosed.
CPU Heatsink (0°C)
With the Pi 4 still housed in the Pi 3 case with the top and side cover removed, a small (14 x 14 x 5mm) aluminium heatsink I had lying around was added. This resulted in an immediate 7°C drop in the CPU temperature, but this was short-lived as the heat spread through the heatsink the CPU returned to the same level as before the heatsink had been installed.
The increased surface area doesn’t help when there isn’t any airflow. With airflow, there should be some benefit, and increased thermal mass would help deal with spikes in temperature.
I’m not sure if the larger (40 x 30 x 5mm) Heatsink from Pimoroni with a greater surface area might perform significantly better. This larger heatsink design also covers the WiFi module and partially covers the DDR4 memory chip. In an enclosure, I’d expect it to reach the same temperature as the CPU again due to the lack of convection. A Heatsink and Fan would provide should help, but the Fan is likely to be more significant gain than the heatsink, questioning the value of adding a heatsink at all.
Pimoroni Fan Shim
Case Enclosed (-14.4°C)
I purchased the small 30mm Fan Shim from Pimoroni to try and provide some active cooling. Installing the fan but keeping the Pi 4 fully enclosed in the official Raspberry Pi 4 case, results in the system running with a CPU temperature of 61°C, 34.6°C above ambient.
Case Open (-38.5°C)
With the top white section of the official Raspberry Pi 4 case removed the Fan Shim can clearly cool things significantly better. Venting the warm air to the surrounding environment, allowing the CPU temperature to drop to 37°C, just 10.5°C above ambient, a reduction of 38.5°C above ambient.
Fan Shim Service
There is software available to control the Fan Shim so that the fan doesn’t need to run all the time. This is explained in the tutorial for Fan Shim, where you can set a target temperature. As the idle temperature when enclosed is higher than the suggested target temperature, this feature doesn’t make sense to test when fully enclosed. When the board is open to the air, then the fan does correctly turn on and off to keep the board within the desired range.
Raspberry Pi PoE HAT (-14.9°C)
I had an original Raspberry Pi (R1) PoE HAT from my previous investigation into power supply problems with the PoE HAT. This is the unmodified version, and only used to provide cooling, power was still provided via the USB-C connector, and not PoE.
The Fan on the PoE HAT is controlled by the Pi, turning on at 50°C and off again at 45°C. With the Pi 4 top half of the case removed and continuing to sit idle, the PoE HAT is able to maintain the temperature within that range, with the fan turning on and off about every 30 seconds.
Enclosing the Pi4 and PoE HAT fully in the official Pi 4 case, the 25mm fan on the PoE HAT runs continuously as it can’t cool the board to below the 45°C threshold. The CPU temperature stabilised at 59°C, 34.1°C above ambient.
The 25mm fan on my original PoE HAT is significantly louder than the slightly larger 30mm fan used on the Fan Shim. There is only 0.5°C between the two enclosed fan-based results. Not likely to be significant, and more likely to be within the noise of the test measurements.
Pibow Coupé 4 Case (-10.4°C)
At the time of writing 3rd party enclosures designed for the Raspberry Pi 4 are limited, the Pibow Coupé 4 Ninja case is one of the few available. The case doesn’t completely enclose the board, leaving many components exposed, so whilst more covered than a bare board, it’s not the fully enclosed solution that might be needed for many scenarios.
Note: During deconstruction of the Coupé case to test the next scenario, layer number 3 snapped. Based on other feedback/posts for this case, it does appear that this layer is very fragile. So take great care assembling or disassembling the Coupé case should you get one.
A new layer 3 was provided after contacting the Pimoroni support team. They are aware this layer is very fragile and indicated that the case isn’t really designed for frequent assembly/disassembly, so something to keep in mind.
With the heatsink (not doing much) still in situ and the board mounted in the coupé case. The CPU temperature settled to 63°C, 38.6°C above ambient.
Pibow Coupé 4 Case + Fan Shim (-37.4°C)
Adding the Pimoroni Fan Shim to the Pi 4 secured in the Pibow Coupé case sees CPU temperatures to drop significantly to 36°C, 11.6°C above ambient.
This configuration performs similarly to the Pi 4 being housed in the official case, but without the top cover. That said, the ambient temperature has fallen since that test which may be a factor. It could also be that the Coupé case does cover some of the other components, which may be why it’s less able to dissipate as quite much heat.
Raspberry Pi 4 Board: Not enclosed (-15°C)
Removing the Raspberry Pi 4 from the case and leaving the board bare in the open air, with the small heatsink still attached to the CPU. The CPU reached 58°C, 34°C above ambient.
Adding the Fan Shim (-38.9°C)
With the Fan Shim installed, the CPU temperature dropped to 34°C, 10.1°C above ambient.
Remember all tests were performed whilst the Raspberry Pi 4 was idle, just sitting booted to a desktop. Whilst idle the CPU clock speed drops to 600Mhz, a fraction of the full speed of the system.
The data above shows clearly that the Raspberry Pi 4 needs active (Fan) cooling when used in any full enclosure, to bring the idle temperatures down sufficiently to provide the headroom necessary for running actual workloads.
Leaving the top lid off from the Official Raspberry Pi 4 case, or using a partial enclosure provides a lower CPU temperature than a fully enclosed case. Though if you are willing to leave the board exposed, leaving it fully exposed would be my recommendation, since it provides the lowest temperature without active cooling.