I have 8 fan modules that contain 2 fans per module. These 16 fans are powered by 12 VDC and are controlled by the PWM control pin.

The spec sheet for the fan module: https://www.delta-fan.com/Download/Spec/GFM0412SS-BL4F.pdf.

Microcontroller I am using: https://docs.particle.io/datasheets/wi-fi/photon-datasheet/

According to the spec sheet, I can output 3.3 V on the PWM pin of the MCU. This fits in the range of the PWM signal the fan reads. In the example in the datasheet for the fan, they place a 2 Kohm resistor between the MCU and the PWM pin. I believe I am reading the MCU datasheet right and it says I only get 100 mA that I can source on the PWM pin of the MCU. I would like to have all 16 fans running at the same speed.


  1. How do I determine the size of the resistor to use on the PWM signal for one fan?

  2. Can I use that PWM signal to control all 16 fans? If so how do I determine the resistor value?

  3. If I can't use the one pin to control all 16 fans, perhaps a transistor would solve this for me. If so again no idea how to figure out the required resistor.

  4. If you figured out the resistor value(s), please explain what I should be looking for on the datasheets so I know how to do this for other components in the future.

  • 1
    \$\begingroup\$ I notice that you have accepted Justme's answer. Please be aware that it's a very good policy to wait 24 hours or so before accepting an answer. By accepting immediately you remove any incentive someone else might have to contribute - and their contribution might be better. For that matter, the answer you accept early might even be wrong. \$\endgroup\$ Commented Apr 20, 2020 at 2:13
  • \$\begingroup\$ You will get 100 mA from one MCU pin? \$\endgroup\$
    – Mike
    Commented Apr 20, 2020 at 10:54
  • \$\begingroup\$ Sorry I am new to this as well. I'll undo the mark as answer and wait more time. I believe that is what the data sheet is saying. Though I found in another spot io characteristics and says 25mA. I am just not sure. \$\endgroup\$
    – bri
    Commented Apr 20, 2020 at 11:33
  • \$\begingroup\$ @Justme was correct, no resistor was needed at all. After hooking up the pwm signal to one module (2 fans) 0.3 mA current was used. Even if the pin can only do 25mA this covers all the fans. Thanks all for the help. I will remember next to leave the question open longer and make sure I get a correct answer. \$\endgroup\$
    – bri
    Commented Apr 20, 2020 at 19:51

1 Answer 1


The answer to all four questions is that you should not put a resistor there.

That resistor shown in the picture is not an external resistor that should be present in your PWM driving circuit. It only tells what kind of a load the fan presents to your signal, i.e. it is the PWM pin input impedance. The output impedance or driving ability of your PWM source determines how many fans can be connected to it. Of course you can add transistors or logic buffers to drive more fans.

  • \$\begingroup\$ Thank you for your help. Am I able to drive all 16 fans without a transistor? If I need a transistor how do I figure out wattage rating for the resistor and would I need a resistor for the transistor if I went that route? \$\endgroup\$
    – bri
    Commented Apr 19, 2020 at 23:02
  • \$\begingroup\$ Forget the resistor, you don't put a resistor to the PWM line if you drive with logic gates. Both datasheets are really quite bad. The fan datasheet does not actually say how much it loads the PWM pin, it only says it has internal series resistor. And for the Photon you need to open STM32 datasheet to find out how much output pin can be loaded. But it is of no use because even if you know how much load the Photon can drive, you don't know how much the fan loads it. IIRC STM32 has 8mA outputs, so it should be able to drive maybe between 4 to 8 fans. \$\endgroup\$
    – Justme
    Commented Apr 19, 2020 at 23:21
  • \$\begingroup\$ Thank you for helping! I'll mark as solution. What I'll do is put my meter in series with the pwm pin and measure the current for 1 fan and compute it out from there. thanks again \$\endgroup\$
    – bri
    Commented Apr 19, 2020 at 23:56
  • \$\begingroup\$ Put your meter in series from the 3.3 V supply to the fan PWM input instead. Then you won't have to worry what PWM % it's running at and you've got simple \$ R = \frac {3.3} I \$. \$\endgroup\$
    – Transistor
    Commented Apr 20, 2020 at 16:57

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.