I have a 120mm 12v Fan that is used on an Antminer S7. There are two fans on the antminer, and they both are controlled by the software built in.

I had one fan break, so I replaced the fan with a similar model. It's the exact same size as the original, 4-pin connector and all that (the connector does not exactly fit the header on the board). But this replacement fan never runs at the same speed as the other fan.

For example, when booting, the antminer performs a self test, where it will ramp up the fans for about 30 seconds, and test that it is receiving an RPM signal. It may do this multiple times if it does not detect a signal.

What I have noticed during this boot cycle is that the two fans do not run at the same speed during the tests. The one fan I replaced starts at 100% speed as soon as it gets power. The other sits at idle speed (something like 15%). Then after approx. 30 seconds, the first fan ramps up, but the replaced fan does the exact opposite. Now, some of you may say that maybe the antminer is purposely ramping up only one fan at a time during the tests. Well, the reason I don't think this is correct is that I notice the same trend happening when the miner is running. On automatic fan speed mode, I will notice that as the first fan ramps up, the other one ramps down. And even when I manually set the fan speed to something like 15%, the replaced fan stays at a high RPM, while the other one does what you expect.

And like I stated before, the header does not exactly fit the connector. It's 4 pin, but there is a keyway on the header that is narrower than the one in the picture of the item above. But the connector on the item pictured is definitely the correct one. It still kinda fits the header, but you have to force it.

I somehow doubt that the connector size has anything to do with the RPM issues because the pinout doesn't seem to change from the traditional connector. But i'm open to ideas here.

Another little tidbit I would like to include is that the antminer does not reliably receive a tach signal. Occasionally it gets an RPM reading, other times it doesn't. THIS could be due to the connector, but re-seating it doesn't change much.

Sorry if this post is super rambly, I wanted to ensure I got as much info in there as possible.

Ideas are greatly appreciated!

  • 1
    \$\begingroup\$ Can you try driving the fan in question with a PWM signal you control? It may be that the replacement fan expects an inverted PWM signal... \$\endgroup\$ Aug 5, 2017 at 2:55
  • \$\begingroup\$ @ThreePhaseEel Unfortunately, I don't have a PWM generator at my disposal. Nor any spare Arduino's I could try that with. \$\endgroup\$
    – B-Dawg
    Aug 5, 2017 at 2:56
  • \$\begingroup\$ Brand and model of the fan? "High end" ones tend to have this as an option, probably intended for inverted open collector drive. \$\endgroup\$
    – winny
    Aug 5, 2017 at 7:29

1 Answer 1


I suspect that your new fan requires an inverted PWM signal compared to what the board is providing -- that'd explain why it'd control "backwards". I'd use a 78L05, one section of a 74HC04 or equivalent inverter IC, a couple of 100nF ceramic caps, and a 4-pin 0.1" header and socket to fabricobble an inverter-adapter for the PWM on perfboard, as in the schematic below (presuming your fans follow the PC motherboard PWM fan interface standard, that is):


simulate this circuit – Schematic created using CircuitLab

  • \$\begingroup\$ I think you may be right! I wasn't sure if it was even a feasable problem. Now I see it is. Thanks for the shcematic. I will probably cobble this together in the next few days. \$\endgroup\$
    – B-Dawg
    Aug 5, 2017 at 3:21

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.