# RPi4 cooling

**URL:** <https://discourse.zynthian.org/t/rpi4-cooling/3873>\
**Category:** Hardware\
**Created:** [March 4, 2020, 3:38pm UTC](https://discourse.zynthian.org/t/rpi4-cooling/3873 "2020-03-04T15:38:55Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![jofemodo](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jofemodo/32/2_2.png) [@jofemodo](https://discourse.zynthian.org/u/jofemodo)\
**Post date:** [March 4, 2020, 5:22pm UTC](https://discourse.zynthian.org/t/rpi4-cooling/3873/2 "2020-03-04T17:22:26Z")

</div>

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

 ![zynthian_rpi4_cooling_02](https://discourse.zynthian.org/uploads/default/original/2X/8/835aeb8d2cc0d93cdc99951ab7c62a6d30917949.jpeg)

 ![zynthian_rpi4_cooling_01](https://discourse.zynthian.org/uploads/default/original/2X/9/9b6ebcc29d96931e6b910a6d23cb8ff99241bfa1.jpeg)

 ![zynthian_rpi4_cooling_testing_01](https://discourse.zynthian.org/uploads/default/original/2X/e/ef7347d433bb2fc9ec312b1817e505ac2255e872.jpeg)

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 😉

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 … 🤪 🤪 🤣

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:

- **The zynthian-heat-conductor prototype:**  

- **A “standard” passive heatsink for RBPi:**

 ![txtest_estufa_heatsink_01](https://discourse.zynthian.org/uploads/default/original/2X/e/e26fbb20dd1c5bde627cc3be2bfe3df01fcaaa9c.png)

- **Nothing:**

 ![txtest_estufa_raw_01](https://discourse.zynthian.org/uploads/default/original/2X/5/51306b252bf23f66fb9103eb5822b7e2b4c1ab7d.png)

**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 🏅 🏅

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!

---

_[View the full topic](https://discourse.zynthian.org/t/rpi4-cooling/3873)._
