I spliced two PWM fan tach wires and connected them to a single ESP8266 GPIO pin. Since I tried powering this on I couldn't get the ESP8266 back up and running, even after disconnecting the splice again.

It's probably important to point out that the whole thing was working as expected before I spliced the two tach wires into D2. With only one connected I was able to read the fan speed and control both PWM fans correctly.

enter image description here

enter image description here

Did splicing two PWM fan tach wires to a single ESP8266 GPIO pin fry my ESP8266 or did something else kill it? Like maybe I fumbled and accidentally shorted a 12V line to a GPIO pin or the 5V line while plugging stuff into my board?

  • 4
    \$\begingroup\$ It would be helpful to see how you've connected these components. Be aware that a fan can generate a large amount of electrical noise in a circuit and needs to be thorougly decoupled from sensitive electronics like your ESP8266. \$\endgroup\$
    – StarCat
    Sep 26, 2023 at 16:09
  • 1
    \$\begingroup\$ How did you measure the voltage never exceeds 1V? A multimeter would not show if they are short pulses of 12V. Why did you connect two tach pins to one MCU pin, it makes no sense as you can't determine anything about the signal. Which ESP pin you used, is it one of those that need to be in correct state for booting? We can't say what might be wrong as per your description. \$\endgroup\$
    – Justme
    Sep 26, 2023 at 17:09
  • 1
    \$\begingroup\$ Tach wires are usually open-collector. Did you use a pull-up to some other voltage? \$\endgroup\$
    – vir
    Sep 26, 2023 at 18:12
  • \$\begingroup\$ @StarCat: I've added some pictures of the work. I'm using a buck converter to lower the 12V used by the fans to 5V for the D1 mini ESP8266. I've connected each of the PWM fan inputs to D3/D4 (GPIO0/GPIO2). The spliced Tach wires went to D2 (GPIO4). Note that I am splicing them using a jumper. I was aware that what I am doing might not work, so I wanted a way to disconnect them again easily, thus the jumper. \$\endgroup\$ Sep 26, 2023 at 18:51
  • \$\begingroup\$ @Justme Yes, I used a multimeter. What you're saying makes sense. I connected both because I was curious if I could be reading the pulses of both and then just divide by 2 in software. I was aware that this was unlikely to work at best, thus why I used a jumper to create the connection. I believe some of the pins I used are expected to be in specific states during boot, but I tried booting the ESP8266 with all those pins open powered directly through USB and it didn't wake up either. \$\endgroup\$ Sep 26, 2023 at 18:53

1 Answer 1


Assuming you measured the voltage with a standard volt meter, you would have been looking at the average voltage not the peak voltage. Have a look at the signal with a scope (or a peak measurement setting on a DMM) and you will see the maximum voltage applied to your ESP. It may well have been much higher than 1V.

Having said that, a common tach implementation is "open collector", where you pull up the tach signal with a resistor from your local supply.

You need to check the fan datasheet to confirm, but if that was the case, it is unlikely to have damaged the board.

An accidental short would make more sense...

  • \$\begingroup\$ That makes sense, thank you. Sadly I do not own an oscilloscope. I'll see if my multimeter supports reading out peak voltage. \$\endgroup\$ Sep 26, 2023 at 19:02
  • \$\begingroup\$ Just to close the loop: I did read the tach pin voltage using my multimeter's min/max setting and it would still come in at less than 1V max reading. Maybe my multimeter's sampling rate is too low to read anything higher, or maybe the signal actually is not very high in voltage. For now I assume that I have accidentally shorted the MCU somehow else. But I will also refrain from re-adding that jumper and just read one of the fans. I will be driving both at the same PWM settings anyway. Now to desoldering the MCU and replacing it with a new one :D Thank you! \$\endgroup\$ Sep 28, 2023 at 18:20

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.