Instructions for connecting the ESP8266 to the CP2102 USB-to-serial adapter

1 Connections for the ESP8266-12 to the CP2102 USB-to-serial adapter

You need to use the mini-hook jumper wires or solder the wires to make the connections.
 
ESP8266-12CP2102 USB-to-serial adapter
CHPD3.3V for chip enable (solder a wire between CHPD and VCC to make it permanent)
D15GND (solder a wire between D15 and GND to make it permanent, (or via a 10K resistor if you want to use D15 for I/O)
VCC3.3V (Do not connect to 5V or you will destroy the chip) (orange)
GNDGND (black)
TXRX (note the crossover between TX and RX) (blue)
RXTX (note the crossover between TX and RX) (yellow)
D0GND for programming; no connection for running, (or connect to DTR for automatic programming) (white)
RESETGND to reset chip; no connection for normal operation, (or connect to RTS for automatic programming) (green)
D2no connection for programming
ESP8266-12 pinouts
USB-to-Serial adapter
ESP8266-12 connections to USB ESP8266-12 connections to USB
2 Connections for the ESP8266-01 to the USB-to-serial adapter

The connections for the ESP8266-01 are exactly the same as for the ESP8266-12 except for one connection. The ESP8266-01 doesn't have D15 so you can just ignore that connection.

You need to use either the Dupoint female-to-female jumper wires or the mini-hook jumper wires to make the connections.
 
ESP8266-01CP2102 USB-to-serial adapter
CHPD3.3V for chip enable (solder a wire between CHPD and VCC to make it permanent)
VCC3.3V (Do not connect to 5V or you will destroy the chip) (orange)
GNDGND (black)
TXRX (note the crossover between TX and RX) (blue)
RXTX (note the crossover between TX and RX) (yellow)
D0GND for programming; no connection for running, (or connect to DTR for automatic programming) (white)
RESETGND to reset chip; no connection for normal operation, (or connect to RTS for automatic programming) (green)
D2no connection for programming
ESP8266-01 pinouts
ESP8266-01 connections to CP2102
ESP8266-01 connections to USB ESP8266-01 connections to USB
3 Instead of using the CP2102 USB-to-Serial adapter to program the ESP8266 module, you can instead use the Arduino Uno. First, you need to program your Arduino Uno with the BareMinimum example.
  • Select the BareMinimum Sketch from the Arduino v1.6.7 IDE menu
       File | Examples | Basics | BareMinimum
  • Select the Arduino board from the Arduino IDE menu
       Tools | Board | Arduino/Genuino Uno
  • Select the correct port number from the Arduino IDE menu
       Tools | Port | [port #].
  • Connect your Arduino to your computer and click Upload.
4 Connections for the ESP8266-12 to the Arduino Uno

You need to use the mini-hook jumper wires or solder the wires to make the connections.
 
ESP8266-12Arduino Uno
CHPD3.3V for chip enable (solder a wire between CHPD and VCC to make it permanent)
D15GND (solder a wire between D15 and GND to make it permanent, (or via a 10K resistor if you want to use D15 for I/O)
VCC3.3V (Do not connect to 5V or you will destroy the chip)
GNDGND
TXTX pin 1 (no crossover)
RXRX pin 0 (no crossover)
CHPD3.3V (solder a wire between CHPD and VCC to make it permanent)
D0GND for programming; no connection for running, (or connect to DTR for automatic programming)
RESETGND to reset chip; no connection for normal operation, (or connect to RTS for automatic programming)
D2no connection for programming
ESP8266-01 pinouts ESP8266-12 connections to Arduino
5 Connections for the ESP8266-01 to the Arduino Uno

You need to use either the Dupoint male-to-female jumper wires or the mini-hook jumper wires to make the connections.
 
ESP8266-01Arduino Uno
CHPD3.3V for chip enable (solder a wire between CHPD and VCC to make it permanent)
VCC3.3V (Do not connect to 5V or you will destroy the chip)
GNDGND
TXTX pin 1 (no crossover)
RXRX pin 0 (no crossover)
D0GND for programming; no connection for running, (or connect to DTR for automatic programming)
RESETGND to reset chip; no connection for normal operation, (or connect to RTS for automatic programming)
D2no connection for programming
ESP8266-01 pinouts ESP8266-01 connections to Arduino
ESP8266-01 connections to Arduino ESP8266-12 connections to Arduino
6 Uploading the program to the ESP8266.
  • Select the ESP8266 board from the Arduino v1.6.7 IDE menu
       Tools | Board | Generic ESP8266 Module
  • Select the correct COM port that your adapter is connected to.
  • Reset the ESP8266 module by disconnecting and connecting the wire to VCC, or you can briefly connect RESET to GND.
    You should see the blue LED on the board flash once.
  • Click the Upload button as you normally would. The blue LED on the WiFi module will flash as the program is being uploaded onto the module.

  • If you get the orange warning message "espcomm_sync failed" then check your wiring (probably the RX and TX connections are swapped) and then reset the module to upload it again.

  • You can speed up the upload by selecting a faster speed. Select Tools | Upload Speed | 256000. Beware that the upload might failed if you select a speed faster than 256000.

  • To run the program, you need to first disconnect D0 from GND, and then reset the chip by briefly connecting RESET to GND.
    If you have connected D0 to DTR, and RESET to RTS, then the chip will automatically reset and run the program after loading.

  • Hint: you might want to connect a push button between RESET and GND so that you can easily reset the chip to run the program.
Selecting Generic ESP8266 Module board