Flash Mode and Normal Operation Mode
The ESP-01S has two primary boot modes: Flash mode and Normal Operation mode. Flash mode is for uploading code, while Normal Operation mode runs the code.
Flash mode, also known as programming or flashing mode, is a crucial state on the ESP-01S module for uploading new firmware or programming the module. To access flash mode, you'll need to interact with the GPIO0 (General-Purpose Input/Output 0) pin during the module's boot-up sequence.
Ensure you have a USB-to-Serial adapter with connections for
- TX Pin2 GPIO1
- RX Pin7 GPIO3
- GND Pin1
- VCC Pin8 3.3V
FT232RL USB to Serial adapter is high recommended. The CH340 USB to Serial adatper usually doesn't have 3.3V LDO on board and it uses CH340 IC itself to provide 3.3V power which usually coudn't provide enough current for ESP-01S.
To enter flash mode, connect the GPIO0 pin to GND while powering on the ESP-01S module or performing a reset. When starting up with GPIO0 grounded, the module will enter flash mode.
Important Note: GPIO2 and Initial Logic State
It's crucial to keep in mind that GPIO2 should be in a logic HIGH state during the boot process. Fortunately, the ESP-01S module is designed with a built-in 12K resistor that pulls GPIO2 up to this desired logic HIGH state. This means you can typically leave GPIO2 as is, without any specific manipulation.
However, if you choose to connect GPIO2 to a sensor or utilize it as an input for your project, exercise caution to ensure that it doesn't inadvertently register a logic LOW state during the initial boot phase. This precaution is essential to maintain the module's intended behavior and prevent any unexpected operational issues.
With the ESP-01S in flash mode, use Arduino IDE to upload your firmware or program the module. Configure your flashing tool with the correct serial port, baud rate, and other settings.
Once programming is complete, disconnect GPIO0 from GND. Reset the module using the RST (Reset) pin to switch to normal operation mode and run your newly flashed firmware.
Video: Use FT232RL to program ESP-01S