Also, as there is no retention system (unlike on the Rock 5B board): the heatsink is simply attached to the SoC by an adhesive thermal pad… and unfortunately this intermediate layer cannot be as efficient as a good thermal paste.
Once the cooler is installed and the OS booted, we can verify that the 3-pin connector allows the fan to start on demand, but will run most of the time under light load. Even at idle in a somewhat cool room, temperature of the SoC quickly reaches 45°C and the fan starts to spin. Also, the fan pushes air from top to bottom, so air flow is difficult to detect.
Then, I used the sbc-bench script to stress the SoC and checked how it performed and monitored its temperature. Well, results depend on the ambient temperature: in my last attempt, with a mild room temperature of 23 °C, highest temperature in mining test reaches 80.4 °C, at the limit of throttling. This is much, especially considering I left the case open for this test! So, using the system at load in everyday tasks will probably shorten life expectancy of both the board and the fan! At least, this fan is not noisy, but the solution is clearly insufficient to cool the board under moderate or high loads.
In order to improve cooling, there are two main possibilities: either increase the size of both the heatsink and fan to get better exchanges or move to a pressure-based holding system, thermal paste and possibly with a heat pipe. Here, space is very limited, so the maximum exchange surface of the heatsink is about 28x28mm.
I checked for solutions and the most promising cooler seems to be KKSB high performance cooler for Rock 4C+ . Unfortunately, even if the holes on Rock5A board are compatible, the position of the SoC is not exactly the same and what about the height? I did not choose that solution because I had a case already and this nice heatpipe cooler requires another taller case (KKSB Rock 4C+ case), but also because there is some risk that the brackets cannot be used without modifications, for a total of about 45 EUR excluding shipping.
I decided to try a cheaper solution, very similar to the stock Radxa set, with three main principles:
- increase heatsink size, especially its height as the small 4mm gap between the fan and the base plate is too short for decent air flow. The ecoPi Pro case allows up to 20 mm height for the heatsink if fan height is unchanged, so 15mm is perfect and offers 3 times more space for air flow
- increase fan size, with 30x30 mm footprint
- change air flow direction and add cooling holes to the case to allow better air flow rate
Here is the purchase list:
- 28x28x15 mm aluminium heatsink I found here
- 30x30 mm 5V DC fan with 2 pins for GPIO like in this set.
- a decent adhesive thermal pad
The total cost including shipping is about 32 EUR, not that cheap compared to KKSB option, but with two heatsinks, two fans and enough pad surface for a dozen of attempts. The next picture shows a comparison between the stock cooler and my alternate solution, in top to bottom air flow.