Igor's Blog

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.


About — I'm an enthusiastic software engineer and consultant interested in many fields including J2EE, programming, electronics, 3D printing, video games, wood working and gardening.
See my Resume for more information.
The views expressed in this blog are my own and not those of my employer.
comments powered by Disqus
My other posts you may like...
Programming, DIY, Games, Hacks, Tech and more.
Follow me on...
Current and Past Projects
See my Resume


RSS Feed

My Other Web Sites

Igor and Elise's Travels
Riverside Expressway Cam
300 George St Blogumentary

My Online Tools

UUID to OID Converter
Guru JSON-RPC Tester
Extrudifier Object Designer

Recent Blog Posts

Handling visibility of mobile only pop-over DIVs on a responsive web site

WebLogic package-name element classpath generator script

Using Jersey 2.x as a shared library on WebLogic 12.1.2

Google DFP with AdSense fallback is causing infinite scroll pages to go haywire

Workaround for Mobile Safari scrollTop() not updating during scroll

Skipping execution of Maven plugins that do not have a native skip option

Unmarshalling an XML fragment representing a JAXB object without XmlRootElement

Injecting a ContainerRequestContext into a Jersey entity provider class

Obfuscating PHP source code with Maven and YAK Pro PO

Making use of corner shelves with easy to make slide out draws

Recent Galleries

Space Food - Chocolate Ice Cream with Chocolate Chips

Legeod Star Wars AT-DP kit

DIY spare parts computer build with a RAIDMAX Anura case

Fake 'Lepin' brand Lego packaging

Hardwood garden bench with clear resin void filler

Fixing a 3D printer extruder that stopped heating up

Easily increase disk space in a Lenovo Ideapad 100S 14" laptop with an M.2 SSD

Making a multi-piece 3D printed solder spool holder stand

DIY indoor apartment grow light wiring

Good Friday Electronics fun Easter Bunny LED PCB Kit IBEABU-01.0

Top Categories

Blogs I follow

Matt Moores Blog
Georgi's FlatPress Guide
Perplexing Permutations
The Security Sleuth


RAWS Parts Online
Alpha Dimensions Hosting
Kristensen Photography
Ilia Rogatchevski
Travelling Fairy

Blog Activity

Blog Activity
Follow me on... 
...or subscribe for updates!

Don't show this again