To program an ESP-01 module with Arduino IDE, the module needs to be connected to a programmer adapter. What keeps the ESP-01 module apart from other ESP8266-based microcontroller modules is the absence of a UART interface. Hence, a programmer adapter is required or it can be wired with a USB to TTL converter to create a programmer.
Below is an schematic diagram of an ESP-01 module using a USB to TTL converter module. This is the preferred ESP-01 programmer while breadboarding because all the ESP-01 pins are accessible.
About the Circuit
The three (3) 10k resistors are pull-up resistors necessary to ensure that the ESP8266 pins are on their proper logic levels. The two capacitors are optional components to increase the stability of the programmer. The 220 microfarad capacitor serves as an additional ac ripple filter while the 0.1 microfarad (100 picofarad) capacitor is used as high-frequency filter.
The RESET and PROGRAM switches are push-button switches. Pressing and then releasing the RESET switch will boot and run the program loaded in the flash memory. Pressing and releasing the RESET switch, while at the same time holding down the PROGRAM switch, will place the ESP-01 into the UART Bootloader mode, or go into programming mode. See the table below.
Again, the sequence of switch presses in order to go into programming mode is: press and hold down the PROGRAM switch, press and release the RESET switch, and finally release the PROGRAM switch.
BOOT MODES TABLE
|HIGH||HIGH||Run program in flash|
Programming using Arduino IDE
To program the ESP-01 using the Arduino IDE, the ESP8266 cores for Arduino must first be installed. Please see, How to Set up Arduino IDE for ESP8266 Programming. If you don’t have the Arduino IDE installed yet, and you’re using Windows 10, see: How to Install Arduino IDE on Windows 10.
Related Articles on How to Program ESP-01 with Arduino IDE
Arduino Reference and Resources
How to Set up Arduino IDE for ESP8266 Programming
NodeMCU V3 ESP8266 Pinout and Configuration
How to Test NodeMCU V3 Using Esptool
How to Install Arduino IDE on Windows 10
How to Save and Restore ESP8266 and ESP32 Firmware
NodeMCU ESP-32S Pin Configuration