


It is possible to have a power supply that supplies enough current for the serial bootloader stage with esptool, but not enough for normal firmware operation. Surface mount OEM modules like ESP-WROOM02 and ESP-WROOM32 require an external bulk capacitor on the PCB to be reliable, consult the module datasheet. These breakouts do not integrate enough capacitance to work reliably without additional components. This is not true for some very simple pin breakout modules - similar to this. If you’re using a pre-made development board or module then the built-in power regulator & capacitors are usually good enough, provided the input power supply is adequate. You also need sufficient capacitance on the power circuit to meet large spikes of power demand. The 3.3V power supply for the ESP chip has to supply large amounts of current (up to 70mA continuous, 200-300mA peak, might be slightly higher). See the SPI Flash Modes page for a full description of the flash modes and how to determine which ones are supported on your device.

Try passing the -fm dio option to write_flash. Writing to flash with qio mode will succeed but the chip can’t read the flash back to run - so nothing happens on boot. Some devices only support the dio flash mode. If esptool can flash your module with write_flash but your program doesn’t run, check the following: Wrong Flash Mode Power stability problems may also cause this (see Insufficient Power.) Writing to Flash Succeeds but Program Doesn’t Run If flashing fails with random errors part way through, retry with a lower baud rate. Writing to Flash Fails Part Way Through Try using a slower baud rate ( -b 9600 is a very slow value that you can use to verify it’s not a baud rate problem). If you have connected other devices to GPIO pins, try removing them and see if esptool starts working. Check the voltages at each pin with a multimeter, “high” pins should be close to 3.3V and “low” pins should be close to 0V. A common pitfall is leaving a serial terminal accessing this port open in another window and forgetting about it.Ĭheck the chip is receiving 3.3V from a stable power source (see Insufficient Power for more details.)Ĭheck that all pins are connected as described in Boot Mode Selection. If you see errors like “Failed to connect” then your chip is probably not entering the bootloader properly:Ĭheck you are passing the correct serial port on the command line.Ĭheck you have permissions to access the serial port, and other software (such as modem-manager on Linux) is not trying to interact with it. Try the suggestions here if you’re having problems: Bootloader Won’t Respond Flashing problems can be fiddly to troubleshoot.
