mu-editor / mu

A small, simple editor for beginner Python programmers. Written in Python and Qt5.
http://codewith.mu
GNU General Public License v3.0
1.41k stars 435 forks source link

ESP32-S3 "waiting for download" after hard reset #2313

Open hyansuper opened 2 years ago

hyansuper commented 2 years ago

What were you trying to do?

hard reset and back into micropython REPL

What steps did you take to trigger the issue?

just press reset button on a ESP32-S3.

What did you expect to happen?

hard reset and back into micropython REPL

What actually happened?

in the REPL window says "waiting for download"

Operating System Version

win10

Mu Version

1.1.1

Other Info

idf.py -p [PORT] monitor works fine after hard reset, althongh the monitor only shows output and can't handle input command.

Another editor called Thonny also can go into micropython REPL after hard reset (without GPIO0 connected to pullup or capacitor).

But on Mu editor, soft reset machine.reset() is fine, but not hard reset. I tried GPIO0 connected to a 10k pullup to 3.3v, or add a 0.1uF cap to ground, also tried different combinations (with/without pullup/cap), upon hard reset, the REPL says "waiting for download"

I don't expect this be fixed soon, as it can be related to hardware

image image

Editor Log

MicroPython 364569d-dirty on 2022-06-03; ESP32S3 module (spiram) with ESP32S3
Type "help()" for more information.
>>> 
>>> # now I press reset button
>>> ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x0 (DOWNLOAD(USB/UART0))
waiting for download
carlosperate commented 2 years ago

Is that a message from the bootloader waiting for a tool to send something? In that case how do other tools avoid it or workaround it? I assume the bootloader will just wait if a serial connection is opened while it boots up?

mrx23dot commented 2 years ago

Release GPIO0 from GND, otherwise stuck in bootloader waiting for next download then cycle EN

greenoaktree commented 1 year ago

Same problem on my esp32s3,but esptool write the single file firmware bin file is OK.Wired....

fenilGhoghari commented 1 year ago

Same issue i am facing with the ESP32-S3-BOX is there we have any solution please share

Thanks

michelegirolami commented 10 months ago

the same for me. @mrx23dot mentioned to Release GPIO0 from GND. Can you explain more in detail this step? Please .

sonpython commented 9 months ago

same here

rst:0x1 (POWERON_RESET),boot:0x1 (DOWNLOAD_BOOT(UART0/UART1/SDIO_FEI_REO_V2))
waiting for download

I found this note-on-c15 from espressif docs:

The component C15 may cause the following issues on earlier ESP32-DevKitC V4 boards:

The board may boot into Download mode

If you output clock on GPIO0, C15 may impact the signal

In case these issues occur, please remove the component. The figure below shows the location of C15 highlighted in yellow.
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/_images/esp32-devkitc-c15-location.png
michelegirolami commented 9 months ago

@sonpython after many tries, I found this procedure to successfully flash a fw into my ESP32 (lora 32 S3):

Cattura

sonpython commented 9 months ago

I dont see that menu

Screenshot 2024-01-04 at 00 58 53
fumikrobot commented 8 months ago
  • gging the device
  • open Arduino IDE
  • Select the correct board. In my case ESP32S3
  • From the "Tools" menu, select "USB CDC On Boot" to ENABLED
  • Flash the fw

Perfect, i can run it after facing same issue. Thank you very much.

iolo commented 6 months ago

press BOOT while pressing RST.

teleger commented 6 months ago

I also encountered a similar problem, my board is esp32s3, I don't think there is a hardware problem, because when I press the boot key and press the rst button again, I can indicate the existence of serial device, so I found that there is a problem with my burning program, I found that I used the port GPIO19. I checked the board of esp32s3, at least connected to the esp32h2 module on my board, GPIO19 is used as USB, the program I burned occupied the port of GPIO19, I erased all again. The erase instruction is idf.py -p COMx erase-flash, and I re-burned my updated program again with no problem