User avatar
jahboater
Posts: 8213
Joined: Wed Feb 04, 2015 6:38 pm
Location: Wonderful West Dorset

Re: RPi 4 heat sink - it made a difference !

Sat Apr 25, 2020 7:23 pm

What temp does it reach when you run this?

Code: Select all

wget https://raw.githubusercontent.com/ssvb/cpuburn-arm/master/cpuburn-a53.S
gcc -o cpuburn-a53 cpuburn-a53.S
./cpuburn-a53
(it uses all four cores automatically).

User avatar
HermannSW
Posts: 5297
Joined: Fri Jul 22, 2016 9:09 pm
Location: Eberbach, Germany

Re: RPi 4 heat sink - it made a difference !

Sat Apr 25, 2020 7:28 pm

Until now I thought that heatsink was not needed, since my Pi4B is hanging (without heatsinks until today):
20200425_175632.part.15%.jpg
20200425_175632.part.15%.jpg
20200425_175632.part.15%.jpg (60.97 KiB) Viewed 2322 times

In the past I used cpuburn-a53 for testing heat effects. While temperature was slightly above 80ยฐC after some minutes (showing temperature warning symbol), measured arm frequency was 1.5GHz, because throttling starts at 85ยฐC.

I had three heatsinks from a Pi4B case with 3.5" display I received as a present. First I started without heatsinks, just did run cpuburn-a53 in one terminal, and this command logging temperature and CPU frequency 2 times per second in another terminal:

Code: Select all

while true; do echo `vcgencmd measure_temp` `vcgencmd measure_clock arm`; sleep 0.5; done

The terminal history is 1000 lines, giving 998 logged lines after pressing CTRL-C.

Without heatsinks (and good air circulation because of hanging Pi4B), these are the temperatures:

Code: Select all

๐Ÿ“ grep temp= 83.txt | grep "\.[^0]"
๐Ÿ“ grep temp= 83.txt | cut -f1 -d\. | cut -f2 -d= | sort -n | uniq -c
      7 80
    206 81
    598 82
    180 83
      7 84
๐Ÿ“ 
I was surprised to see that really 1.5GHz dropped (not often), had not measured that before:

Code: Select all

๐Ÿ“ grep temp= 83.txt | cut -f3 -d= | sort | uniq -c
     75 1000212864
    133 1000265600
    480 1500345728
    310 1500398464
๐Ÿ“ 
"Average" frequency is 1.40GHz:

Code: Select all

๐Ÿ“ echo "((75+133)*1+(480+310)*1.5)/998" | bc -ql
1.39579158316633266533
๐Ÿ“ 

Next I added the three heatsinks as shown in above photo.
Temperature distribution slightly better:

Code: Select all

๐Ÿ“ grep temp= 83b.txt | cut -f1 -d\. | cut -f2 -d= | sort -n | uniq -c
     37 80
    393 81
    469 82
     98 83
      1 84
๐Ÿ“ 
Slightly less 1.5GHz drops:

Code: Select all

๐Ÿ“ grep temp= 83b.txt | cut -f3 -d= | sort | uniq -c
     38 1000212864
     62 1000265600
    528 1500345728
    370 1500398464
๐Ÿ“ 
Average frequency 1.45GHz:

Code: Select all

๐Ÿ“ echo "((38+62)*1+(528+370)*1.5)/998" | bc -ql
1.44989979959919839679
๐Ÿ“ 

Then I realized that the heatsinks as shown in photo were not correct according case+display instruction. So I swapped the left two heatsinks, to match the instruction ("the copper heatsink is for the CPU" (left)). Temperature distribution worse than without heatsinks!

Code: Select all

๐Ÿ“ grep temp= 83c.txt | cut -f1 -d\. | cut -f2 -d= | sort -n | uniq -c
      2 80
    161 81
    576 82
    254 83
      5 84
๐Ÿ“ 
1.5GHz drops worse than without heatsinks!!

Code: Select all

๐Ÿ“ grep temp= 83c.txt | cut -f3 -d= | sort | uniq -c
     88 1000212864
    172 1000265600
    453 1500345728
    285 1500398464
๐Ÿ“ 
Average heatsink only 1.37GHz, less than without heatsinks!!

Code: Select all

๐Ÿ“ echo "((88+172)*1+(453+285)*1.5)/998" | bc -ql
1.36973947895791583166
๐Ÿ“ 
At least the copper heatsink is swindle ...
20200425_213301.part.15%.jpg
20200425_213301.part.15%.jpg
20200425_213301.part.15%.jpg (36.87 KiB) Viewed 2314 times
Last edited by HermannSW on Sat Apr 25, 2020 7:35 pm, edited 2 times in total.
https://hermann-sw.github.io/planar_graph_playground
https://stamm-wilbrandt.de/en#raspcatbt
https://github.com/Hermann-SW/memrun
https://github.com/Hermann-SW/Raspberry_v1_camera_global_external_shutter
https://stamm-wilbrandt.de/en/Raspberry_camera.html

User avatar
bensimmo
Posts: 5653
Joined: Sun Dec 28, 2014 3:02 pm
Location: East Yorkshire

Re: RPi 4 heat sink - it made a difference !

Sat Apr 25, 2020 7:28 pm

jahboater wrote: โ†‘
Sat Apr 25, 2020 7:23 pm
What temp does it reach when you run this?

Code: Select all

wget https://raw.githubusercontent.com/ssvb/cpuburn-arm/master/cpuburn-a53.S
gcc -o cpuburn-a53 cpuburn-a53.S
./cpuburn-a53
(it uses all four cores automatically).
At least do it while rendering some VC6 stuff and sending files to and fro over gigabit ethernet. stress it all out ;-)

User avatar
jahboater
Posts: 8213
Joined: Wed Feb 04, 2015 6:38 pm
Location: Wonderful West Dorset

Re: RPi 4 heat sink - it made a difference !

Sat Apr 25, 2020 7:35 pm

bensimmo wrote: โ†‘
Sat Apr 25, 2020 7:28 pm
At least do it while rendering some VC6 stuff and sending files to and fro over gigabit ethernet. stress it all out ;-)
I think that would reduce the temperature ... :)
The stress test does some clever stuff with NEON on all four cores that maximizes the temp.
If you run something else at the same time, it will be doing simple ARM instructions instead part of the time, and cool down.

User avatar
bensimmo
Posts: 5653
Joined: Sun Dec 28, 2014 3:02 pm
Location: East Yorkshire

Re: RPi 4 heat sink - it made a difference !

Sat Apr 25, 2020 8:05 pm

jahboater wrote: โ†‘
Sat Apr 25, 2020 7:35 pm
bensimmo wrote: โ†‘
Sat Apr 25, 2020 7:28 pm
At least do it while rendering some VC6 stuff and sending files to and fro over gigabit ethernet. stress it all out ;-)
I think that would reduce the temperature ... :)
The stress test does some clever stuff with NEON on all four cores that maximizes the temp.
If you run something else at the same time, it will be doing simple ARM instructions instead part of the time, and cool down.
are there any modification for it to use anything new in the A72 cores,.if that can stretch it more. (no they haven't, but the question has been asked there).
Interesting they say 64bit is cooler..
Initial revision of Cortex-A53 optimized cpuburn program
Primarily stresses the NEON VABA instruction (using the arguments
with all bits set), which seems to be the most power hungry one.
Additionally stresses branches and unaligned LDR instructions with
all the bells and whistles in use (conditional execution, shifted
index and base register writeback).

Implemented both 32-bit and 64-bit variants. The 32-bit variant
is a little bit more power hungry because ARM64 does not support
conditional execution and base register writeback for this
particular variant of the LDR instruction.
but I don't know, ethernet is quite power hungry (as seen earlier in a temp drop when it wasn't used)
no idea on the gpu side.


worth a try though, that's what this thread seems to be about.

ag123
Posts: 122
Joined: Sun Dec 18, 2016 7:54 am

Re: RPi 4 heat sink - it made a difference !

Sun Apr 26, 2020 7:43 am

jahboater wrote: โ†‘
Sat Apr 25, 2020 7:23 pm
What temp does it reach when you run this?

Code: Select all

wget https://raw.githubusercontent.com/ssvb/cpuburn-arm/master/cpuburn-a53.S
gcc -o cpuburn-a53 cpuburn-a53.S
./cpuburn-a53
(it uses all four cores automatically).
here is the result of the cpuburn-a53 run overclocked 1.75 ghz
CPU frequency: 1750MHz Voltage: 0.9125V (over voltage 2)
rpimon-oc1750cpuburn.png
cpuburn-a53 overclocked 1.75ghz
rpimon-oc1750cpuburn.png (63.75 KiB) Viewed 2247 times
in both cases the 28x28x11mm heat sink is attached
without a fan blowing, it pushes up to 81, 82 deg C. it throttles about 7 minutes into the run at 81 deg C
without a fan it idles at around 45 deg C
with a fan blowing, it settles between 45-47 deg C and remains stable throughout the cpuburn-a53 run
with a fan blowing it idles around 32 deg C

hence it would seem with overclocks the fan is still very necessary, the gap of 35 deg C (82 - 47) at full load is still pretty significant
the gap at idle 45-32 deg C (13 deg C) at idle is quite a difference as well between not having and having a fan
Last edited by ag123 on Sun Apr 26, 2020 1:13 pm, edited 1 time in total.

User avatar
jahboater
Posts: 8213
Joined: Wed Feb 04, 2015 6:38 pm
Location: Wonderful West Dorset

Re: RPi 4 heat sink - it made a difference !

Sun Apr 26, 2020 9:24 am

Nice graphs!
Remember that the cpuburn load should never happen in real life. That means you have a good safety margin (for hot weather perhaps).
ag123 wrote: โ†‘
Sun Apr 26, 2020 7:43 am
hence it would seem with overclocks the fan is still very necessary, the gap of 35 deg C (82 - 47) at full load is still pretty significant
the gap at idle 45-32 deg C (13 deg C) at idle is quite a difference as well between not having and having a fan
Your fan is working well, but having a larger heat sink and no fan would be my choice (silence).
Here is a 20 minute cpuburn run with a 1800MHz / over_voltage=3 overclock with just a large passive heat sink:

Code: Select all

Time       Temp     CPU     Core         Health           Vcore
10:03:25  37.0'C   600MHz  200MHz  00000000000000000000  0.8638V
10:04:25  49.0'C  1800MHz  500MHz  00000000000000000000  0.9188V
10:05:25  52.0'C  1800MHz  500MHz  00000000000000000000  0.9188V
10:06:26  54.0'C  1800MHz  500MHz  00000000000000000000  0.9188V
10:07:26  55.0'C  1800MHz  500MHz  00000000000000000000  0.9188V
10:08:26  57.0'C  1800MHz  500MHz  00000000000000000000  0.9188V
10:09:27  57.0'C  1800MHz  500MHz  00000000000000000000  0.9188V
10:10:27  58.0'C  1800MHz  500MHz  00000000000000000000  0.9188V
10:11:27  60.0'C  1800MHz  500MHz  00000000000000000000  0.9188V
10:12:28  60.0'C  1800MHz  500MHz  00000000000000000000  0.9188V
10:13:28  62.0'C  1800MHz  500MHz  00000000000000000000  0.9188V
10:14:28  62.0'C  1800MHz  500MHz  00000000000000000000  0.9188V
10:15:28  63.0'C  1800MHz  500MHz  00000000000000000000  0.9188V
10:16:29  64.0'C  1800MHz  500MHz  00000000000000000000  0.9188V
Time       Temp     CPU     Core         Health           Vcore
10:17:29  65.0'C  1800MHz  500MHz  00000000000000000000  0.9188V
10:18:29  65.0'C  1800MHz  500MHz  00000000000000000000  0.9188V
10:19:30  65.0'C  1800MHz  500MHz  00000000000000000000  0.9188V
10:20:30  65.0'C  1800MHz  500MHz  00000000000000000000  0.9188V
10:21:30  66.0'C  1800MHz  500MHz  00000000000000000000  0.9188V
10:22:31  66.0'C  1800MHz  500MHz  00000000000000000000  0.9188V
10:23:31  66.0'C  1800MHz  500MHz  00000000000000000000  0.9188V
10:24:31  67.0'C  1800MHz  500MHz  00000000000000000000  0.9188V
The result is in between your two, but its clear this 1800MHz overclock Pi4 will never throttle under any load, and that's good enough for me!

This shows just how stable the Pi4 is.
If not playing with overclocking/over_voltage and stress tests then I would be happy with no heat sink at all...

ag123
Posts: 122
Joined: Sun Dec 18, 2016 7:54 am

Re: RPi 4 heat sink - it made a difference !

Sun Apr 26, 2020 10:41 am

this is a long test at stock speeds 50 minutes ! heat sink 28 mm x 28 mm x 11 mm as in the first post
rpimon-cpuburn.png
cpuburn-a53 stock 1.5ghz
rpimon-cpuburn.png (55.11 KiB) Viewed 2202 times
1500MHz Voltage: 0.8625V
in both cases the 28x28x11mm heat sink is attached
with no fan blowing, it pushes up to75-79 deg C. it just about survived the cpuburn-a53 for 50 minutes during the run !
no throttling at all during that 50 minutes run.
the average peak high temperatures in the last 5 minutes of run is 77.8 deg C
with no fan the idle temperatures is about 45 C.
ambient temperatures is about 28 C
my thoughts are that at stock speeds this is the margin case, the heat sink just prevents throttling at 1.5 ghz with cpuburn-a53 as the load !
there is a slight draught but no fan during the run and you can see the curve dip a little (down to about 70 C) during the middle part of the run.
this heat sink is perhaps adequate for the occasional short high loads.

to run sustained high loads without a fan get a bigger (maybe taller) heat sink, and i think a better TIM (thermal interface material) would help. so it would perhaps suggest those 'performance' TIM that those desktop overclock enthusiasts use may after all be worthwhile without a fan. as you can see that a draught can easily reduce temperatures at the peak, different placement of the boards would likely help and to have a well ventilated environment with a good draught would help. a problem though is that i'd still need to find a means to keep the heat sink in place, it'd take some kind of 'frame' to hold the heat sink there.

with a fan blowing, it settles between 40-42 deg C and remains stable throughout the cpuburn-a53 run
average temperatures in the last 5 minutes is 42 C while cpuburn-a53 runs at full speeds all cores 1.5 ghz
the temperature difference 37 deg C (79 - 42) (nearly 40C) between with fan and without fan is pretty significant, hence it shows a good fan sink setup that enables good air flow will make a big difference.
with a fan it idles at around 32 deg C
ambient temperatures is about 28 C

User avatar
jahboater
Posts: 8213
Joined: Wed Feb 04, 2015 6:38 pm
Location: Wonderful West Dorset

Re: RPi 4 heat sink - it made a difference !

Sun Apr 26, 2020 5:54 pm

Incidentally, don't forget idling since most computers are idle much of the time.
"arm_freq_min=400" works well for me and must save a little power (a reduction of 200MHz):

Code: Select all

Time       Temp     CPU     Core         Health           Vcore
18:48:50  39.0'C  1800MHz  500MHz  00000000000000000000  0.9188V
18:49:50  37.0'C   400MHz  200MHz  00000000000000000000  0.8638V
18:50:50  36.0'C   400MHz  200MHz  00000000000000000000  0.8638V
18:51:50  36.0'C   400MHz  200MHz  00000000000000000000  0.8638V

ag123
Posts: 122
Joined: Sun Dec 18, 2016 7:54 am

Re: RPi 4 heat sink - it made a difference !

Thu Apr 30, 2020 7:19 am

i made a little fan bracket for my sinkfan combo and it looks like this, well my handicraft is lousy but it works ;)
pisidefan1.jpg
sink fan with bracket side
pisidefan1.jpg (38.18 KiB) Viewed 2073 times
pitopfan1.jpg
sink fan with bracket top
pitopfan1.jpg (34.24 KiB) Viewed 2073 times
running rosetta@home loads for a day temperatures are stable around 42C-45C
pi4runrah.png
temp. running rosetta@home for a day
pi4runrah.png (29.04 KiB) Viewed 2073 times

ag123
Posts: 122
Joined: Sun Dec 18, 2016 7:54 am

Re: RPi 4 heat sink - it made a difference !

Thu Apr 30, 2020 7:41 am

m3 machine screws just about wedge between the fins holding it in place.
the m3 brass stands are 15mm in heights, m3 machine screws to mount the fan are 20mm lengths, but i'd think 18mm probably suffice
fan is a 30mm x 30mm x 10mm(height) (mount holes apart 24mm)
heatsink is 28mmx28mmx11mm
the dxf and pdf for bracket template is uploaded.
for the pdf print out on paper and compare to actual board, some apps did scaling and bring the dimensions out of alignment when printed
the dxf can possibly be used as a laser cut template for acrylic
i used 4mm acrylic, but i'd think 3mm or even 2mm probably suffice, you would need to use shorter machine screws to hold the fan sink in place though

screw holes are 3mm diameter (intended for m3 machine screws, may be a little close fit though)
i've had to tap m3 threads on the pi4 board (yup existing screw holes on the board itself), apparently m3 screws are just too tight to fit through it. however, a good thing about tapping the holes is i can make do without a nut to hold the brass stands in place
Attachments
bracket.zip
dxf and pdf for bracket
(16.98 KiB) Downloaded 58 times
Last edited by ag123 on Thu Apr 30, 2020 8:09 am, edited 7 times in total.

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 31340
Joined: Sat Jul 30, 2011 7:41 pm

Re: RPi 4 heat sink - it made a difference !

Thu Apr 30, 2020 7:46 am

Fun results.

Just to add to a comment above. Someone was worried if a heatsink fell off and things overheated. This cannot happen. Even when overclocked the Pi firmware monitors the temperatures, and will throttle the CPU if things get over 85. So you can run with or without heatsinks/cooling quite safely.

We have run devices at over 120 and they still work fine, so there is a lot of headroom. We limit to 85 because 120 will burn fingers quickly! Pi's will run run all day every day at 85, quite safely.
Principal Software Engineer at Raspberry Pi Ltd.
Working in the Applications Team.

ag123
Posts: 122
Joined: Sun Dec 18, 2016 7:54 am

Re: RPi 4 heat sink - it made a difference !

Thu Apr 30, 2020 10:44 am

no worries about it, but fancy sink fans + over clocks is a fad / fashion sort of, this 30mm fan spins fast and hence is kind of noisy when one is working closely with it. i'd guess some would use bigger fans and bigger brackets to cool all other peripherals as well on the board and the bigger fans tend to run more silently. pi4 tends to run warm in warm weather without a sink fan.

a peeve is that currently the small low cost fans many are fixed voltages and speeds hence they run loudly even if you are not running any loads at all. i'd guess a better fad / fashion is to run pwm fans, the pi4 soc can readily handle that so that fan speeds varies with temperature and loads. it is probably a rather fun project, but i'd let others take that further

one of the challenges is how to keep the heat sink in place, this bracket is really a ghetto attempt that just about did it, i think the screws and brass stands lengths are incorrectly sized as you can see in the photos the board is literally bent, the stands either need to be higher and/or the fan sink screws shorter

i think Pi 3B+, Pi 4B has made itself a 'form factor' just as the PCs did it, it'd seemed there is some implications and raspberrypi.org may want to capitalize on it. the ATX form factor creates a whole industry that revolves around it from cases, sink fans, power supplies etc
https://hackaday.com/2019/07/08/five-ye ... taught-us/

DeSalvoSystems
Posts: 1
Joined: Thu May 21, 2020 6:01 pm

Re: RPi 4 heat sink - it made a difference !

Thu May 21, 2020 6:17 pm

I make a case with passive cooling. This keeps all of the GPIO pins open. Here are the results.
Attachments
DS011 4B ASSM V1.jpg
DS011 4B ASSM V1.jpg (240.04 KiB) Viewed 1823 times
DS011-4B 30MIN TEST.jpg
DS011-4B 30MIN TEST.jpg (247.93 KiB) Viewed 1823 times

Return to โ€œAdvanced usersโ€