Constantly have to hit "boot" button to program official ESP32 devkitc boards
Posted: Sun May 29, 2022 10:33 pm
Hello,
I've got what may be a common problem with some ESP32 dev modules.. I have to constantly hit the "boot" button on the board to get it to take a program. I've had this problem on generic boards before. To try and avoid this problem I purchased several official ESP32-DEVKITC-xx modules. But they require you to press the boot button too.
Some curious things I noticed..
- If I ERASE the flash and start with an EMPTY dev module it programs with no problems by itself. But if I flash it with a program, any program, even one that seemingly does nothing (an empty loop), it refuses to program without having to press the boot key.
- It's not only programming, I cannot do even simpler things, like reading the mac without having to press the boot button.
- When esptool is trying to read/program the chip, after the multiple reset attempts, my code is running for a few seconds each time. I can see it on a display. I tried adding a delay() in the beginning of the code, no help.
- I've tried to troubleshoot the boot GPIO and enable pins.. read about the capacitor, added a 1uf-10uf (and even larger capacitor to the enable pin), nothing helped and all seems normal as far as I can tell.
- Tried on both a ESP32-DEVKITC-VE and ESP32-DEVKITC-32D
- Tried different baud rates and USB ports, including 2.0 and 3.0 ports.
Below is output from the esptool.exe command with the trace option.
Any other suggestions to try? Any help is appreciated. Thank you!
Regards,
-Moses
C:\Users\User\AppData\Local\Arduino15\packages\esp32\tools\esptool_py\3.0.0>esptool.exe --port COM29 --trace --baud 9600 flash_id
esptool.py v3.0-dev
Serial port COM29
Connecting...TRACE +0.000 command op=0x08 data len=36 wait_response=1 timeout=0.100 data=
0707122055555555 5555555555555555 | ... UUUUUUUUUUUU
5555555555555555 5555555555555555 | UUUUUUUUUUUUUUUU
55555555 | UUUU
TRACE +0.002 Write 46 bytes:
c000082400000000 0007071220555555 | ...$........ UUU
5555555555555555 5555555555555555 | UUUUUUUUUUUUUUUU
5555555555555555 5555555555c0 | UUUUUUUUUUUUU.
TRACE +0.105 Timed out waiting for packet header
.TRACE +0.072 command op=0x08 data len=36 wait_response=1 timeout=0.100 data=
0707122055555555 5555555555555555 | ... UUUUUUUUUUUU
5555555555555555 5555555555555555 | UUUUUUUUUUUUUUUU
55555555 | UUUU
TRACE +0.001 Write 46 bytes:
c000082400000000 0007071220555555 | ...$........ UUU
5555555555555555 5555555555555555 | UUUUUUUUUUUUUUUU
5555555555555555 5555555555c0 | UUUUUUUUUUUUU.
TRACE +0.106 Timed out waiting for packet header
.TRACE +0.072 command op=0x08 data len=36 wait_response=1 timeout=0.100 data=
0707122055555555 5555555555555555 | ... UUUUUUUUUUUU
5555555555555555 5555555555555555 | UUUUUUUUUUUUUUUU
55555555 | UUUU
I've got what may be a common problem with some ESP32 dev modules.. I have to constantly hit the "boot" button on the board to get it to take a program. I've had this problem on generic boards before. To try and avoid this problem I purchased several official ESP32-DEVKITC-xx modules. But they require you to press the boot button too.
Some curious things I noticed..
- If I ERASE the flash and start with an EMPTY dev module it programs with no problems by itself. But if I flash it with a program, any program, even one that seemingly does nothing (an empty loop), it refuses to program without having to press the boot key.
- It's not only programming, I cannot do even simpler things, like reading the mac without having to press the boot button.
- When esptool is trying to read/program the chip, after the multiple reset attempts, my code is running for a few seconds each time. I can see it on a display. I tried adding a delay() in the beginning of the code, no help.
- I've tried to troubleshoot the boot GPIO and enable pins.. read about the capacitor, added a 1uf-10uf (and even larger capacitor to the enable pin), nothing helped and all seems normal as far as I can tell.
- Tried on both a ESP32-DEVKITC-VE and ESP32-DEVKITC-32D
- Tried different baud rates and USB ports, including 2.0 and 3.0 ports.
Below is output from the esptool.exe command with the trace option.
Any other suggestions to try? Any help is appreciated. Thank you!
Regards,
-Moses
C:\Users\User\AppData\Local\Arduino15\packages\esp32\tools\esptool_py\3.0.0>esptool.exe --port COM29 --trace --baud 9600 flash_id
esptool.py v3.0-dev
Serial port COM29
Connecting...TRACE +0.000 command op=0x08 data len=36 wait_response=1 timeout=0.100 data=
0707122055555555 5555555555555555 | ... UUUUUUUUUUUU
5555555555555555 5555555555555555 | UUUUUUUUUUUUUUUU
55555555 | UUUU
TRACE +0.002 Write 46 bytes:
c000082400000000 0007071220555555 | ...$........ UUU
5555555555555555 5555555555555555 | UUUUUUUUUUUUUUUU
5555555555555555 5555555555c0 | UUUUUUUUUUUUU.
TRACE +0.105 Timed out waiting for packet header
.TRACE +0.072 command op=0x08 data len=36 wait_response=1 timeout=0.100 data=
0707122055555555 5555555555555555 | ... UUUUUUUUUUUU
5555555555555555 5555555555555555 | UUUUUUUUUUUUUUUU
55555555 | UUUU
TRACE +0.001 Write 46 bytes:
c000082400000000 0007071220555555 | ...$........ UUU
5555555555555555 5555555555555555 | UUUUUUUUUUUUUUUU
5555555555555555 5555555555c0 | UUUUUUUUUUUUU.
TRACE +0.106 Timed out waiting for packet header
.TRACE +0.072 command op=0x08 data len=36 wait_response=1 timeout=0.100 data=
0707122055555555 5555555555555555 | ... UUUUUUUUUUUU
5555555555555555 5555555555555555 | UUUUUUUUUUUUUUUU
55555555 | UUUU