RPi4 cooling

Hi,

a simple idea, how to mount a hat “onto” the RPi4 with a (big) heat sink. Not compatible with the current official Zynthian case, but perhaps an idea for the next generation?

1 Like

I’ve a simpler and better solution. Passive cooling using the aluminum case as heat-sink:

I’ve been testing with a prototype made by hand and it works quite well. Temperature is 10ºC lower than using a conventional passive heat-sink or nothing.

The test sessions were quite stressing for my poor RBPi4 zynthian. It was working for hours at high ambient temperature 40-45 ºC :wink:

At this temperature, i tested with 2 different stress-generator binaries:

  • stress => put the 4 cores to 100% using C compiled code
  • cpuburn => put the 4 cores to 100% and try to maximize the heat production by using customized assembler code.

You have to realize that both of these stress-generators put the RBPi, miles above any real-world zynthian use-case. Also, the ambient temperature of 40-45ºC is, probably, above the maximum temperature that any person with a sane brain will try to use a zynthian. And i say “probably” because i’m pretty sure that some of you will try go above that … :crazy_face: :crazy_face: :rofl:

This is the script used for testing:

echo "Stage 1: Repose => 5 min"
sleep 300

echo "Stage 2: Stress => 20 min"
stress -c 4 -t 1200s

echo "Stage 3: Repose => 5 min"
sleep 300

echo "Stage 4: Stress => 20 min"
stress -c 4 -t 1200s

echo "Stage 5: Repose => 5 min"
sleep 300

echo "Stage 6: CPU Burn => 20 min"
timeout 1200s ./cpuburn-a53

echo "Stage 7: Repose => 10 min"
sleep 600

#Total Time: 85 min

I repeated the tests with 3 different configurations:

  • Nothing:

Comments:

  1. As you can see, a “normal” heatsink doesn’t produce any measurable effect. It’s RBPi decoration. My theory, “the real problem is putting the heat out of the case”, is confirmed :medal_sports: :medal_sports:

  2. The heat-conductor prototype (zynthuctor) reduce the temperature for a good amount (~5-10ºC). Enough for not triggering the frequency cap on the first 2 rounds with “stress”. “Cpuburn” put the zynthian to boil in all the cases. At a normal ambient temperature of 15-35ºC and with a maximum CPU load of 70-80% (without generating lot of XRuns) the zynthuctor is capable of maintaining the temperature at a very acceptable level of 50-70ºC, far enough from the 80ºC and the freq-cap.

Final Conclusion:
The “zynthuctor” seems to be a valid solution for our problem of avoiding “frequency capping” under any reasonable use-case of zynthian. So the next zynthian kit v4, when available, will include the “zynthuctor” and will avoid using active cooling. Yesssssssssssssss!!!

Enjoy!

9 Likes

Sounds good! Glad you guys have zeroed in on a solution. The reports of heat issues are the one thing that has stopped me modifying my existing case. Will drop an order for a new pi4 kit as soon as they are available.

[quote=“jofemodo, post:2, topic:3873”]
How does the zynthuctor attach at both ends?

It uses autoadhesive thermal tape. You have to be quite precise when placing the zynductor, because a good contact is requiered for achieving a good result, but i think most of people is perfectly capable if doing so. Anyway, i suspect rbpi4 over heating has been exagerated. At less in our use case (no GPU processing), it’s reallly difficult to reach caping (80 C°) with ambient temperature at a reasonable range of 20-30 °C.

Regards!

I do not own a Rpi 4, but I’ve heard that the last raspberry foundation eeprom update (published in november 2019) has significantly decreased the power consumption and the temperature.

Nice hardware hack btw :+1: