Author Topic: ESP32-WROOM-32U Not Flashing  (Read 1203 times)

0 Members and 1 Guest are viewing this topic.

Offline machinehumTopic starter

  • Contributor
  • Posts: 22
  • Country: ca
ESP32-WROOM-32U Not Flashing
« on: September 22, 2023, 08:10:47 pm »
Any help would be appreciated. I've tried several different chips with the same error.



Here is the log: https://pastebin.com/raw/VAwvwNb0
« Last Edit: September 22, 2023, 08:15:23 pm by machinehum »
 

Offline bookaboo

  • Frequent Contributor
  • **
  • Posts: 729
  • Country: ie
Re: ESP32-WROOM-32U Not Flashing
« Reply #1 on: September 23, 2023, 04:44:41 am »
Where are those logs from? They are quite verbose.
Have you tried flashing direct from idf.py?
Can you erase ok?
Check the datasheet for bootstrap pins.
 

Online tooki

  • Super Contributor
  • ***
  • Posts: 11546
  • Country: ch
Re: ESP32-WROOM-32U Not Flashing
« Reply #2 on: September 23, 2023, 10:52:25 am »
Just as a test, can you flash it using the Arduino IDE?

I’d add a much larger capacitor (1-10uF) in parallel to C14. This solves a common problem where an ESP32 fails to enter flash upload mode. (The problem occurs when the IO0 bootstrap pin is asserted after the ESP is released from reset. A large cap on EN holds the EN line low for longer, holding the ESP32 in reset long enough for IO0 to be asserted.) I’m not convinced this is the issue here, but it’s something you can easily do to ensure it’s not going to cause issues.

Where are those logs from? They are quite verbose.
I think it’s ESP-IDF (Espressif’s native programming environment).

Check the datasheet for bootstrap pins.
IO0 is the main bootstrap mode pin. Holding it low while the ESP32 is released from reset tells it to enter programming mode.
EN is the ESP32’s reset line.
IO2 is also a bootstrap pin which must be low to enable programming mode, and some reference designs (like the ESP32-LyraT and ES32-WROVER-KIT) use a third bootstrap transistor to pull it low. But this isn’t strictly necessary, and most designs leave IO2 floating, which is fine due to its integrated pull-down resistor. However, if IO2 is used as a GPIO pin and some external circuit keeps it pulled high, this will interfere. That isn’t the case here, since programming is able to begin.
IO12 is the other critical bootstrapping pin. It sets the voltage of the integrated LDO. If it’s pulled high, the LDO will switch to 1.8V, which will cause problems with 3.3V flash memory. The WROOM module uses a 3.3V flash chip, so IO12 must be low or floating on boot.

IO5 is a bootstrapping pin which should be high (or floating, due to internal pull-up) on boot. If the circuit is holding it low, that can cause problems, as it affects IO5’s subsequent output mode (this pin outputs PWM a during startup).

See:
https://docs.espressif.com/projects/esptool/en/latest/esp32/advanced-topics/boot-mode-selection.html

and pages 12-13 of:
https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32e_esp32-wroom-32ue_datasheet_en.pdf
 
The following users thanked this post: machinehum

Offline machinehumTopic starter

  • Contributor
  • Posts: 22
  • Country: ca
Re: ESP32-WROOM-32U Not Flashing
« Reply #3 on: September 25, 2023, 06:25:41 pm »
Thanks for all this info; I started looking into this today. Just changed C14 to 1uF with no change.

I'll strike the trace connecting IO12, if that doesn't work I'm out of ideas.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf