Using Odroid XU4 fan on VisionFive 2

It seems the Odroid XU4 fan is mostly compatible with the VisionFive 2:

I had to remove the connector and replace it with one to fit the VisionFive 2, but it seems to be working well after doing that.

I made some further notes on it in this post: VisionFive 2 hardware setup and costings – Graham Markall

The idle temperature seems to have dropped down from about 50 deg C to about 30 deg C with the fan running. I have not yet tested it under load but will post some more details once I have done.


Thanks for your report! Unfortunately, I found out that there is practically only one source for this heat sink and that the penalty fee for the cheap cooler doubles the price. A quick search led me to a blogger who has mounted a Northbridge cooler that can be ordered at a lower price. The link in the blog no longer works, but this Northbridge cooler was quickly found on AliExpress and ordered even faster. As soon as I have the cooler and VisionFive 2, I will put a Noctua NF-A4x20 5V PWM fan on it.

Addendum on 13.3.2023
As I found out in the meantime, there is a Polish online shop that sells both the Odroid cooler with fan and the passive Odroid cooler at favourable conditions throughout Europe.

You can read about it here:


Yeah, it does work out comparitively expensive due to the penalty fee. However, I was able to order it and get it delivered the next day, whereas the Aliexpress Northbridge cooler shows that it will ship to me for Feb 8. I think the ODroid heatsink and fan is mainly a convenient solution for those looking for something “right now” :slight_smile:

I started using a copper cooler only (no fan) on the Visionfive 2, and get also around 50° C at idle state, so i finally decide to change and use the fan provided with the Visionfive 1 board, and now get a 30.2 °C (iddle). So very similar results compared to the Odroid XU4 Fan that seems a good option.



I was looking for the CPU fan connector, because I have a fan that the connector that is not the right size. Do you know what kind of connector it is?


I think it’s a JST PH 2 connector.

1 Like

Mine just arrived today, thus all the posts I’ve been making… it seems to sit at a bit under 50 degrees with no load:

sudo apt install lm-sensors


Adapter: ISA adapter
temp1:        +46.2 C

I’m assuming that’s the CPU, looks like the system needs some tweaks to work with lm-sensors. In any case that’s pretty hot, so I’ll be adding a northbridge heatsink soon. It’s a pity Zalman stopped making their tall passive northbridge heatsinks (the ZM-NB47J), I’ve used up all the ones I had on ODroids and the like and they’re perfectly capable of passively cooling these things.

1 Like

How well centered is the fan on there? The hole alignment and spacing is pretty irregular, did you just fit it off-centre onto the CPU? From what I can tell northbridge push-pin heatsinks are 59-60mm across the pins but the holes on the board are more like 56mm centre-to-centre.

1 Like

It’s not very well centred but the line from hole to hole does pass over the JH7110 so between that, the thermal paste, and the sprung pins, the XU4 fan does seem to make good contact. Even running 4 cores at 100% for hours I didn’t see the temp exceed 32 degrees C.

I can confirm all that.
Just below 50 deg in idle with that low profile copper heatsink.
Below 35 deg now with a noctua 12 (!) V fan, that has issues spinning up but then stays on and is indeed silent :slight_smile:

I used a modified 40x40mm heatsink/fan combo. The holes were in the right place for me. My big issue was with a 40x40mm heatsink, the POE connector is in the way so I have to cut off a piece of the heatsink.


While waiting for the Northbridge heatsink to turn up I ran a few tests with and without the hillbilly heatsink. Turns out that pretty much anything other than just the heat spreader on the CPU makes a significant difference to temperatures. With no heatsink I’m getting an idle temp of 45 degrees rising to 54 degrees after 2-3 minutes at 100% CPU, which then drops fairly rapidly to 50 when the load is removed and then slowly decays back to 45.

With the hillbilly heatsink, which is nothing more than about 10cm of aluminium rod, the temperature drops to 32 degrees when it’s dropped onto the CPU and then slowly creeps up to 42 degrees, so three degrees cooler than with nothing at all. With the same 100% load it only goes up to 45 degrees, the no-heatsink idle temperature, and then decays back to 42-43 degrees over half an hour or so.

I’ll report the figures for the NB heatsink when it’s set up, it’s probably got about the same mass as the hillbilly heatsink but a vastly larger surface area so I’d expect it’d run a few degrees cooler and recover much more quickly.


So the Northbridge heatsink turned up, from this Aliexpress seller in just over a week which was pretty impressive. It’s a standard pushpin heatsink, I added a piece of Kapton tape over the HDMI connector shield because the heatsink touches it:

With the heatsink on the initial temperatures are the same as the hillbilly heatsink, eventually stabilising at 38 degrees after about 45 minutes. The 100% load takes it up to 40, which drops back to the stable temp of 38 after about ten minutes.

So it’s definitely worth dropping one of these cheapie Northbridge coolers on, it drops the maximum temp by nearly 15 degrees through purely passive cooling. Given the effectiveness, I don’t think active cooling is necessary unless you’re doing something like video transcoding 24/7.


Just wonder what is your room temperature actually? I use passive heatsink without AC, so room temperature was around 34C, and then make -j4, the CPU heated up to 75C very quickly.

1 Like

This thread reminded me to check the temp of my cooling solution I had installed. Boy, glad I checked. I used some cheap raspberry pi 4 heatsinks that had thermal tape on them. I installed lm-sensors and despite the heat sink AND a noctua fan blowing on the CPU, i was at 62 degrees C. I ripped off the cheap heat sink and only had the fan blowing on it, and I’m down to 39.9 degrees C. The heat sink was more like a blanket!

I just bought some thermal glue and I’ll give that a try, unless someone has better suggestions and/or heatsinks that are worth trying. Those odroid fans aren’t as easy to get as I’d like.

I then ran Geekbench and w/ just the noctua fan blowing on the CPU, it stays around 45 degrees C.

1 Like

Ah, good point, I was just interested in the performance difference between the different types, i.e. was it worth fitting a heatsink and if so what, but others might want to know the absolute change from baseline. So the room temperature was 21-22 degrees C at the time, I’m assuming the board would have been sitting a bit above that because of all the electronics on it. In my case idle with no heatsink would be something like 20-25 above ambient, not unreasonable.

I suspect a lot of thermal tape isn’t, it’s just plain (thin) double-sided tape because that’s much cheaper and easier to make. Try it without the tape and the heatsink pushed down a bit to make good bare-metal contact, which is what my hillbilly heatsink was, it was just the weight of the heatsink pushing it onto the heat spreader.

In terms of what to get, a NB cooler with pushpins seems to be the best option, see the link in my earlier post for one with movable attachment points since the VF2 board doesn’t followed the standard layout for NB coolers.

1 Like

Do the pushpins not disturb M.2 underneath?

1 Like

What M.2? :-).

I’m using an SD card, I’m only using it for cross-platform development work so couldn’t see a need for an M.2 or other SSD-style storage. If anyone’s concerned about it I could take a photo of the underside with the pushpins, although I’m not sure how obvious any possible obstruction will be since it’s all very low-profile.

1 Like

Yes, unfortunately! Especially the nipple that sits close to the M.2 connector is very annoying. I immediately removed my SSD and ordered a set of several small heat sinks. Also, due to the adjustable retaining nipples, the heat sink seems to sit on the CPU with varying pressure, creating a tiny gap on one side. Only the heat-conducting self-adhesive pad has created some contact; it would probably look worse with heat-conducting paste.