Jump to content

Fan Controller - Need your feedback

For a very long time I was planning on designing my own fan controller, and I'm finally doing it. :)
I want to release the design as open-source/open-hardware so anyone could use it and benefit from it.

 

Now with that said, I want this project to be driven by the community. This means that my goal for this project is to design something will be:

  • Helpful / Useful - you can use it to solve a problem, or improve the quality / reliability
  • Open - Design must be fully transparent and well documented. This way new features and integrations can be easily implemented.
  • Accessible - Anyone should be able to order parts or kits and put them together without the need for special or expensive equipment.
  • Affordable - Components are relatively inexpensive and/or can be excluded if they are not necessary for the build (ie. Don't need buzzer, OLED, RGB controller etc)

 

Features that I have in mind for now are:

  • Programmable FAN profiles (i.e. when temperature reaches X, set fan 1/2/3/4/all  to Y%, when X app is running turn all fans to max or set fans to 20% during night time but only if temperature is below 40C and so on)
  • Individual FAN speed control
  • Support for 3-pin and 4-pin fans
  • Temperature sensors (you can place them anywhere and use them as triggers when programming)
  • Current sense (sens how much current each fan is drawing. Could be useful to detect fan stall, broken fan or even when over time there is a lot of dust on the blades)
  • RPM sense (additional data point that over-time, combined with other parameters, could give more information about fan health and efficiency)
  • Programmable and Open-Source (end user must be able to easily reprogram/update the device over USB)
  • Buzzer (audio feedback. Can be used if fan failure, stall, high temperature or other problem is detected. Also user must be able to turn this feature on/off)
  • Parts and components must be easily available and reasonable (end user should be able to order individual parts and assemble the thing as they see fit for their case/mod. No unicorn horns or pixie dust allowed. :))
  • OLED support (you can connect OLED to display any information on the screen)
  • RGB controller (you can connect RGB strip to control it)
  • WS2812B controller (you can connect WS2812b strip, which is basically RGB strip but individually addressable)
  • Robust and reliable (goes without saying but this has to be robust and reliable solution)

These are some of the basic features that I would like to develop.

 

This is just a draft from my head, but I think you get the idea of where I'm going, and I would really appreciate your input and feedback.

 

Also if this is something that you are passionate about too or want to contribute in any way shape or form,  let's collaborate. :)

 

And as a final note, a word about me; I'm an electronics engineer/consultant with years of experience. In my free time I love to work on fun and interesting projects and

share them with the community. I absolutely love sharing my projects (at the least ones that I'm allowed to) and find this to be very satisfying because I feel like I'm contributing back to the community.

And most importantly I'm someone who is really passionate about tech, computers, engineering and open-source / open-hardware community.

 

 

[Mods]

I hope this message is appropriate and not in conflict with any forum rules. If there is a better place for this post, please move it as you best see fit.

I would really like to get the LTT community involved in this project and guiding it with their feedback, suggestions and collaboration.

Link to comment
Share on other sites

Link to post
Share on other sites

[Reserving this for project/progress updates and useful links]

Link to comment
Share on other sites

Link to post
Share on other sites

I really like this idea, would love to support you but I got no spare cash because i'm saving for an actual PC. But i guess the most i can do is give my input and feedback to help you develop your idea. I would really like to see progress updates and prototypes (sorry if i'm asking for too much), I'm really passionate about tech and I love this kind of stuff. I will do my best to support you and your project

Link to comment
Share on other sites

Link to post
Share on other sites

22 minutes ago, Som3a said:

I really like this idea, would love to support you but I got no spare cash because i'm saving for an actual PC. But i guess the most i can do is give my input and feedback to help you develop your idea. I would really like to see progress updates and prototypes (sorry if i'm asking for too much), I'm really passionate about tech and I love this kind of stuff. I will do my best to support you and your project

Thank you for your feedback, I'll make sure to include progress pictures and updates.

 

And just to make sure we are all on the same page, when I say support, I don't mean / expect any money or any other compensation. I'm doing this because I'm and enthusiast and I love doing these projects and would do them anyway.

By support I mean suggestions, feedback, ideas or doing something for the project. :)

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, ColdKeyboard said:

Thank you for your feedback, I'll make sure to include progress pictures and updates.

 

And just to make sure we are all on the same page, when I say support, I don't mean / expect any money or any other compensation. I'm doing this because I'm and enthusiast and I love doing these projects and would do them anyway.

By support I mean suggestions, feedback, ideas or doing something for the project. :)

Oh okay, i assumed you had a crowd funding page. I will make sure to stay active on this thread to help you out as much as I can.

Link to comment
Share on other sites

Link to post
Share on other sites

10 hours ago, ColdKeyboard said:

- snip -

have you herd of aqua computer... basically dose what your asking...

 

argb/rgb/ temps profiles/pwm/voltage control/huge power output per header. also some other there stuff alos as oled in the pump/cpu/ gpu water blocks for w/e you need it for.

 

pump

pwm fan /argb

internal controller with rgb

5.25 led display with remote

desktop display

rgb with blue tooth

argb with 4 headers

cpu with oled

Edited by LogicalDrm

I have dyslexia plz be kind to me. dont like my post dont read it or respond thx

also i edit post alot because you no why...

Thrasher_565 hub links build logs

Corsair Lian Li Bykski Barrow thermaltake nzxt aquacomputer 5v argb pin out guide + argb info

5v device to 12v mb header

Odds and Sods Argb Rgb Links

 

Link to comment
Share on other sites

Link to post
Share on other sites

Thanks thrasher_565 for the feedback.

There are plenty of solutions out there, but most of them are closed source and in some cases price tag makes it hard to justify buying something that just turns the fans on/off.

 

With open-source, open-hardware solution, you would get something that you can build on your own, if you want and also customize any way you want. I don't expect everyone to do this, but it's enough that couple of people take the advantage of open project and modify it to fit their need and then share back to the community.

 

My impression is that a lot of people are not using fan controllers because they are expensive or because for the price of a controller you could buy more RAM, extra SSD or spend it somewhere where you will actually see performance boost instead of noise reduction.

 

Maybe you guys can start helping by writing how many FANs do you have in your case and are they 3-pin or 4-pin? What features would you find useful?

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, ColdKeyboard said:

Thanks thrasher_565 for the feedback.

There are plenty of solutions out there, but most of them are closed source and in some cases price tag makes it hard to justify buying something that just turns the fans on/off.

 

With open-source, open-hardware solution, you would get something that you can build on your own, if you want and also customize any way you want. I don't expect everyone to do this, but it's enough that couple of people take the advantage of open project and modify it to fit their need and then share back to the community.

 

My impression is that a lot of people are not using fan controllers because they are expensive or because for the price of a controller you could buy more RAM, extra SSD or spend it somewhere where you will actually see performance boost instead of noise reduction.

 

Maybe you guys can start helping by writing how many FANs do you have in your case and are they 3-pin or 4-pin? What features would you find useful?

ya i get it but an  arduino can program anything really but that just it you have to no how to program....an barer to entry.

 

ya aquacompyter not perfect and cost alot but there no compation so they can charge w/e they want.

 

most people just use the cpu header to controll there pwm fans and thats free.

 

any why i wish you luck.

 

well my pc will have 38 fans and it can have alot more then that... buy im an odd one...

 

kinda like how i buy rgb controllers to find the pin out and post it to help others with there rgb needs. i too like to help when i can but i also have troubles doing it.

 

adjustable pwm duty cycle so other rgb stuff an sink up. or the ability to have rgb and argb to sink up.

Edited by LogicalDrm
Triple posting merged

I have dyslexia plz be kind to me. dont like my post dont read it or respond thx

also i edit post alot because you no why...

Thrasher_565 hub links build logs

Corsair Lian Li Bykski Barrow thermaltake nzxt aquacomputer 5v argb pin out guide + argb info

5v device to 12v mb header

Odds and Sods Argb Rgb Links

 

Link to comment
Share on other sites

Link to post
Share on other sites

I'd really like, if you put some effort in the interface. Most tools are either ugly af (gamer look etc.) or too complicated to use because of their cluttered interface. Good UI design can help a lot with these issues.

Link to comment
Share on other sites

Link to post
Share on other sites

7 minutes ago, startrek03 said:

I'd really like, if you put some effort in the interface. Most tools are either ugly af (gamer look etc.) or too complicated to use because of their cluttered interface. Good UI design can help a lot with these issues.

Great point! I'm not an expert when it comes to UI/UX but maybe someone would contribute with some mockups, ideas or constructive criticism once software part is up and running.

 

Do you have an example of an app that has great UI that you like or think it would be suitable for this type of project?

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, ColdKeyboard said:

Great point! I'm not an expert when it comes to UI/UX but maybe someone would contribute with some mockups, ideas or constructive criticism once software part is up and running.

 

Do you have an example of an app that has great UI that you like or think it would be suitable for this type of project?

I quite like the design of Autodesk Fusion 360. However, it's a completely different type of programm. MS Office is also ok in my opinion.

For such a simple tool you should definitely try to keep everything as simple and clear as possible. You mentioned different feature sets. In my opinion every category (like Fans, RGB etc.) should get it's own tab.

Link to comment
Share on other sites

Link to post
Share on other sites

40 minutes ago, ColdKeyboard said:

but maybe someone would contribute with some mockups

I've just sketched some stuff. Hopefully you can read my handwriting xD.

20200803_011713.thumb.jpg.974e7e49e20d585a1e7971c97fcaee6c.jpg20200803_011743.thumb.jpg.dba5b92d87241c4320b09af922fdc5ac.jpg

Link to comment
Share on other sites

Link to post
Share on other sites

Awesome, thanks @startrek03! I like the mockup on the right with "split window" design. I believe something like that should be fairly easy to implement. I like the idea of having information grouped in their own tabs and then showing only relative information instead of spamming the entire screen with all the information and all the settings.

 

I'm still long way from the SW component but I'll put this in my notes so I don't miss it later on.

 

Currently I'm in the phase of selecting components for driving the FANs, making sure they are available, affordable and easy to use. My goal would be if you

could buy all of these components, off-the-shelf (meaning *not* buying it from me but instead going to your favourite online store and ordering few components/modules) and assemble the whole thing yourself, just the way you want.

 

Decent fan controllers seem to go easily for $100 or even (waaaay) more, and I understand why.

But I think this open-source open-hardware project could lover that price significantly and give you a decent fan controller for a price of buying another case fan. :)

Link to comment
Share on other sites

Link to post
Share on other sites

@ColdKeyboard The second image shows the menu that would appear when you press the 3 bars in the top left of the first image. That's how I intended it at least. You can whatever you want with it though. If you want me to explain the stuff in my drawings just PM me.

Your concept is definitely something to keep an eye on imo.

Link to comment
Share on other sites

Link to post
Share on other sites

@ColdKeyboard Sometimes when using apps such as GPU control panels I have a hard time understanding what everything is and what everything does. Having simple naming for settings would be great or if there aren't any "simple" ways to put it a little explanation popup when you hover over it would be also amazing, but I understand if the latter could be a little tricky or time consuming to implement and not really worth the effort so the explanation could be at the top of the "section" or "tab" albeit at the expense of the cleanliness of the UI.

 

EDIT: by "section" and "tab" I mean the menu you get once you click on the tab for a certain type of settings and controls

EDIT 2: I also have some experience with Adobe Photoshop and if needed I could do my best at designing the look of the app (I'm not that great but nothing a few YouTube tutorials can't fix)

Link to comment
Share on other sites

Link to post
Share on other sites

@Som3a that's a very good point. I'm thinking of having something like: simple and advanced display. Ie if you just want to set the fans to certain speed or configure them when to turn on/off, it's two clicks. But there should be an advanced view that you can choose to turn on, and it should give you ability to tune and change every feature/option.

 

Also, I'm hoping that since this is going to be open-source open/hardware project, people can contribute by writing their own guide, video or a tutorial how to do certain things.

In my mind beauty of open-source and open-hardware is that anyone can use it, have full transparency and everyone can contribute by filling in any gaps or adding new features.

Link to comment
Share on other sites

Link to post
Share on other sites

On 8/3/2020 at 10:11 PM, Som3a said:

@ColdKeyboard Sometimes when using apps such as GPU control panels I have a hard time understanding what everything is and what everything does. Having simple naming for settings would be great or if there aren't any "simple" ways to put it a little explanation popup when you hover over it would be also amazing, but I understand if the latter could be a little tricky or time consuming to implement and not really worth the effort so the explanation could be at the top of the "section" or "tab" albeit at the expense of the cleanliness of the UI.

 

EDIT: by "section" and "tab" I mean the menu you get once you click on the tab for a certain type of settings and controls

EDIT 2: I also have some experience with Adobe Photoshop and if needed I could do my best at designing the look of the app (I'm not that great but nothing a few YouTube tutorials can't fix)

If you want to develop for Windows WPF is actually quite powerful and you don't really need to be able to draw buttons or so. Similar stuff probably exists for other platforms as well, but I don't know about these. @ColdKeyboardMaybe I could write some XAML files at some point, if you work with .Net.

Link to comment
Share on other sites

Link to post
Share on other sites

I've ordered some components from DigiKey. Unfortunately there is no eval board available for the ICs I want to try, so I'll have to build my own, which will take some time (release design, wait for PCBs to come back...) but at least we are moving! :)

 

@startrek03 I was thinking of maybe using Python and Qt, but if majority of people use Windows, it might be easier to use C# or VB.Net to make something.
I will create an API document to show how you can communicate with the hardware, then there will be one or two apps (Python and .Net app that I/we create) and then
anyone in the community can create a better version or even integrate it easily with other Hardware monitors or make plugins (ie. for UnRaid, Freenas etc).

Link to comment
Share on other sites

Link to post
Share on other sites

  • 4 months later...
On 12/20/2020 at 7:59 PM, ColdKeyboard said:

It's been a while... to say the least. But the boards are finally here and I'm going to start working on them soon! :D 

The pcbs look good so far.

One idea I just had is daisy chaining, so you'd only have one usb connection to the pc when using multiple fan controllers. I know, that would require pcb changes, but whatever, just an idea.,

 

Edit:

I have thought a bit about that whole ui thing again right now and while I think, that WPF is quite good, it is only for windows. However, this project is open source and therefore probably sort of meant to be used on any platform. Java would probably be somthing to think about at that point, or python but I don't really like python. That said, it's not my project.

 

Edit:

A possibility for angled fan connectors would be neat. Right now only half of the connectors could be accessed that way.

Link to comment
Share on other sites

Link to post
Share on other sites

  • 2 years later...

It's been a while... but I think there finally is something worth sharing with the community.

 

After couple of revisions, the OpenFAN controller is finally available. 🙂

As promised, the project is open-source and open-hardware, so anyone can copy or modify it as they please.

I have been using it in my desktop PC and my home lab server for some time now and it works exactly as I wanted it. But... I was also the one who designed it... so your mileage might vary but I hope it's still good enough. 🙂 

 

Some of the features are:

  • Individually control up to 10 fans
  • USB communication with the host PC
  • Has a built-in USB bootloader for smooth firmware upgrade experience
  • GUI to control and monitor fans. Accessible locally/remotely through web browser
  • Control fans by setting PWM percentage or target RPM
  • Supports virtually unlimited number of custom fan profiles that you can create and apply through GUI/API
  • Built in API interface for integration, (remote) monitoring or (remote) control.
  • Built using simple off-the-shelf components to make it hacker/diy friendly
  • Designed to be platform/OS agnostic and should work on all major OS
  • GUI/API can be deployed as Docker application

 

You can watch the project video at 

 

 

All the source files are available in the GitHub repository and project home page.

 

Link to comment
Share on other sites

Link to post
Share on other sites

I'm really excited about this and I'm hoping it'll be useful for me as I'm a fan tester. I am wondering, though,  if it can be powered from a wall socket instead of a PC since some of my tests are not conducted in a PC...?

 

Also, i would need display. I think your video said something about an alt design for different voltage fans...?

Edited by RevGAM

I've been using computers since around 1978, started learning programming in 1980 on Apple IIs, started learning about hardware in 1990, ran a BBS from 1990-95, built my first Windows PC around 2000, taught myself malware removal starting in 2005 (also learned on Bleeping Computer), learned web dev starting in 2017, and I think I can fill a thimble with all that knowledge. 😉 I'm not an expert, which is why I keep investigating the answers that others give to try and improve my knowledge, so feel free to double-check the advice I give.

My phone's auto-correct is named Otto Rong.🤪😂

Link to comment
Share on other sites

Link to post
Share on other sites

13 hours ago, RevGAM said:

I'm really excited about this and I'm hoping it'll be useful for me as I'm a fan tester. I am wondering, though,  if it can be powered from a wall socket instead of a PC since some of my tests are not conducted in a PC...?

 

Also, i would need display. I think your video said something about an alt design for different voltage fans...?

It only requires 12V so you can use a 12V adapter and power it. You would need to make a 12V DC to SATA power connector which is just splicing two pair of wires together.

 

But honestly, you may want to have it plugged into a PC because then you can run scripts to control the fans, set/log RPM and so on.

Link to comment
Share on other sites

Link to post
Share on other sites

  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×