So heres my problem: I have lots of fans but most of them have no PWM input. I want to drive clusters of 12v fans by PWM using only one signal.

In my spares i found a Fuji Electrics K2647 MOSFET.

I had some failed attempts trying to use it, but according to the internet it should work somehow. The PWM signal is coming from an Asus P8P67 motherboard (CPU fan channel). Its 18.75kHz (Measured in AC mode by a Fluke175) and ranges from 20% (1.074V avg) to 100% (5.056V avg) duty cycle. This whole circuit is placed inside a computer, so there are 12V, 5V and 3.3V rails available. Efficiency doesnt matter. There is also plenty of airflow. One fan pulls 400mA when blocked, but there will be 4 identical fans.

I need a circuit that can PWM control a 12V 1.6A load, can anyone design one?

EDIT: The motherboard hardware makes a duty cycle under 20% impossible (safety reasons perhaps?). Is there a way to add a gain/threshold to address this problem?

I found lots of people with a similar problem, but noone had a good solution.

FOLLOWUP: I built the circuit in the accepted answer using a FQP30N06L and it works great. I can recommend this as simple and cheap solution for fan controllers.

  • \$\begingroup\$ Poor choice of FET. Threshold is too high, on resistance is too high. \$\endgroup\$
    – Majenko
    Dec 17, 2016 at 21:40
  • \$\begingroup\$ Please have a look at the cheap L298N Modules available all over the place. They deal with 2A PWM easily. Problem has been solved for decades. \$\endgroup\$
    – Posipiet
    Dec 17, 2016 at 21:44
  • \$\begingroup\$ @Posipiet I personally dont want a module like this, but isnt this is a stepper motor driver? Also i was looking for a circuit for educational reasons. Anyway, thanks for the hint. \$\endgroup\$
    – Flowx
    Dec 17, 2016 at 21:53
  • \$\begingroup\$ @Flowx they can be used to drive two DC motors or one stepper. I have used them for driving fans in specific industrial / scientific circumstances. Recently, we tend to buy four-wire fans with internal PWM circuit. \$\endgroup\$
    – Posipiet
    Dec 17, 2016 at 21:59
  • 2
    \$\begingroup\$ A "lot of fans" might have a lot of different responding motors. Unless you intend to switch ON/OFF, it is unlikely that a single drive circuit can operate all of the targets in any usefully controlled fashion. Many DC fan motors for 12V operation will run slowly at 6V, but not all. \$\endgroup\$
    – Whit3rd
    Dec 18, 2016 at 7:39

1 Answer 1


There is a well established standard for the 4 pin PWM fan output on Motherboards.

The PWM output is open collector BJT or FET so needs to be pulled up externally to 3-5 V. The PWM frequency should be from 21-28 kHz and from 20% to 100%. The reason the PWM does not go below 20% is that many fans will not start or run at the lower speeds. The computer BIOS will normally start the fans at 100% for several seconds on power on to get them started, then backoff to temperature controlled speeds. Some BIOS's will allow you to set a minimum fan speed higher than 20% or to set 0% to turn the fan off completely.

The fan PWM controller is also responsible for counting the Tach signal, this is used to detect slow or stalled fans. If you don't enable this (supply the Tach signal to the controller) you might find your fan controller continually raising the speed of the fans. The solution is of course to feed the signal from one fan back to the motherboard controller.

I'd suggest a low side fan drive like this would work:


simulate this circuit – Schematic created using CircuitLab

The FQP30N06 you mentioned in the comments would work but if you look at Figure 1 in the datasheet you have to remember you are operating on the extreme left hand side of the graph where V(DS) approaches zero. You will see here that to ensure good operation you really need to have a V(GS) of abut 4.5 V to assure a current of 2 A and a V(DS) of 0.1 V.

enter image description here

There are a stunning new class of low V(GS) threshold FET's like the IRF7401 that feature Gate thresholds in the 1 V range. These can operate directly from 3 V microprocessor ports, but unfortunately they typically come in small surface mount packages ...so not particularly hobbyist friendly to wire up.

  • \$\begingroup\$ Thank you, this post helped alot! I cannot really use the tach wire because its a cluster of 4 fans and Im driving them off one channel. Connecting it results in absurd measurements like 6000rpm. If Im not wrong a fan pulses the tach wire twice every rotation, and that cant work out if you have 4 fans pulsing the same wire. Also that FET you mentioned is really interesting, perhaps they'll make one in a TO-220 package? I'll order a few FQP30N06 for now. Thanks for your work! I'll build the circuit you posted and will post the results. \$\endgroup\$
    – Flowx
    Dec 19, 2016 at 0:07
  • \$\begingroup\$ @Flowx. Connect just a single fans Tach wire is what I meant. If you connect a single fan then the system does have a feedback loop, but the other fans (no feedback) will simply run at whatever speed the PWM %age provides. It may be that your system will run reasonably without any Tach wire connected, if so then that's fine. Just be aware that some Fan controllers will repeatedly increase the fan speed if no Tach speed signal is present. \$\endgroup\$ Dec 19, 2016 at 3:38
  • \$\begingroup\$ Creasy I have built the circuit now and its working great! Thanks for your help. The Tach shows 16000rpm (lol) but that was to be expected. \$\endgroup\$
    – Flowx
    Jan 7, 2017 at 1:03

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.