ESP8266

a microcontroller that implements an entire wifi network stack. can serve as a client, a server and even an access point.

things are moving fast

this document was written with ESP-12E in mind although as far as documentation goes all firmware versions should run on all hardware version

specs

ESP8266EX Datasheet

dev (evaluation) boards

basic Connectivity

Current can spike above 300mA so use an external power supply!

using ESP8266 - two methods

AT Command Set (original firmware)

custom firmware

working with the AT command Set

The AT commands

<example>

Pyesp8266 (Guy Zyskind) - Python code for wrapping serial AT commands

WeeESP8266 - arduino library for wrapping serial AT commands

custom firmware

restoring the AT command set firmware

To get into boot loader mode set the following pins:

GPIO 0: LOW

GPIO 2: HIGH

GPIO 15: LOW

(if you’re using the huzzah board just press the reset button while pressing the GPIO10 button, let go of the reset button and then let go of the GPIO10 button. the red led should be lit but dimmed).

When in bootloader mode run the following:

$ sudo esptool.py -p <serial_port> write_flash 0x000000 v0.9.2.2_at_firmware.bin

advice for using esp8266 for IoT devices:

Resources