DIY Arduino Fan Controller

Howgh. //Talk-to-hand alike greeting


//Backstory

Recently i've put my oven on the shelf next to my monitor (17" 75Hz 1152x864 CRT //insert dramatic closeup).
I had CM Gladiator 600 case, but the noise of Dual-X 7950 was kind of disturbing, so I bought used Define Mini for dirt cheap (~35 bucks)
(with slightly damaged front panel and fan cover doors missing the locking mechanism).
Fixed it right away (with magnets on the fan doors and some hot snort). //2nd hand parts FTW BTW (got almost my whole PC like this)

The GPU is quite loud at 48%, but when gaming I don't really notice it that much.
In fact it is the loudest thing in my system. The D14 is kinda silent with fans turned down but guess what.
I can still hear it inside noise isolated case. This may give you some insight into what kind of silence i'm seeking.
Just want to minimize the noise footprint of my PC when I'm not gaming.
Currently my fans are turned down to something between silent and acceptable airflow (low-mid speed).
With that configuration the noise they generate isn't especially disturbing,
but it slightly changes pitch through open headphones' mesh (Yo Logan, luv the 880's, thanks bru).


//To the point

Since my mobo (H77) doesn't have nifty fan control stuff like the newest ones do, I wanted to get Corsair Commander Mini, but it's impossible to find one.
This is why I have decided I'm gonna make my own software managed fan controller. //yaay

The plan is to take step down voltage regulator (something like this) and control it's variable voltage output with an Arduino. // like that
Since Arduino can't mimic a potentiometer, I will need a digital potentiometer chip driven by I2S, which Arduino does have.
The trick is to desolder the built in little pot from the VRM board and replace it with digital pot's output.

It'll be single channel controller but that will do.
From the software side it'll have like a slider, and a few profiles that's all i need.
Wanna game? Click, voltage goes up, airflow rises. Done gaming, click, silent.
Or i could just use a physical switch with 2 pots connected to the VRM, and change between them.
//I'm worried what would happen, if the VRM wouldn't receive resistance of it's regulating pot, when the switch is not engaged for a split second during the transition, or it is with both of them.

There could also be 2 VRMs with set VOUT and just switch between them. //Hmm, many options.

VRM powered from 12V, digital potentiometer from 5V and Arduino through USB.
Fuse on the feed molex. //Is it wise to put there diodes as well?

Should I be worried about something like backfeed voltage loop things from using the she same power source (molex) with it's different voltages across the contraption? There should be additional protection inside the whole circuit?

Programming the Arduino shouln't be a problem. //My first Arduino, yaaay.

I'd love to hear from you guys.
Do you have any corrections, suggestions before I buy the components?
Is my logic wrong? Is it too much hassle?

There's no need to bother with variable voltages. You can just use PWM instead. You can also add a temperature sensor to the thing and set duty cycle according to temperature. Regardless, you can simply use transistors (one + diode + resistor for each output) to control fan state with arduino.
Although the transistor part needs some calculations and tinkering, preferably in a lab environment. Unless you find someone's already tested solution.

I can explain it to you in more detail if you are interested.

If there is a way to do this in a simpler manner - i'm listening.
Temperature reading is irrelevant. I only require the ability to control voltage, maybe read rpm of the fans. I found some examples with simple transistor but there are so many options. If it's all ok to use just a simple transistor, which one is the best for 4-12V range and maintaining reasonable temperature (transistor's)? There has to be some resistors and caps on the way, calculated for that very goal I presume.

Using PWM and transistors is easier and cheaper, and allows you to do everything that a voltage regulator could do in this particular case.

For each fan connected to Arduino (you can have 6 at most in case of Uno) you will need one transistor, one resistor and one diode (to prevent flyback). Capacitors are unnecessary in this case because PC fans are brushless.

Transistors (like TIP120) and diodes (like 1N4004) will cost you something like $1-2 for 10 pieces, resistors cost almost nothing (any 1-2k will do).

The circuit looks like this:

You can buy components I named and it should work.

How are you going to control the thing though? You could use hardware buttons, but it will be hard to make them easily accessible and look good. You could use serial to communicate with PC, but that can be a bother from software side.

That's why I personally see a temperature sensor as an easier solution. No buttons, no software on PC, just plug everything in and it should do its thing.

Ah, I see. Pretty straight forward. It seemed pretty crude to just slam a lone transistor in.
Control will be done through Arduinno Nano's PWM with a simple windows app.
BTW Which one should i get - original or compatible?

Thank you for stopping me from unnecessarily complicating the whole thing.

They will be the same for all intents and purposes. I'd grab the cheapest one I could find.

As far as I understand, you will have to send commands to the arduino through USB UART. Kind of a bother, if you ask me.

Oh I meant Arduino Micro. Got confused with all the models. Sorry.
Micro has micro-USB port for programming as well as powering it.
As far as i know it's Leonardo's deriative in smaller form factor.
Hmm I might even pick up Leonardo for cheap.