Module information for ESP8266, low cost WiFi

This is just information about the serial wifi module that I have collected to get it up and running.

Where to buy
Currently priced at $3.00 and free shipping [Dec 26 2014] Important to Note


Notes from the same site for initial testing and connecting:

Experiments using a USB-Serial Cable. Before connecting to a microcontroller, it’s a good idea to use a USB-Serial cable (such as the inexpensive PL2303 USB-serial converter) to check out the basic functions of the module. Connect the PL2303 cable with ESP8266 according to the schematic above. Then open a serial monitor (such as gtkterms in Linux and putty in Windows) with 11520 baud rate (my ESP8266 seems to be set to 115200 bard rate; earlier versions use 57600). Then you can use a list of AT commands to talk to ESP8266. The AT commands are pretty well documented on this page. Below are some example input (shown in bold font) and output that show how to reset the module, list available WiFi networks, check the WiFi network it’s connected to, list IP address, and firmware version etc.

Note This item is not 5v tolerant. You must use at 3.3v.


    1. Support 802.11 B/G/N
    2. Communication range up to 100 yards depending on environment.
    3. Standard 3.3VDC operation with 5V compatible I/O.
    4. Standard 3 wire (TXD/RXD/GND) serial communication (idle high) at 115200/8/N/1.
    5. Standard 0.1″ (2.54mm) 4×2 header. (Other form factor available)
    6. Upgradeable firmware.
    7. Three mode of operations: Client/Access Point/Both Client and Access Point.
    8. Support all major security schemes: OPEN/WEP/WPA_PSK/WPA2_PSK/WPA_WPA2_PSK.
    9. Support both TCP and UDP communication.
    10. Working as TCP/UPD server supports up to five (5) connections.
    11. Working as station can connect up to 5 TCP/UPD servers. The ESP-01 can connect to all standard non-SSL websites in the world.


  1. GND – ground
  2. UTXD – serial transmit (idle high)
  3. URXD – serial receive (idle high)
  4. VCC – 3.3VDC
  5. CH_PD – must pull high or just connect to VCC
  6. RST – must pull high or just connect to VCC
  7. GPIO0 – must pull high or just connect to VCC
  8. GPIO2 – must pull high or just connect to VCCFirmwareThe 0.922 firmware here allows you to change the baud rate (default now 9600) which allows use with software serial which is a big help:

Lots of information about AT commands, Firmware, Testing, Pin Description

Arduino WatchDog
Information about the WatchDog Timer to possibly use as reset if it hangs
Separate Watch Dog Timer Post – as I need to implement this in some of my projects as well.

Sample Code Sample code updated as of Dec 14th 2014 (again this is NOT my code)