Power & Source of Big Ideas

Efffect of heatsink for Nanopi Neo

Moderators: chensy, FATechsupport

I wanted to know the details more than "reduces temperature" and so I bought a heatsink for one of my two Nanopi Neos.

I did not touch the CPU's automatic frequency scaling. I measured with 0-4 "yes > /dev/null &" background processes resulting in 98%/73%/48%/23%/0% CPUs idle time. Temparature was the same on all 4 cores (measured with "cpu_freq" command, CPU utilization with "top").

The outcome did surprise me a bit, the biggest heat reduction happens for 25% CPU utilization:
Image

Hermann.
Image
Playing with CPU frequency control can be dangerous, and stop processor even with heatsink ...

After start I did set min and max frequency for all cores to 1.2GHz, while CPUs are 98% idle, with this script:
root@FriendlyARM:~# ./sma 1200000
root@FriendlyARM:~# cat sma
#!/bin/bash
for((i=0;i<4;++i))
do
echo $1 > /sys/devices/system/cpu/cpu$i/cpufreq/scaling_max_freq
echo $1 > /sys/devices/system/cpu/cpu$i/cpufreq/scaling_min_freq
done
root@FriendlyARM:~#


Checking this confirms that this worked well:
root@FriendlyARM:~# cat /sys/devices/system/cpu/cpu?/cpufreq/scaling_m??_freq
1200000
1200000
1200000
1200000
1200000
1200000
1200000
1200000
root@FriendlyARM:~#


Now I started 4 "yes > /dev/null &" background processes resulting in 0% idle time for CPUs ("top" command>). After some time CPU frequency control did downgrade the CPU frequency min/max settings:
root@FriendlyARM:~# cat /sys/devices/system/cpu/cpu?/cpufreq/scaling_m??_freq
1008000
1008000
1008000
1008000
1008000
1008000
1008000
1008000
root@FriendlyARM:~#


This is the last "cpu_freq" output before the Neo freezes and blinking blue LED stops blinking:

Code: Select all

root@FriendlyARM:~# cpu_freq 
CPU0 online=1 temp=91 governor=interactive cur_freq=1008000
CPU1 online=1 temp=91 governor=interactive cur_freq=1008000
CPU2 online=1 temp=92 governor=interactive cur_freq=1008000
CPU3 online=1 temp=92 governor=interactive cur_freq=1008000
DDR governor=userspace cur_freq=432000 max=432000 min=408000
root@FriendlyARM:~#


Yes, more than 90°C despite heatsink ...

Hermann.
What is the thermal resistance of that very thick blue thermal(?) pad?
I have no idea, the heatsink is the official Nanopi Neo heatsink from Ftriendlyarm:
http://www.friendlyarm.com/index.php?route=product/product&path=82&product_id=134
Based on the heat graph posted, is obvious that the heatsink is either not properly placed (it looks fine though in pic), or it is way too ineffective.
The metalic surface could suffice IMHO to dissipate the heat load, yet it seems the blue thermal conductive pad does a very poor thermal transfer (if any).


P.S.
A good test would be to have a digital thermometer measuring the metallic surface and also logging the actual temperature measured internally in CPU.
Any long period difference there will be an indication of poor thermal transfer.
The thermal pad on my NanoPC-T3 is about 0.2 to 0.5mm thick. Maybe try a thermal pad used for mounting a TO-220 or bigger transistor package and use some copper or ally sheet to make up the difference.
A good test would be to have a digital thermometer measuring the metallic surface and also logging the actual temperature measured internally in CPU.

The digital thermometer at home stops at 43.7°C ;-)

I just ordered a -50°C – +110°C digital thermometer on amazon that should arrive in the next days. Then I will do those measurements.

Hermann.
I just received heatsink by mail and put it on small media server in the closet.
Closet does not get a lot of ventilation. So I was hoping heatsink would help.

cpu_freq utility reports about 15-18 degree reduction in CPU temp.
Heatsink seems to be working. Maybe not as effective as I would like, but it is working.
> cpu_freq utility reports about 15-18 degree reduction in CPU temp
>
This is the reduction I see with 1 core running at 100%, see measurement difference at 73% utilization in diagram above.

Can you please add load as I described and confirm my measurements? If you would see same measurements then this would show that we both did the same thing with the heatsink (there are not much options).

Hermann.

P.S:
Still waiting for digital thermometer for measurements, amazon says it will arrive on Monday ...
Digital thermometer arrived today, and I did some measurements.

In order to have same conditions for measurements I clamped the thermometer on the heatsink just above the thermal paste:
Image

The measurements show increasing differences between CPU temperature measured by "cpu_freq" command and thermometer:

Code: Select all

43 40.1
61 50.3
73 56.8
80 58.9


So either the thermometer is not connected good enough, or really the thermal paste from Friendlyarm is poor.

So I did measure again with my 2nd Nanopi Neo, thermometer clamped diagonally directly on H3 CPU:
Image

There are differences as well compared to "cpu_freq" output (left), but not that big:

Code: Select all

57 54.5
76 68.5
83 69.1


These measurements seem to confirm that the heatsink has a considerable lower temperature than the CPU which show poor thermal transfer of the thermal paste. Perhaps Friendlyarm did not test whether the thermal paset they sell is good enough?

Hermann.
Will a 3mm copper shim work better in this case? There is one item on ebay, maybe I can cut it 15mmx15mm 3mm thick shim.

Who is online

In total there are 28 users online :: 0 registered, 0 hidden and 28 guests (based on users active over the past 5 minutes)
Most users ever online was 5185 on Wed Jan 22, 2020 1:44 pm

Users browsing this forum: No registered users and 28 guests