Designing the Raspberry Pi Case Fan
When I first investigated inserting a fan into the standard Raspberry Pi case there were two main requirements. The first was to keep the CPU cool in all usage scenarios. The second was to reduce or eliminate any changes to the current case and therefore avoid costly tool changes.
As I had no experience developing a fan, I did what all good engineers do and had a go anyway. We had already considered opening the space above the Ethernet connector to create a flow of air into the case. So, I developed my first prototype from a used Indian takeaway container (I cleaned it first), but the below card version was easier to recreate
The first prototype
The above duct is what remains from my first effort, the concept is relatively simple, draw air in over the Ethernet port, and then drive the air down onto the CPU. But it wasn’t good enough, running CPU-burn on all four cores required a fan which sounded like it was about to take off. So I spoke to a professional who did some computational fluid dynamics (CFD) analysis for us.
It’s a kind of magic
CFD analysis takes a 3D description of the volume and calculates a simulation of fluid flow (the air) through the volume. The result shows where the air moves fastest (the green and red areas)
What this showed us is the position of the fan is important since the fastest moving bit of air is actually quite far from the centre of the processor, also:
The picture above shows how most of the moving air (green and red) is mainly spinning around inside the fan. This happens because there is a pressure difference between the input and output sides of the fan (the sucky end and the blowy end). Fans just don’t work well that way, they are most efficient when unrestricted. I needed to go back to the drawing board. My next experiment was to add holes into the case to understand how much the airflow could be changed.
After running the tests with additional holes in both the lid and the base I concluded the issue wasn’t really getting air unrestricted in and out of the case (although the holes did make a small difference) but the effect the air duct was having on restricting the flow into the fan itself. Back to the drawing board…
During a long run in the fens, I thought about the airflow over the Ethernet connector and through the narrow duct, wondering how we can open this up to reduce the constriction. I realised it might be possible to use the whole ‘connector end’ of the case as the inlet port.
Suddenly, I had made a big difference… By drawing air from around the USB and Ethernet connectors the lid has been left un-modified but still achieves the cooling effect I was looking for. Next was to reduce the direction changes in the air flow and try to make the duct simpler.
The cardboard bulkhead does exactly what you need to do and nothing more. It separates the two halves of the case, and directs the air down directly at the processor. Using this design and the heatsink, I was able to achieve a cooling capable of easily running the cpuburn application but with an even smaller (quieter) fan.
The next job is to develop a plastic clip to attach the fan into the lid. That’s where our friends at Kinneir Dufort came in. They designed the injection moulded polycarbonate that makes an accurate interface with the Raspberry Pi’s PCB. The ‘bulkhead’ clips neatly into the slots in the lid, almost like it was planned!
The Raspberry Pi Case Fan has been developed with an advanced user in mind. It allows them to use the Raspberry Pi at its limits whilst retaining the unique finished exterior of the Raspberry Pi Case.
For those who love a good graph, here are the temperature results during a quad-core compile of the Linux kernel, as demonstrated in Eben’s launch post on Monday.
Buy your Raspberry Pi 4 Case Fan today
Raspberry Pi Case Fan is available from our Raspberry Pi Approved Resellers. Simply head over to the Case Fan page and select your country from the drop-down menu.
Love the details, thanks Gordon!
Great work! and I did holes.. ;(
I am in Cambridge later. Is the Grand Arcade shop open today? I can call in and buy some.
Can confirm it’s open. Closes at 5.
Thanks. The combined diagramm shows the difference much better.
For me it is interesting, that with the fan the temperature under load is much lower than without a case, but the cool down phase is longer. Is this caused by a different Pi or some non well ventilated areas?
Great work! Love the detail of this post and it’s awesome to see an official solution.
I do have one question though:
How noisy is the fan? I have tried cases with small fans before and the high pitched whine was a big problem for me.
Carl, the fan isn’t massively noisy (it was the lowest powered fan from a set of three options). But as far as I’m concerned, any noise is annoying so the default settings in the software are only to come on if the temperature hits 80 degrees… This doesn’t happen very often and gives you a good idea that your Pi is doing hard work!
Carl, you say the fan is not massively noisy but have you measured it ?, compared it with other designs already on the market and I was wondering if the noise is vibration of the all plastic construction ?
Will this official fan and the official poe hat fit in the official case together with the rpi4?
Nice . . . :)
Next Gordon Design Challenge:
An adapter to use the raspberry pi keyboard wireless. I used to keep my RPi on the desk, and have the keyboard and mouse corded through the back of the desk into a drawer I open. But with the official keyboard, the cord is too short.
Have you tried a USB extender cable? 1m, 2m should be ok for those low speed USB peripherals. Something like this:
Thank you for this. I was asking because I have the desktop kit, and that has EVERYTHING official. Even raspberry pi logo hdmi cables. I like that aesthetic and wanted to keep it. Plus I know some would rather have a wireless keyboard, so an adapter for the current one would be perfect. Thanks again though, I really do appreciate this.
Great solution in the great RPi tradition. Very interesting to see how it’s developed.
Yet another case that doesn’t accommodate a fan with a camera
Nor access to gpio. Would slots and holes in cover foul up air flow? Would gpio users care about a case?
Is there a Gordon Hollingworth fan club?
I’m pretty sure you’re the first person (ever) to suggest that so no… Even my kids wouldn’t join
I’ll stick with Elvis, then.
Oh gosh, please don’t give him ideas.
You shouldn´t worry – we all know Gordon doesn´t like fans. He finds them noisy! ;)
This is pretty cool. (pun intended)
I’m surprised you didn’t just put your RPi in the fridge. They all have WiFi now (except the Pi Zero and it’s not really a computer). You could have added a Pi Cam to check whether the light really goes out when the door closes. It would have been cheaper in the long run, surely!
I never understand why 3pin fans or PWM is used. If you get a 12v 2pin and put on 5v its silent and practically perfect on even limited heatsinks.
Because with PWM you don’t have to put any circuitry – i.e. a voltage changer onto a board. The fan can use PWM information to proportionally turn on/off motor driver – and its not dependent on fan size and its motor strength. Generating PWM i s easy compared to regulating voltage. And different motors start at different voltages, have different non-linear torque/voltage characteristics. With PWM, the motor manages it itself – it knows the best how to keep itself the closest to the required speed as possible.
Love it. Great job
Just a little off topic maybe but i bought my first pi only a couple of months ago. Being concerned about temp i bought two types of heat sink and two cases. The outcome is a small heat-sink on the soc with fan as in the website link. The fan came with the case and is very quiet. Max temp i have is 38C . What test do you do to up the processor? :)
I see no link in the ‘waiting moderation’ so here is the link.
A. Peter Allan
I have implemented hardware PWM control of the fan, and it works well. It’s quieter, gentler, and familiar to anyone with a modern laptop. Feel free to put it in the official firmware. See https://gist.github.com/alwynallan/1c13096c4cd675f38405702e89e0c536 .
It’s always interesting when Raspberry Pi Engineers share how they come up with the finished products :-) Loved the “and had a go anyway” line
Just got my first RPI today. Connected the power, cables and fan. BUT: It’s constantly running. That’s f****** irritating. I’ve tried able/disable in in settings, with NO change. Anyone who can help me?
FYI: Several reboots and connect/disconnect of the fan suddently worked!
Is there any way to control the fan (as in Raspbian) from Ubuntu?
Are there plans to make it compatible with older pis like the pi 3? It’s already got settings you can enable in raspi-config but nothing actually spins up. Also can you consider including screws and washers for those who want to drill into a case the old fashioned way rather than mounting it with the little plastic bit?