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




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 !!

2 People Made This Project!


  • Hour of Code Speed Challenge

    Hour of Code Speed Challenge
  • Paint Challenge

    Paint Challenge
  • 3D Printed Student Design Challenge

    3D Printed Student Design Challenge



4 years ago

And just how does one add a 2x4 header to the top of an ESP8266-01 ;-)


Reply 3 years ago

CAREFULLY! LOL! either carefully tack-soldering the header (short PC-Mount pins) to the top pins, OR.... desoldering and removing each pin of the 01, and replacing the header with a 'stacking' header (female socket, LONG Pins). I've modified a couple of Arduino Protoboards, the same way. remove the outer pin headers, and replaced them with stackable headers to (a) double the connections, (b) turn the protoboard into a stackable shield. Same can be done with the esp-01


4 years ago

Please elaborate on Bonus Tip above. The link does not show what you are talking about.


5 years ago

Can you add a picture of the bottom of the perf board?


Reply 5 years ago

Done, see step 2.


Reply 5 years ago