Introduction: Cheap and Easy ESP8266-01 Programming Jig - Use With Arduino IDE

What it does - Makes programming ESP8266-01 module with Arduino IDE easy.

Details - This programming jig is easy to construct using a USB to ESP8266 Serial Development Adapter ESP01 board (<$5 on Ebay), 2 tactile buttons, a perf board, and a bit of hookup wire.

No additional FTDI cable or adapter required! The ESP8266-01 module plugs directly into Development Adapter board, which in turn plugs into computer USB port.

When programming ESP8266-01 using Arduino IDE, you just need to toggle the reset and flash buttons in a particular sequence as described later.

Skills required - Familiar with Arduino IDE operation and basic electrical circuit construction

Attribution - Thanks to Charles R. Hampton's excellent post that provided technical details which helped me create this programming jig Breadboard and Program an ESP-01 with Arduino IDE .

Step 1: Parts and Tools


(1) USB to ESP8266 Serial Wireless Wifi Module Board Development Adapter ESP01 from Ebay

(1) ESP8266-01 Module Ebay . I assume you already have one of these, or else you wouldn't be interested in this project in the first place.

(3) Short lengths of hookup wire. I used 3 different colors: black, yellow and green

(2) Momentary tactile pushbuttons

(1) Small piece of perfboard. I used stripboard style, but this isn't required

(1) Small paper label for buttons

Optional USB extension cable - this will be more convenient when using a desktop rather than laptop computer


Soldering iron and solder

Wire cutters and stripers

Red and black markers

Step 2: Construction

1. I like to start by color coding the positive (VCC) and negative (GND) "pins" of ESP8266-01 module and Development Adapter board, see photo.

2. Solder hookup wires to the underside of Development Adapter board pins: GND, RST, GPIO0. I observed color coding: GND - black, RST - green, GPIO0 - yellow. See photo.

3. Solder two tactile buttons to perfboard separated enough to allow for two finger operation. Solder GND (black) wire to one terminal of Reset button and run a jumper wire to one terminal of Flash button. Solder RST wire (green) to Reset button remaining terminal, and GPIO0 wire (yellow) to Flash button remaining terminal. See photo and wiring diagram.

4. Label Reset and Flash Buttons as shown.

Step 3: Adding ESP8266 Board to Arduino IDE, Program, and Test

1. You will need to update Arduino IDE to recognize ESP8266 boards. Follow this link. Begin reading under the Arduino IDE section, starting with text: "The recommended Arduino IDE version for use ..."

2. With the IDE updated, plug the ESP8266 Development Adapter board into your computer's USB port and then plug ESP8266-01 module into the yellow connector of the Development Adapter board. See photo.

3. To program ESP8266-01, refer again to the above link starting with text: "Reconnect the circuit to the PC and ..."

4. It is very important to follow the Reset and Flash button sequence exactly as described - especially do not release the Flash button until after the Arduino IDE compile step finishes and the upload step starts.

5. If all goes well, your ESP8266-01 should now be programmed and running the example WiFiScan sketch.

6. Bonus Tip - I find that soldering a 2 x 4 female header on top of ESP8266-01 module makes prototyping small circuits easier, because you can now treat the ESP module similar to an Arduino UNO. For example, after programming, you can quickly connect a I2C OLED display using just 4 jumper wires to test projects like this link.

That's it. Enjoy !!