Automatic bootloaderesptool.py can automatically enter the bootloader on many boards by using the RTS and DTR modem status lines to toggle GPIO0 and EN automatically.Make the following connections for esptool.py to automatically enter the bootloader:ESP32 Pin Serial PinEN RTSGPIO0 DTRNote that some serial terminal programs (not esptool.py) will assert both RTS and DTR when opening the serial port, pulling them low together and holding the ESP32 in reset. If RTS is wired directly to EN then RTS/CTS "hardware flow control" needs to be disabled in the serial program to avoid this.Development boards (including all Espressif boards) usually use additional circuitry to avoid this problem - if both RTS and DTR are both asserted together, this doesn't reset the chip. Consult Espressif development board schematics for the specific details.(Some third party ESP32 development boards use an automatic reset circuit for EN & GPIO pins, but don't add a capacitor on the EN pin. This results in unreliable automatic reset, especially on Windows. Adding a 100nF (or higher) value capacitor between EN pin and GND may make automatic reset more reliable..)
To be honest we're not sure why that happens with the newer boards. We don't have any ESP32 board with that behavior. We think there might be something different with your specific board or the Arduino IDE fails to send the right command sequence to put the ESP32 automatically in flashing/uploading mode.
Mai dovuto premere BOOT sul mio ESP32, mi chiedevo appunto a cosa servisse...
ESP32 DEVKIT V1www.doit.am
...... gente che se alcuni pin specifici sono collegati alla breadboard non riesce a caricare.....
Strapping PinsThe ESP32 chip has the following strapping pins: GPIO 0 GPIO 2 GPIO 4 GPIO 5 GPIO 12 GPIO 15These are used to put the ESP32 into bootloader or flashing mode. On most development boards with built-in USB/Serial, you don't need to worry about the state of these pins. The board puts the pins in the right state for flashing or boot mode. More information on the ESP32 Boot Mode Selection can be found here.However, if you have peripherals connected to those pins, you may have trouble trying to upload new code, flashing the ESP32 with new firmware or resetting the board. If you have some peripherals connected to the strapping pins and you are getting trouble uploading code or flashing the ESP32, it may be because those peripherals are preventing the ESP32 to enter the right mode. Read the Boot Mode Selection documentation to guide you in the right direction. After resetting, flashing, or booting, those pins work as expected.
Select bootloader modeGPIO0The ESP32 will enter the serial bootloader when GPIO0 is held low on reset. Otherwise it will run the program in flash.GPIO0 Input ModeLow/GND ROM serial bootloader for esptool.pyHigh/VCC Normal execution modeGPIO0 has an internal pullup resistor, so if it is left unconnected then it will pull high.Many boards use a button marked "Flash" (or "BOOT" on some Espressif development boards) that pulls GPIO0 low when pressed.GPIO2GPIO2 must also be either left unconnected/floating, or driven Low, in order to enter the serial bootloader.In normal boot mode (GPIO0 high), GPIO2 is ignored.Other PinsAs well as GPIO0 and GPIO2, the following pins influence the serial bootloader mode:GPIO Meaning12 (MTDI) If driven High, flash voltage (VDD_SDIO) is 1.8V not default 3.3V. Has internal pull-down, so unconnected = Low = 3.3V. May prevent flashing and/or booting if 3.3V flash is used and this pin is pulled high, causing the flash to brownout. See the ESP32 datasheet for more details.15 (MTDO) If driven Low, silences boot messages printed by the ROM bootloader. Has an internal pull-up, so unconnected = High = normal output.
Serial port COM5Connecting........_____....._____....._____....._____....._____...A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header.
Sometimes to program ESP32 via serial you must keep GPIO0 LOW during the programming process.
Development boards (including all Espressif boards) usually use additional circuitry to avoid this problem - if both RTS and DTR are both asserted together, this doesn't reset the chip. Consult Espressif development board schematics for the specific details.
(Some third party ESP32 development boards use an automatic reset circuit for EN & GPIO pins, but don't add a capacitor on the EN pin. This results in unreliable automatic reset, especially on Windows. Adding a 100nF (or higher) value capacitor between EN pin and GND may make automatic reset more reliable..)
Entering the BootloaderBoth ESP8266 and ESP32 have to be reset in a certain way in order to launch the serial bootloader.On some development boards (including NodeMCU, WeMOS, HUZZAH Feather, Core Board, ESP32-WROVER-KIT), esptool.py can automatically trigger a reset into the serial bootloader - in which case you don't need to read this section.For everyone else, three things must happen to enter the serial bootloader - a reset, required pins set correctly, and GPIO0 pulled low