What's the thermal safety of VisionFive 2?

For mine, I ordered the “Enokay Raspberry Pi 4 Model B Heat Sink Single Cooling Fan RAM Heatsink Set” on amazon, which is $10 at this time. It’s an average quality fan and is a bit audible, but it seems to work well and comes with some additional heatsinks.


I used an old northbridge heatsink and arctic mx-4, and just strapped it down with zip ties, depinned the connector and wedged the pins into the socket, will add hot glue to keep from shorting later, temps are great 29c idle 42c load

Reposting here in case someone missed it:

My XU4Q heatsink arrived. This is a fully passive solution.

I used Artic MX-4 as thermal interface.

Test: nbench, 4 threads, infinite loop: while [ 1 ];do ./nbench;done

Ambient temp: 24C for both tests.

Time: checked both at 15m mark.

From /sys/class/hwmon/hwmon0/temp1_input

w/o heatsink: 72282 (72.3C)

w/ heatsink: 55807 (55.8C)

It seems to do the job, no fan needed.

There is some 1-2mm clearance, eyeballed, from the height of the M.2 screw to the heatsink retaining clips. I have now installed an SSD (Patriot P300) w/o issue.

3 Likes

I bought a heatsink with adjustable pin spacing from Aliexpress ( Pure Copper Northbridge Motherboard Chipset Heatsink Cooler Radiator Fan For Pc Graphics Card South North Bridge Chipset Cooling - Fans & Cooling - AliExpress ).

It also comes with a fan, but this one is for 12V. It doesn’t seem to cool with a 5V power supply.

I wrote a blog post (in Japanese): Starfive VisonFive2(RISC-V SBC) で遊ぶ – その11 ファンを付ける(1) | ず@沖縄

2 Likes

For people buying heatsinks and fans, for the heatsink you want the tallest ones possible to give the greatest thermal mass and surface area for heat dissipation. The one linked by @zu2 is listed as being 16mm high, that’s basically just a raised metal block with the fan doing almost all the work of cooling. Don’t just go for anything that says copper, its heatsinking performance isn’t that much better than aluminium and because copper is more expensive and requires a separate manufacturing process from the near-universal alu one you’re going to pay more and get less for your money.

Given the history of CCA and CCC cables, you may not even be getting what you think you’re getting with a “copper” heatsink.

4 Likes

I bought two heatsinks for Rock 5B and it fits this board too. Probably is northbridge, but what I was originally asking for is a trade spec name for it if I wanted to buy. Still don’t have that, but I guess I don’t need it now that I have something in place.

I check mine with $ sensors ($ sudo apt install lm-sensors). Mine runs between +30°C and +37°C with the fan from the kit sold at allnetchina.cn

This is with Minecraft server running and building a new world:

jakubtalich@visionfive2:~$ sensors
120e0000.tmon-isa-0000
Adapter: ISA adapter
temp1:        +32.1°C  

jakubtalich@visionfive2:~$ sensors
120e0000.tmon-isa-0000
Adapter: ISA adapter
temp1:        +34.2°C  

jakubtalich@visionfive2:~$ sensors
120e0000.tmon-isa-0000
Adapter: ISA adapter
temp1:        +34.3°C  

jakubtalich@visionfive2:~$ sensors
120e0000.tmon-isa-0000
Adapter: ISA adapter
temp1:        +34.5°C  

jakubtalich@visionfive2:~$ sensors
120e0000.tmon-isa-0000
Adapter: ISA adapter
temp1:        +34.9°C  

jakubtalich@visionfive2:~$ sensors
120e0000.tmon-isa-0000
Adapter: ISA adapter
temp1:        +35.0°C  

jakubtalich@visionfive2:~$ sensors
120e0000.tmon-isa-0000
Adapter: ISA adapter
temp1:        +35.4°C  

jakubtalich@visionfive2:~$ sensors
120e0000.tmon-isa-0000
Adapter: ISA adapter
temp1:        +35.6°C  

jakubtalich@visionfive2:~$ sensors
120e0000.tmon-isa-0000
Adapter: ISA adapter
temp1:        +37.1°C  

jakubtalich@visionfive2:~$ sensors
120e0000.tmon-isa-0000
Adapter: ISA adapter
temp1:        +34.5°C  

jakubtalich@visionfive2:~$ sensors
120e0000.tmon-isa-0000
Adapter: ISA adapter
temp1:        +34.6°C  

jakubtalich@visionfive2:~$ sensors
120e0000.tmon-isa-0000
Adapter: ISA adapter
temp1:        +37.2°C  

jakubtalich@visionfive2:~$ sensors
120e0000.tmon-isa-0000
Adapter: ISA adapter
temp1:        +36.7°C  

jakubtalich@visionfive2:~$ sensors
120e0000.tmon-isa-0000
Adapter: ISA adapter
temp1:        +37.1°C  

jakubtalich@visionfive2:~$ sensors
120e0000.tmon-isa-0000
Adapter: ISA adapter
temp1:        +36.8°C

Here is something I generated on my last kernel rebuild:

What you have is me doing a make clean in the kernel tree, then make -j 5 bindeb-pkg which takes 40’ish minutes. Followed by me installing, doing some housekeeping and then rebooting (the gap in the graph).

I’m just putting the finishing touches on this before publishing the code, it was originally ‘Pi Only’, but I’ve now got the basics running everywhere, incl the vf2 and on my FreeBSD box :slight_smile:

2 Likes

Nice! Thank you!

How’d you get the CPU frequency?

python3 + psutil

  • all the data there is psutil derived.

PSutil installs perfectly in a virtualenv…

By all means clone and run SBCEye if you want; just be aware that I’m actively developing it and not being precious, I may break things (but I’ll leave the rrdb ‘schema’ untouched, only extend it, so data will be preserved). Basically DO NOT try any of the GPIO or display/environment sensor stuff, it’ll fail and I wont be any help…

But the core now works, I have more work to do on the docs too…

Edit: And before anybody asks… Yes it will log NVMe temps once I implement Feature Request #41 (see the issues list in github, report bugs there too, not here :wink:

2 Likes

Thanks! Looks like /sys/devices/system/cpu/cpufreq/policy0/scaling_cur_freq

I ended up buying a small quiet fan on ebay. It’s 5V, but I connected it to a 3V pin to make it even quieter. The VF2 is running 100% on all cores, at full CPU freq, at ~57℃.

I’m using this case: https://www.reddit.com/r/RISCV/comments/104dayd/i_designed_a_3d_printable_case_for_the_visionfive/ , but since I put the fan on the inside of the lid the lid doesn’t close.

4 Likes

At which level this is handled? Hardware? Operating system?

1 Like

I’m going to guess that it needs to happen at the OS level, using information contained in the devicetree. From the second link below “Thermal management is achieved in devicetree by describing the sensor hardware and the software abstraction of cooling devices and thermal zones required to take appropriate action to mitigate thermal overloads.”

thermal-zones section of device tree:

Linux kernel document on thermal-zones:

Linux thermal driver:

4 Likes

This is the best option.