I know there are fans out there that have a dedicated PWM input, but I like to know if I can PWM control a fan that does not have such a dedicated PWM input. So...

If I have a 3 pin 12v fan like the Noctua NF-A20 with connections:

  • GND
  • 12 V
  • tach out (RPM measurement)

Can I control its speed by PWM on the 12V supply voltage (using a MOSFET most probably)? Would the tach out still work?

  • I think that is OK AFAIK, I remember controlling my car's robot normal DC motor with PWM very well, yet the only thing I hate about it is it did make a lot of noise, yet I used this noise to generate a small tone when I turn on the robot :) Commented Jun 23, 2020 at 15:53
  • you can run such fans at 5v too, many do to keep them silent...
    – dandavis
    Commented Jun 23, 2020 at 17:15
  • I am powering from usb 5v. I could implement a arduino controlled step up boost 5v-12v’(eg based on mt3608) instead of pwm. Wondering what what be best pure voltage controlled or pwm....
    – HixField
    Commented Jun 23, 2020 at 17:18
  • Or straight from i2c like here monolithicpower.com/en/…
    – HixField
    Commented Jun 23, 2020 at 17:23

1 Answer 1


Yes, and yes.

You have to modulate the +12V rather than GND because the output is referenced to ground. That means you need to use the classic N+P channel FET arrangement:


simulate this circuit – Schematic created using CircuitLab

  • Why 2 mosfets? One fet berween 12 and fan 12v controlled directly from the arduino should work no? (With pull down on gate of course)
    – HixField
    Commented Jun 23, 2020 at 16:17
  • @HixField The Arduino's 5V logic level is too low to switch off the P fet. It is possible to emulate M2 with the GPIO by using LOW for on and INPUT for off, but you can't do that with PWM. M2 turns the Arduino's GPIO into "open drain" and is used to turn M1 on and off.
    – Majenko
    Commented Jun 23, 2020 at 16:19
  • I would use a logic level fet such as the aosmd.com/pdfs/datasheet/AO3400A.pdf that works straight from 5v logic
    – HixField
    Commented Jun 23, 2020 at 16:21
  • What I dont understand is how the tach output can still work if the fan is not powered (briefly by pwm)? Is it using a mechanical contact?
    – HixField
    Commented Jun 23, 2020 at 16:24
  • @HixField logic level has nothing to do with it; 5v and 0v are both "on" states given a ~12v source on a p-chan fet.
    – dandavis
    Commented Jun 23, 2020 at 16:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.