Why can't I control the speed of my CPU fan?

A three-pin fan connector does not include the ability to control speed dynamically, since it lacks the appropriate PWM control logic in the fan itself. PWM fans require explicit support from both the motherboard and fan itself.

If you wish to slow your CPU fan down, you can install a resistor along the the power wire (+12V) in the fan. Alternatively, you can purchase a LNA (low-noise adapter), which is essentially the same thing (although it saves you soldering in a resistor yourself). Due to the tachometer sensor discussed in the next section, you cannot put the resistor on the ground wire. You could also install a hardware fan controller (which is also essentially a resistor, albeit a variable one called a potentiometer).

If you're interested in determining how to slow your fan down with a resistor (it's honestly pretty easy), I have provided calculations at the bottom of this answer. Alternatively, you could use a potentiometer (and use these calculations to provide a rough estimate of the range of resistance needed).

If you do choose to slow your fan down (usually for noise purposes), do ensure that your load temperatures do not get too hot. Slowing down your fan will lower the efficiency of your heatsink's ability to dissipate heat... This is the classical noise versus heat debate all over.


For those wondering why a fan with no speed control even has three wires, the third wire is used as a tachometer output signal. Since it is tied to the same power rail as the motherboard, there is no need for an additional ground wire. According to the fan specifications I linked to above, the standard is to provide two "pulses" per revolution. The motherboard (and your hardware monitoring software) can then infer the speed of the fan from the rate of these voltage "pulses".

(I say "pulses" because the tachometer pin is pulled high by the motherboard, and every time it is "pulsed", the fan pulls the pin to ground, or 0V - and this is why you can't put a resistor on the ground wire if you want to slow the fan down).


To calculate the resistor you need (to put in series with the +12V wire), first determine the fan's voltage and power draw (usually listed on the fan itself). Let's assume the the fan runs on +12V, and draws 1W, and we want to slow it down to 75% of the original speed (or, drop the power down to 0.75W).

The original internal resistance of the fan is given by R = V2/P (a variation of Ohm's law and Joule's laws), and the new resistance we need will be R = V2/(0.75P). Thus, we need a resistor of size:

Rnew = V2/(0.75P) - V2/P = V2[(1/0.75P) - (1/P)].

Plugging in our numbers, we get Rnew = 12V2[(1/0.75W) - (1/1W)] = 48 Ohms. Thus, you would need to put a 48 Ohm resistor in series with the +12V fan supply to slow it down by 75% (assuming it originally draws 1W). If you have a soldering iron and some heatshrink/electrical tape handy, the resistor should cost you no more then $0.15 - just make sure the resistor is rated to at least 0.75W (preferably 1W).


"Note: when using a 3-pin power connector with a 4-pin fan header, the fan will always be on; there is no fan control."

http://www.allpinouts.org/index.php/Motherboard_%28CPU%29_4_Pin_Fan