First, Forgive me if this is not the right place or just a stupid question. I've done many DIY projects over the years which includes programming and some electronics, but now I am entering new ground with arduino/Pi type projects.
I thought it would be relatively simple to find a means of controlling multiple PWM PC fans, but after A LOT of googling I have yet to find what I'm looking for. It does not mean that it does not exists, just that I can't find it or I don't know what components I can use to make this happen :)
Yes, there are commercial fan controllers like the ASUS Fan Extension Card, but that can only handle 3 fans and seems to only work with a ASUS system. Link: https://www.asus.com/Motherboard-Accessories/FAN-EXTENSION-CARD/
One other controller I found requires me to register a online account before I can use the software. No. I want total control.
I want to use this in my server and gamin rig. For the most part, the server hosts files and rarely does any real work. As such I want to be able to have most of the fans in it stop when it's just sitting there. I mean, the CPU does not need to idle at under 20°C. Same goes for my gaming rig and if I can reduce of amount of fans running when these systems are just idling I will also reduce the amount of dust that gets pulled in. I live in Africa and dust is a pain.
Requirements: 1. Does not have to be arduino based. 2. I'm looking for something that can handle about 6-12 fans. 3. It should take power from the Computer's PSU since it can supply 5v and 12v. That would be 12v for the fans and if needed, 5v for the controller board. 4. Want to plug it into a USB header on the motherboard so I can send it instructions and monitor fan speeds. 5. Would be nice if I can turn fans completely off when a temp value goes below a threshold. I know PWM fans will run at a default minimum when the PWM signal is zero. So a switch of some kind would be needed to kill power to a particular fan. 6. The smaller the enter setup, the better ;)
The idea here is total control. I want to be able to program it in such a way that I can, for example, say that Fan #3 only turns on if the GPU temp goes above 50°C and then have the fan speed increase as the GPU temp increases.
Or be able to set a condition where if the GPU is at 45°C, but the cpu is passing 55°C then Fan #3 will again turn on and will increase in speed as the CPU temp rises. If the GPU temp over takes the CPU temp, the fan's speed would be managed based on GPU temp instead.
These 2 example would just be programming which I should be able to handle myself. It's the hardware side I need advise with. I've watched a lot of DIY vids over the years and the programming with something like Arduino seems simple enough and with my programming background should not be a issue.
When it comes to the amount of fans, something modular could also work. For example, maybe get a module that can run 4 fans, but then be able to attach 2 or more modules together and so end up with the option of controlling 8 or more fans.
I did find the PCA9685 which is a 16 channel servo PWM controller: https://www.adafruit.com/product/815
It says in the description that it can go up to 12v and you can link multiple of these together to add many more channels, but this does not monitor fan speed. If a fan should be running, but it's not, I want to know about it.
I know I'm very ambitious here. I honestly thought something like this would already exists and I can program it how I want and put it together without needing to make any of my own complex circuits or even my own controller board. I don't want to reinvent the wheel if I don't need to :)
So does something like this already exists and my google-fu is just terrible? Do I need to combine multiple components to make this happen? Or do I need to go back to the drawing board and start to learn on how to make my own controller board for this?
Again, sorry if this is not the right place to ask. I'm hoping that someone here can give some info/advise that can help me find direction and a place to start.