I have a custom board with an ESP32 (Wroom-32U) module and JTAG connection for flashing and debugging. While attempting to flash software, I get a timeout. I measured with oscilloscope and found out that GPIO15 (TDO JTAG pin, which is also a strapping pin) is always high (also without programmer connected). I also measured GPIO0 and is it also constantly high. It seems to me that ESP is kind of stuck in a "reset loop" as strapping pins kind of "freeze".

What I have done so far:

  • I checked the 3.3V power supply, it is stable
  • I rechecked schematic several times, it appears to be correct

Here is the schematic: ESP32 Schematic

Any idea how what this is or how I could find the bug?

EDIT: GPIO15 (TDO) also always stay high during flashing.

  • \$\begingroup\$ GPIO0/2 are strapping pins, what state are they in during a reset? \$\endgroup\$
    – Ron Beyer
    Commented Apr 10, 2020 at 14:41
  • \$\begingroup\$ while pressing reset, GPIO0 goes low and GPIO2 is floating. After releasing reset, GPIO0 goes high and GPIO2 goes low. \$\endgroup\$ Commented Apr 10, 2020 at 15:31
  • \$\begingroup\$ Can't you bring the esp in program mode by resetting while IO0 is low? This must stop any reset loop if there is one \$\endgroup\$
    – Sim Son
    Commented Apr 10, 2020 at 20:01
  • \$\begingroup\$ Have you been able to upload code via JTAG before? I wonder why there is no second button as would be needed when uploading via serial bootloader. But honestly, I've no experience with JTAG on an ESP32... \$\endgroup\$
    – Sim Son
    Commented Apr 10, 2020 at 20:07
  • \$\begingroup\$ The second button (gpio0 to low) is only necessary when uploading via serial bootloader. On other Esp32 development boards my setup and uploading works fine. \$\endgroup\$ Commented Apr 10, 2020 at 20:22

1 Answer 1


I just found the issue: Although both, my external and on board power supply were stable, I still had too much noise at the ESP 3.3V pin. This, I believe, caused the ESP to run unstable and to reset all the time. I forgot to put a large enough decoupling capacitor directly at 3.3V and GND pin of ESP. With a capacitor in place, it works.

  • \$\begingroup\$ Hi, Regarding: "Additional question [...]" You can't ask a question, in an answer - that defeats the whole paradigm of Stack Exchange sites, where questions & answers are in different places. Also, adding a whole different question at this late stage is IMHO also a bad plan. Since you have found the solution to your problem (well done!), I recommend that you remove the new question from your answer, accept your answer (to close this topic), research your new question ( I remember similar topics in the past) and if you are still unsure, write a new question for that (showing your research). \$\endgroup\$
    – SamGibson
    Commented Apr 11, 2020 at 22:09

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.