Igor Kromin |   Consultant. Coder. Blogger. Tinkerer. Gamer.

One thing that has been bothering me about my Odroid XU4 home media/file server has been the noise generated by the standard heatsink/fan combo. There are plenty of complaints about this on the forums too, but what I could not find was a description on how it could be replaced. So in lieu of that here are the steps that I used to replace the standard heatsink and fan.

I wanted to go for an almost silent option so used the Noctua NF-A4x10 5V fan, which was more or a less a drop in replacement after minor soldering work. For the heatsink I used the 40 x 40 x 25 mm Tall Blue Heat Sink from the Odroid shop.

The space inside my server was very limited. The new heatsink just barely came flush with the top cover in fact. The new fan was also going to sit flush with the cover and above the USB ports. That's right the fan wasn't going to blow air into the heatsink but work as an exhaust fan instead, that was all due to space limitations but worked out well. I'll comment on temperatures later in this article.

The standard heatsink was held in place with some nylon pegs that could be pushed together and then pushed through the board. The peg on the side of the board was easy to remove, however the one that was closer to the centre of the board gave me a bit of trouble. That peg was surrounded by tiny surface mounted components so using standard sized needle nose pliers didn't work, I had to use the smallest angled pliers that I had.

DSC02054.JPG DSC02055.JPG

I removed the fan though it was not strictly necessary, as long as it was unplugged the whole unit would have come out. The heatsink gave me a bit of trouble at first as it seemed fused to the CPU, but then I discovered that if I used a screwdriver to pry it up next to the on switch it began to peel off. Once that corner was lifted up, the rest came off without any trouble.

DSC02057.JPG DSC02058.JPG

The blue heatsink came with thermal compound which I spread evenly in a not-too-think a layer across the whole heatsink surface.

Then it was a matter of aligning the heatsink to the holes on the board and pushing the pegs through. Overall the heatsink was not very stable but it didn't fall off so I just went with that. The XU4 booted after replacing the heatsink meaning I didn't wreck anything.

DSC02060.JPG DSC02062.JPG

The fan was placed right next to the heatsink with a whole drilled through the top cover. I also 3D printed a grille in blue plastic to match. I cut off the original fan's connector and then clipped off the new fan's wires a few centimetres away from the fan body. Then I connected the original connector to the new fan by matching the wires black to black and red to red, the yellow PWM wire on the new fan was left disconnected.

DSC02067.JPG DSC02068.JPG

Interestingly with the new heatsink the CPU was running much cooler without the fan turning even on. With the old heatsink the CPU would run at 44C+ and the fan would be switching on/off quite regularly, the new heatsink held temperatures at around the 38C mark. That was a huge difference especially considering it was effectively passively cooled.

I did some tests with ffmpeg encoding of large files and was able to push temperatures to the 98C range but as soon as CPU activity reduced the temperature went down to idle levels very quickly. I guess having a larger surface area really helped dissipate the heat even without a fan running.

In terms of the fan, when it was running it was very quiet. I don't notice when the fan turns on any more. Huge difference.

So there you go, that has been a fairly expensive upgrade for the components involved, mostly due to the shipping cost for the heatsink and the price of the Noctua fan (why is it so expensive?) It's definitely been worth it though. I'm considering rearranging where the XU4 is located within my server enclosure, maybe if I move it further down I can mount the fan on top of heatsink, will have an update if I do.


Have comments or feedback on what I wrote? Please share them below! Found this useful? Consider sending me a small tip.
comments powered by Disqus
Other posts you may like...
Hi! You can search my blog here ⤵
Or browse the recent top tags...

Recent Blog Posts

How to fix Google Cloud SDK dev server error - No module named ipaddr

Adorable but totally metal - Metal Earth 3D Guardians of the Galaxy Groot model kit

Riverside Expressway Cam shut down permanently

Inserting Google DFP ads with Backbone, Underscore and jQuery

How to resolve the domain is already mapped to a project error in Google App Engine

A quick look at the Nyko Super MiniBoss wireless controllers for the SNES mini

Loading and displaying a collection from bootstrapped data in Backbone.js

Add this handy function to your Bash profile file to display the compiled JDK version for a .class file

How does PCBWay stack up as a low budget PCB fab

Resolving the Cannot reference X before supertype constructor is called compiler error in Java

Recent Galleries

BMB-012 Nanoblock T-Rex Skeleton Model assembly

Tiny Arcade revision 6 kit assembly and decal application

Atari Lynx repair - Part 5 - McWill LED screen mod installation

Atari Lynx repair - Part 4 - screen cover replacement

Atari Lynx repair - Part 2 - re-capping the motherboard

Atari Lynx repair - Part 3 - broken speaker replacement

Atari Lynx repair - Part 1 - introduction and case disassembly

Building a custom Atari Lynx game box storage shelf unit in a day

Protecting old Atari Lynx game boxes with snug fit plastic sleeves

Monument Valley 2 is released and does not disappoint

Blogs and Friends

Matt Moores Blog
Georgi's FlatPress Guide
Perplexing Permutations
The Security Sleuth
Ilia Rogatchevski
Travelling Fairy

Blog Activity

Blog Activity