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!

13 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:

great :joy::rainbow: