ESP8266


The ESP8266 is a low-cost Wi-Fi microchip, with a full TCP/IP stack and microcontroller capability, produced by Espressif Systems in Shanghai, China.
The chip first came to the attention of Western makers in August 2014 with the ESP-01 module, made by a third-party manufacturer Ai-Thinker. This small module allows microcontrollers to connect to a Wi-Fi network and make simple TCP/IP connections using Hayes-style commands. However, at first there was almost no English-language documentation on the chip and the commands it accepted. The very low price and the fact that there were very few external components on the module, which suggested that it could eventually be very inexpensive in volume, attracted many hackers to explore the module, the chip, and the software on it, as well as to translate the Chinese documentation.
The ESP8285 is an ESP8266 with 1 MiB of built-in flash, allowing the building of single-chip devices capable of connecting to Wi-Fi.
The successor to these microcontroller chips is the ESP32, released in 2016.

Features

The pinout is as follows for the common ESP-01 module:
  1. VCC, Voltage
  2. GND, Ground
  3. RX, Receive data bit X
  4. TX, Transmit data bit X
  5. CH_PD, Chip power-down
  6. RST, Reset
  7. GPIO 0, General-purpose input/output No. 0
  8. GPIO 2, General-purpose input/output No. 2

    SDKs

In October 2014, Espressif Systems released a software development kit for programming the chip directly, which removed the need for a separate microcontroller. Since then, there have been many official SDK releases from Espressif; Espressif maintains two versions of the SDK — one that is based on FreeRTOS and the other based on callbacks.
An alternative to Espressif's official SDK is the open-source ESP-Open-SDK that is based on the GNU Compiler Collection toolchain, maintained by Max Filippov. Another alternative is the "Unofficial Development Kit" by Mikhail Grigorev.
Other SDKs, mostly open-source, include:
This is the series of ESP8266-based modules made by Espressif:
NameActive pinsPitchForm factorLEDsAntennaShieldedDimensions Notes
181.5 mm2×9 castellatedPCB trace18 × 20FCC ID 2AC7Z-ESPWROOM02.
181.5 mm2×9 castellatedPCB trace18 × 20FCC ID 2AC7Z-ESPWROOM02D. Revision of ESP-WROOM-02 compatible with both 150-mil and 208-mil flash memory chips.
181.5 mm2×9 castellatedU.FL socket18 × 20Differs from ESP-WROOM-02D in that includes an U.FL compatible antenna socket connector.
201.5 mm2×10 castellatedPCB trace16 × 23FCC ID 2AC7Z-ESPWROOMS2.

In the table above, "Active pins" include the GPIO and ADC pins with which external devices can be attached to the ESP8266 MCU. The "Pitch" is the space between pins on the ESP8266 module, which is important to know if the device will be used on a breadboard. The "Form factor" also describes the module packaging as "2 × 9 DIL", meaning two rows of 9 pins arranged "Dual In Line", like the pins of DIP ICs. Many ESP-xx modules include a small on-board LED which can be programmed to blink and thereby indicate activity. There are several antenna options for ESP-xx boards including a trace antenna, an on-board ceramic antenna, and an external connector which allows an external Wi-Fi antenna to be attached. Since Wi-Fi communications generates a lot of RFI, governmental bodies like the FCC like shielded electronics to minimize interference with other devices. Some of the ESP-xx modules come housed within a metal box with an FCC seal of approval stamped on it. First and second world markets will likely demand FCC approval and shielded Wi-Fi devices.

Ai-Thinker modules

This is the first series of modules made with the ESP8266 by the third-party manufacturer Ai-Thinker and remains the most widely available. They are collectively referred to as "ESP-xx modules". To form a workable development system they require additional components, especially a serial TTL-to-USB adapter and an external 3.3 volt power supply. Novice ESP8266 developers are encouraged to consider larger ESP8266 Wi-Fi development boards like the NodeMCU which includes the USB-to-UART bridge and a Micro-USB connector coupled with a 3.3 volt power regulator already built into the board. When project development is complete, those components are not needed and these cheaper ESP-xx modules are a lower power, smaller footprint option for production runs.
In the Notes column, Flash memory sizes apply to the given module and all those below it in the table. Exceptions which apply to a single module are shown in.
NameActive pinsPitchForm factorLEDsAntennaShieldedDimensions Notes
ESP-0160.1 in2×4 DILPCB trace14.3 × 24.8512 KiB Flash and blue PCB from a generic manufacturer. 1 MiB Flash, AI-Cloud and black PCB from AI-Thinker.
ESP-01S60.1 in2×4 DILPCB trace14.4 × 24.71 MiB Flash
161.6 mm2×9 edge connectorPCB trace18.0 × 18.0Uses ESP8285.
ESP-0260.1 in2×4 castellatedU.FL socket14.2 × 14.2
ESP-03102 mm2×7 castellatedCeramic17.3 × 12.1
ESP-04102 mm2×4 castellated-14.7 × 12.1
ESP-0530.1 in1×5 SILU.FL socket14.2 × 14.2
ESP-0611various4×3 dice-14.2 × 14.7Not FCC approved.
ESP-07142 mm2×8 pinholeCeramic + U.FL socket20.0 × 16.0Not FCC approved.
ESP-07S142 mm2×8 pinholeU.FL socket17.0 × 16.0FCC and CE approved.
ESP-08102 mm2×7 castellated-17.0 × 16.0Not FCC approved.
ESP-0910various4×3 dice-10.0 × 10.0
ESP-1032 mm1×5 castellated-14.2 × 10.0
ESP-1161.27 mm1×8 pinholeCeramic17.3 × 12.1
ESP-12142 mm2×8 castellatedPCB trace24.0 × 16.0FCC and CE approved.
ESP-12E202 mm2×8 castellatedPCB trace24.0 × 16.04 MiB flash.
ESP-12F202 mm2×8 castellatedPCB trace24.0 × 16.0FCC and CE approved. Improved antenna performance.
ESP-12S142 mm2×8 castellatedPCB trace24.0 × 16.0FCC approved.
ESP-13161.5 mm2×9 castellatedPCB traceW18.0 × L20.0Marked as "FCC". Shielded module is placed sideways, as compared to the ESP-12 modules.
ESP-14222 mm2×8 castellated +6PCB trace24.3 × 16.2Mostly advertised with "AI Cloud Inside".

Other boards

The reason for the popularity of many of these boards over the earlier ESP-xx modules is the inclusion of an on-board USB-to-UART bridge and a Micro-USB connector, coupled with a 3.3-volt regulator to provide both power to the board and connectivity to the host computer – commonly referred to as the console, making it an easy development platform. With earlier ESP-xx modules, these two items had to be purchased separately and be wired into the ESP-xx circuit. Modern ESP8266 boards like the NodeMCU are easier to work with and offer more GPIO pins. Most of the boards listed here are based on the ESP-12E module, but new modules are being introduced seemingly every few months.
NameActive pinsPitchForm factorLEDsAntennaShieldedDimensions Notes
Bolt IoT140.1 in2×14 DILPCB trace30 × 40Comes with an onboard SD card and features like Lib-Discovery and Fail Safe Mode. Has its own cloud for IoT.
Olimex MOD-WIFI-ESP826620.1 inUEXT modulePCB traceOnly RX/TX are connected to UEXT connector.
Olimex MOD-WIFI-ESP8266-DEV200.1 in2×11 DIL + castellatedPCB trace33 × 23All available GPIO pins are connected, also has pads for soldering UEXT connector.
NodeMCU DEVKIT140.1 in2×15 DILPCB trace49 × 24.5Uses the ESP-12 module; includes USB to serial interface.
Adafruit Huzzah ESP8266 breakout140.1 in2×10 DILPCB trace25 × 38Uses the ESP-12 module.
SparkFun ESP8266 Thing WRL-13231120.1 in2×10 DILPCB trace + U.FL socket58 × 26FTDI serial header, Micro-USB socket for power, includes Li-ion battery charger.
KNEWRON Technologies smartWIFI120.1 in2×20 DIL 1 RGBPCB trace25.4 × 50.8CP2102 USB bridge, includes battery charger, micro-USB socket for power and battery charging, 1 RGB LED and USER / Reflash button.
ArduCAM ESP8266 UNO12+0.1 inArduino UnoPCB trace53.4 × 68.6Uses the AI Thinker's ESP8266MOD module and features Micro-USB port, Battery pins, Camera pins and uSD card all on the same board. Fully compatible with Arduino Uno shields.
DoIT ESPduino120.1 inArduino UnoPCB trace53.4 × 68.6Uses the ESP-WROOM-02 module and USB Type B port. Fully compatible with Arduino Uno shields.
WeatherPlus - SwitchDoc Labs26+Grove0.1 inCustomPCB trace86.0 × 50.0Uses the AI Thinker Model ESP8266MOD module and FTDI for Programming and Mini-USB port for power. Fully compatible with Adafruit Huzzah software. Includes BMP280 Barometer, ADS1115 and Grove I2C connectors. Plugs for Anemometer/Wind Vane/Rain Bucket.
WeMos D1120.1 inArduino UnoPCB trace53.4 × 68.6Uses the ESP-12F module and Micro-USB socket. Discontinued in favor of WeMos D1 R2.
WeMos D1 R2120.1 inArduino UnoPCB trace53.4 × 68.6Uses ESP-12F module and has Micro-USB socket.
WeMos D1 mini120.1 in2×8 DILPCB trace25.6 × 34.2Uses ESP-12S module and has Micro-USB socket.
WeMos D1 mini Lite120.1 in2×8 DILPCB trace25.6 × 34.2Based on the ESP8285, an ESP8266 with 1 MiB flash built-in; has Micro-USB socket.
WeMos D1 mini Pro120.1 in2×8 DILCeramic and U.FL socket25.6 × 34.2Uses ESP8266EX chip; has Micro-USB socket, U.FL antenna connector, and 16 MiB flash.
ESPert ESPresso Lite160.1 in2×8 DILPCB trace26.5 × 57.6Uses the ESP-WROOM-02 module. Produced in limited quantity as beta version.
ESPert ESPresso Lite V2.0240.1 in2×10 DILPCB trace28 × 61Improved version of ESPresso Lite.
In-Circuit ESP-ADC180.1 in2×9 DILU.FL socket22.9 × 14.9Uses ESP8266EX chip.
Watterott ESP-WROOM02-Breakout140.1 in2×10 DILPCB trace40.64 × 27.94Uses the Espressif ESP-WROOM-02 module.
Geek Wave Solution IOT WROOM-02 Dev. Board200.1 inPCB trace93.80 × 80.02Development board with Espressif ESP-WROOM-02 module and four relays.
Witty 2-piece board200.1 inPCB trace?Development board with Espressif ESP8266 ESP-12E and separate board for CH340G USB interface.