I am trying design a PCB with an ESP32 (ESP-WROOM-32) and I want to add an SMD LED to GPIO14. When I check the prototype I see that GPIO14 is HIGH on startup and the LED starts to turn on, but very dimly, like the PWM LED example.

If I add this code the problem is solved:

pinMode(14, OUTPUT);

I want to learn why this happening and if there are any good solutions.

[1]: https://i.sstatic.net/97wEs.jpg


1 Answer 1


Some pins are initialized to something when the ESP32 boots.

The GPIO 14 is in the list of such pins.

At boot, it seems to be a JTAG port TMS input signal, so it likely is physically configured as input with pull-up enabled.

So the LED is lit via the internal pull-up.

It may be possible to disable JTAG but you should really ask the manufacturer forums for support on that.

Generally, manufacturer documentation lists and defines these kinds of things. The hobbyists just don't bother to read and include this kind of information on their simplified websites and therefore all these pins acting weird seem like wizardy to hobbyists. So don't read hobbyist documentation, go to manufacturer documentation.

  • 1
    \$\begingroup\$ Yes, you can blow an eFuse bit to disable JTAG (34 = DISABLE_JTAG). But this may or may not release the pullup. OP: try it out, just note it is irreversible. If you don't need JTAG, no worries. \$\endgroup\$
    – TypeIA
    Oct 2, 2022 at 9:42

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.