Fan Control Theory

dc42:
That should be fine, I've controlled a PWM fan like that, I think it was an Arctic F12 pwm too. Bear in mind that the Intel PWM spec only guarantees that fans will run from 30% pwm to maximum. Also, if you drive the fan PWM input from an NPN transistor or N-channel mosfet (the easiest way), then the PWM works in inverse mode, i.e. the more the Arduino output pin is high, the slower the fan speed.

I've done that (PWM control a PC muffin fan). You need to be sure that the PWM frequency is high enough not to alias with the switching speed of the fan at any RPM, otherwise the fan will tend to "jump" in speed at the alias point, then the loop will try to correct it and the fan will hunt "zoom..... slow....zoom...slow....".

Or, use a parallel capacitor to smooth out the PWM into a reasonably clean DC level so that the fan can't alias with the PWM frequency.