802.11 b/g/n protocol
Wi-Fi Direct (P2P), soft-AP
Integrated TCP/IP protocol stack
Integrated TR switch, balun, LNA, power amplifier and matching network
Integrated PLL, regulators, and power management units
+19.5dBm output power in 802.11b mode
Integrated temperature sensor
Supports antenna diversity
Power down leakage current of < 10uA>
Integrated low power 32-bit CPU could be used as application processor
SDIO 2.0, SPI, UART
STBC, 1×1 MIMO, 2×1 MIMO
A-MPDU & A-MSDU aggregation & 0.4ms guard interval
Wake up and transmit packets in < 2ms>
Standby power consumption of < 1.0mW (DTIM3)
Hackers were pretty excited when this chipset first came out from Espressif, as it had a great feature set for very little money, and much effort has been put into supporting it, including plug-ins for the Arduino development system. Now, the ESP8266 is a well-respected module usable on any hacker's bench. You can flash it to fill different roles, with the default acting much like an old style AT-command set modem, and another mode that lets it load and run Arduino code. Set it up as a micro web server/access point. Pretty impressive!
Although there are 14+ versions of the AI-Thinker series of wifi microcontrollers featuring the ESP8266, the ESP-01 holds the distinction of being prized for it's a great combination of size, price, and functionality. The caveat to using such an inexpensive module is that there are some limitations to be aware of, like the weird 2x8 row of headers that make it breadboard-unfriendly, the lack of any voltage regulation, and the inability to talk 5V I/O.
So what can you load onto it? There's a few versions of firmware that you can load onto them, like:
The default AI-Thinker firmware
ARDUINO. This is a very robust implementation of the Arduino feature set, so you can move Arduino code to a ESP8266!
NodeMCU - a very popular firmware that gives pretty much full access to the microcontroller and wifi functions. Runs "Lua" scripts.
MicroPython (stripped down python 3)
Official Espressif (the manufacturer of the chipset). They provide a nice tool for flashing the firmware.
ESP8266 BASIC. Turns it into an access point, and lets you run BASIC programs from a web browser.
The ESP8266 WiFi Module is a self-contained SOC with integrated TCP/IP protocol stack that can give any microcontroller access to your WiFi network. The ESP8266 is capable of either hosting an application or offloading all Wi-Fi networking functions from another application processor. Each ESP8266 module comes pre-programmed with an AT command set firmware, meaning, you can simply hook this up to your Arduino device and get about as much WiFi-ability as a WiFi Shield offers (and that’s just out of the box)! The ESP8266 module is an extremely cost-effective board with a huge, and ever growing, community.
This module has a powerful enough on-board processing and storage capability that allows it to be integrated with the sensors and other application specific devices through its GPIOs with minimal development up-front and minimal loading during runtime. Its high degree of on-chip integration allows for minimal external circuitry, including the front-end module, is designed to occupy minimal PCB area. The ESP8266 supports APSD for VoIP applications and Bluetooth co-existance interfaces, it contains a self-calibrated RF allowing it to work under all operating conditions, and requires no external RF parts.
There is an almost limitless fountain of information available for the ESP8266, all of which has been provided by amazing community support. In the Documents section below you will find many resources to aid you in using the ESP8266, even instructions on how to transforming this module into an IoT (Internet of Things) solution!
Note: The ESP8266 Module is not capable of 5-3V logic shifting and will require an external Logic Level Converter. Please do not power it directly from your 5V dev board. This new version of the ESP8266 WiFi Module has increased the flash disk size from 512k to 1MB.