Note: This section is entitled “Observations” rather than “Conclusions,” because the testing here is not rigorous enough to draw generalized conclusions that may be applicable to all Raspberry Pi 4B devices under all conditions and processing scenarios. This section only presents my observations based on my testing of my device under the described conditions. YMMV, etc.
Observations from my testing:
- The cases can be described in four groups, ranked in terms of effectiveness at controlling heat:
- Best: Active cooling. The Noctua fan demonstrated the best performance, despite being quieter than the generic 5V fan. It was (marginally) helpful to add vents to the sides to provide intake.
- Second: The Flirc heatsink case, which held the temperature of the RPi at 70°C, well below the throttling threshold. The Flirc case also slowed the temperature increase under peak load, since the room-temperature case absorbs some of the heat. However, the RPi in the Flirc case ran about 10°C hotter than any of the active cooling solutions both at idle and at peak load. Further, the Flirc case required much longer to return to idle temperature after a heavy load – even while the processor was idle, the internal temperature remained elevated above the pre-stress idle temperature for at least 10 minutes. In other words – the Flirc case, as a heatsink, exhibits both the expected upside (absorbing excess heat) and downside (hanging onto excess heat longer).
- Third: Running the RPi exposed, either with or without the heatsink. These cases rapidly reached the 80°C idle threshold, but did not stay there. Interestingly, the exposed CPU was able to dissipate heat rather quickly in the post-stress idle phase, even without active cooling.
- Worst: Running the RPi in an enclosed plastic case without any temperature management – including the official Raspberry Pi 4B case. These cases demonstrated idle temperatures of 70°C, on par with the peak temperatures of the Flirc case. Moreover, the temperate rose to the peak of 85°C and incurred maximum throttling – probably because the lightly-throttled CPU at 80°C continued to dissipate heat into the pocket of air trapped inside the case, further elevating temperatures.
- The Flirc case and the no-cooling cases demonstrated a noticeably higher post-stress idle temperature than the pre-stress temperature. That is, heating up the case and the air trapped inside caused the RPi to maintain a 5-10°C higher temperature for an extended period and perhaps indefinitely. (Extended testing of the Flirc case after the scripted post-idle stage demonstrated that it remained stuck around 52°C for an hour past the max load phase.)
- The Flirc case and the no-cooling cases were also noticeably warm to the touch during idle operation, with maximum case temperatures of 47.4°C – several degrees above the pain threshold of 44.6°C. All of the active-cooling cases remained at room temperature even while the RPi inside operated at peak leak for an extended duration. Whether this is a problem depends entirely on the application and the scenario.
- The Noctua fan not only provided more effective cooling than the generic fan, but was 10dB quieter up close and 6dB from one foot away. As a subjective observation, the generic fan seemed to exhibit noise at a more irritating pitch than the Noctua fan – probably a higher, whinier frequency.
- The incremental throttling mechanism of the RPi is apparent from the test data. The sysbench processing task was completed in about 9 seconds when the RPi is operated below 80°C. In the range of 80-81°C, the task requires 12 seconds; and at or above 85°C, the task requires up to 22 seconds. (It was unclear from the testing whether the throttling involves reducing the clock rate or the number of cores, but this page describes the 3B temperature throttle as a clock rate reduction.)
- The CPU heatsink provided a 2-3°C improvement while operating without a case. There’s no reason not to use it – especially as it comes standard with every 4B – but it’s nice to know that it is not just ornamental.
- The updated firmware provided a 4°C improvement during idle processing without a case, and a lesser, but still noticeable, improvement during processing inside a case. The updated firmware did not matter while the CPU was running hot enough to be throttled. Also, the updated firmware made little difference in the Noctua fan case, since temperatures were already well-controlled.
Aspects of the Raspberry Pi 4B that require further evaluation include the following:
- Testing of additional cases and cooling strategies, such as the Seeed Studios ICE Tower CPU cooling fan and the Raspberry Pi Mini Water Cooling Kit (!)
- Testing of additional types of processing, including bus-heavy operations such as 4K video
- Testing under varying environmental conditions, such as varying ambient heat and varying humidity
- Evaluation of future firmware upgrades that may improve power utilization and reduce heat production