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– Ron Beyer2020年04月10日 14:41:52 +00:00Commented 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\$F. Heisenberg– F. Heisenberg2020年04月10日 15:31:18 +00:00Commented 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– Sim Son2020年04月10日 20:01:50 +00:00Commented 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– Sim Son2020年04月10日 20:07:37 +00:00Commented 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\$F. Heisenberg– F. Heisenberg2020年04月10日 20:22:27 +00:00Commented 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\$2020年04月11日 22:09:24 +00:00Commented Apr 11, 2020 at 22:09