For some time now I was not entirely happy with how I am cooling my PC, my NAS and my server. It’s not that anything is terribly wrong, it’s just that I am aware that things can be better… So I said I have to fix this.
The easiest solution would be to find a decent fan controller, add it to each setup and I am good to go. But that’s easier said than done. For a while I couldn’t find a solution that has all the features that I need and that isn’t overpriced. So as you can guess, I decide to build my own.
And the best part is that the entire project is documented and released as open-source open-hardware project. So hopefully others that have same “problem” can use it or at least use it as starting point.
I have also added some cool features like expansion headers for attaching I2C and 1-Wire sensors. And the software provides a really nice GUI to control the fans, program custom profiles. Maybe the coolest part (if you are nerd like me) is that you can access it remotely and the software also has a built-in API that you can use to remotely and/or programmatically control all of your fans!
The video above walks you through the entire project so I suggest you watch it first to get the better understanding how things work.
As with all of my previous project, everything is open-source open-hardware so you can find the firmware, hardware, manufacturing files, software and documentation in the project repository which is hosted on GitHub.
I have spent a lot of time working on this project so I hope you find it useful and enjoy using it as much as I did making it!
Available for purchase
Fully assembled OpenFAN PCB (with USB cable) is available for purchase from the web shop.
Can I buy 2x of these fully assembled?
Hi Matej. Right now I don’t have these up for sale and I already gave away the extra ones I had from the build.
If there is enough interest I can maybe make a shop for buying PCBs/PCBAs for my projects.
Count me in if you do decide to move forward with selling the product either assembled or parts.
Might want to get started on that….. I’d bet you’ll move a lot of these
Thanks! I am working on it. Stay tuned!
Any chance of something like this that could be done as a RPi5 hat? (Thinking with an aux power connector.)
I think it’d be awesome for a system I’m building it’d be able to do out of band fan and pump control with connection via ethernet for managing it.
Your project is wonderful and is something I’ve been wanting for a long time.
Thank you!
I was actually thinking about this the other day and yes absolutely it’s possible. π
Feel free to send me an email with the idea or specific use-case you might have.
Sign me up for 10 of these when you start selling them.
I have already received a small production batch of boards that are good to go.
I still have to setup an online store. π
Great project.
I’ll be interested to purchase a couple as well if available.
I would like to attach/ mix with the Bambulab AMS system and found your video on YouTube. π
Thank you!
The boards are already good to go and the web shop should be up and running in (early) January.
I would love to see how you plan to use it with the Bambu AMS system. π
There’s no way that I can get into making pcbs…. BUT I could absolutely do this if you used ESP32 boards, which I use a ton for LEDs and Home assistant. Even if you could only do 3or 4 fans per board, that would still be worth it. Just a thought.
Hi, Is there any possibility to have a TCP/IP version of this? In an ideal world using POE for power? I’d love this to be fully stand alone and accessed via web gui or API.
Thanks
Mark.
Thanks Mark!
I actually have OpenFAN WiFi version that works over WiFi and is completely stand-alone. I am working on getting it on the webshop but can’t really promise an exact date when it will be available.
The PoE version is also a very interesting idea, I initially discarded it because not everyone has PoE switches or/and don’t want to waste the PoE budget on fan control. But maybe I should make a POE version as well. Please feel free to let me know if you have a particular use-case or board features/requirements that you would like to see. π
Hi Sasha,
I bought 2 of them. Before I instal into my UNraid Server, do I need to do anything? Is the boot loader pre-installed?
Also, any suggestions about how to keep it from shorting, the pins at the bottom of the board could hit the metal case, I just used some of the nice packing foam you used temporarily, but have ordered some of that capstan tape from Amazon.
Will you be making a case for this at some stage?
Thanks.
Hey CasaP!
Thank you for supporting OpenFAN!
You are correct, everything is already pre-installed on the factory shipped units. So you don’t have to do anything, just plug&play.
There is an enclosure design in the repository that you can 3D print.
Hello!
I came across this by chance, but I find the project very interesting.
I see that you have realized the power supply via a SATA power connector and there are ten 4-pin PWM connectors.
However, as far as I know, the SATA power connector can only deliver up to 54 watts. That could be a bit tight with some fan configurations under load. I have fans here that can draw more than 6.6 watts.
Or am I making a mistake in my logic?
Hey Sebastian.
The maximum number of fans you can connect will depend on your power supply and the type of fans you are connecting.
Most “regular” PC fans draw 0.15A under load, in which case you should easily connect 10 of them.
But there are also high-power fans that easily draw amps of current under load, in which case you would be limited by your power supply.
Same goes for power supplies, not all of them can deliver same amount of power on the SATA connector.
So the long answer is; that maximum amount of fans you can connect would depend on multiple factors like what type of fans and what power supply you have… π
Hello,
What’s the power usage of this device with nothing connected?
Once the settings have been set (RPM or PWM) does the software always need to be running? Or is the software only required for the setup of RPM or PWM and once this is set the hardware will take over.
Hey BobbyT,
The board alone should draw around 0.02A, so at 12V that should be around 0.25W of power.
I’m not sure what is your use-case but ideally you would want to have the software running all the time, and adjust the fan speed as necessary over time. Ie. if things are getting hot, run the fans at a higher RPM and then as the heat/load goes down spin the fans down.
You could just set the fan speed once and then close the software, but you will need to re-run the software and re-set the fan speed if you power-cycle the fan controller.
If your use-case requires you to set the fan speed only once and then “never” change it again, you could use this solution but at the same time it would probably be an overkill…
Can you run 2 instances of the Unraid docker container and just change the port? Really would like to have 2 of these in my system because of that many fans.
Thanks for making this I am very excited to incorporate it in to my system.
Hey Jason,
Honestly, I have not tried this but by design you should be able to do this pretty easily.
Like you said, just specify which instance should control which COM port and map each instance to a different web port.
If you get stuck or need help, please feel free to email me! π