The ESP8266 is a system on a chip (SOC) Wi-Fi microchip for Internet of Things (IoT) applications produced by Espressif Systems.
Given its low cost, small size and adaptability with embedded devices, the ESP8266 is now used extensively across IoT devices. Although it’s now been succeeded by the newer generation ESP32 microcontroller chip, the ESP8266 is still a popular choice for IoT developers and manufacturers.
In this article, we’ll explain the main features of ESP8266 modules and development boards and their application within the world of IoT.
What is the ESP8266?
The ESP8266 module enables microcontrollers to connect to 2.4 GHz Wi-Fi, using IEEE 802.11 bgn. It can be used with ESP-AT firmware to provide Wi-Fi connectivity to external host MCUs, or it can be used as a self-sufficient MCU by running an RTOS-based SDK. The module has a full TCP/IP stack and provides the ability for data processing, reads and controls of GPIOs.
ESP8266 Specifications
This is based on the ESP-12 module, which we discuss below.
ESP8266 Functions
ESP8266 has many applications when it comes to the IoT. Here are just some of the functions the chip is used for:
- Networking: The module’s Wi-Fi antenna enables embedded devices to connect to routers and transmit data
- Data Processing: Includes processing basic inputs from analog and digital sensors for far more complex calculations with an RTOS or Non-OS SDK
- P2P Connectivity: Create direct communication between ESPs and other devices using IoT P2P connectivity
- Web Server: Access pages written in HTML or development languages.
ESP8266 Applications
The ESP8266 modules are commonly found in the following IoT devices:
- Smart security devices, including surveillance cameras and smart locks
- Smart energy devices, including HVACs and thermostats
- Smart industrial devices, including Programmable Logic Controllers (PLCs)
- Smart medical devices, including wearable health monitors
Chip versus Modules versus Development Boards
As discussed above, the ESP8266 is just the name of the chip. There are essentially three formats you can buy this in:
- ESP8266 Chip: This is the basic chip manufactured by Espressif, which comes unshielded and needs to be soldered onto a module. This is unsuitable for most users, apart from perhaps volume device manufacturers that can factor this into the production process under the unit cost of a module.
- ESP8266 Modules: These are the surface-mountable modules that contain the chip, which are ready to be mounted onto an MCU, produced by Espressif, Ai-Thinker and certain other manufacturers. They are usually shielded and pre-approved by the FCC for use. This means they’re a good option for device manufacturers looking to scale production.
- ESP8266 Development Boards: These are the complete IoT MCU development boards that have the modules preinstalled. They’re used for developers and manufacturers to create prototypes during the design stage, before they start production. Development boards are produced by several different manufacturers and the specifications differ between models. Some core specifications to be aware of when assessing ESP8266 IoT development board options include:
- GPIO pins
- ADC pins
- Wi-Fi antennas
- LEDs
- Shielding*
- Flash Memory
*Many international markets require shielded Wi-Fi devices, as Wi-Fi produces considerable Radio Frequency Interference (RFI), and shielding minimizes this interference. This should, therefore, be a key consideration for all developers and embedded-device manufacturers.
Manufacturers of Modules and Boards
Some of the largest manufacturers of ESP8266 modules and development boards are:
- Espressif
- Ai-Thinker
- WeMos
- Adafruit
- Olimex
ESP8266 Modules
-
Espressif Systems
The Espressif Systems esp8266 is available in the following modules:
Model | Antennae | Dimensions | GPIO & ADC Pins | Flash | LEDs | Shielded |
ESP-WROOM-02 | PCB trace | 18 × 20 | 18 | 2 MiB | No | Yes |
ESP-WROOM-02D | PCB trace | 18 × 20 | 18 | 2 MiB | No | Yes |
ESP-WROOM-02U | U.FL socket | 18 × 20 | 18 | 2 MiB | No | Yes |
ESP-WROOM-S2 | PCB trace | 16 × 23 | 20 | 2 MiB | No | Yes |
● Ai-Thinker
Current Ai-Thinker esp8266 modules are the following:
Model | Antennae | Dimensions | GPIO & ADC Pins | Flash | LEDs | Shielded |
ESP-01S | PCB trace | 14.4 × 24.7 | 6 | 1 MiB | Yes | No |
ESP-01M | PCB trace | 18 × 18 | 16 | 1 MiB | No | Yes |
ESP-07S | U.FL socket | 17 × 16 | 14 | 4 MiB | No | Yes |
ESP-08S | None | 17 × 16 | 10 | 4 MiB | No | Yes |
ESP-12F | PCB trace | 24 × 16 | 20 | 4 MiB | Yes | Yes |
ESP-12S | PCB trace | 24 × 16 | 14 | 4 MiB | Yes | Yes |
Older and discontinued models include: ESP-01, ESP-02, ESP-03, ESP-04, ESP-05, ESP-06, ESP-7, ESP-08, ESP-09, ESP-10, ESP-11, ESP-12, ESP-12E, and ESP-13 and ESP-14.
ESP8266 Development Boards/Dev Kits
● ESP8266 Opensource Community
Model | Antennae | Firmware | GPIO & ADC Pins | USB | Flash |
NodeMCU | PCB trace | Espressif Non-OS SDK, using Lua scripting language | 14 | USB to serial interface | 1 MiB |
● WeMos
Current WeMos boards are the following:
Model | Antennae | Firmware | GPIO & ADC Pins | USB | Flash |
D1 R2 | PCB trace | Compatible with MicroPython, Arduino, nodemcu | 12 | Micro-USB socket | 1 MiB |
D1 mini | PCB trace | Compatible with MicroPython, Arduino, nodemcu | 12 | Micro-USB socket | 4 MiB |
D1 mini Lite | PCB trace | Compatible with MicroPython, Arduino, nodemcu | 12 | Micro-USB socket | 1 MiB |
D1 mini Pro | Ceramic and U.FL socket | Compatible with MicroPython, Arduino, nodemcu | 12 | Micro-USB socket | 16 MiB |
● Adafruit
The current Adafruit 8266 board is the following:
Model | Antennae | Firmware | GPIO & ADC Pins | USB | Flash |
Huzzah ESP8266 Breakout | PCB trace | NodeMCU’s Lua interpreter or Arduino IDE | 14 | USB to serial interface | 1 MiB |
● Olimex
The current Olimex 8266 boards are the following:
Model | Antennae | GPIO & ADC Pins | USB | Flash |
MOD-WIFI-ESP8266 | PCB trace | 2 | USB to serial interface | 2 MiB |
MOD-WIFI-ESP8266-DEV | PCB trace | 20 | USB to serial interface | 2 MiB |
SDKs
There is now a wide range of software development kits (SDKs) available, enabling developers to program the chip directly without using a separate MCU.
Espressif provides two official SDKs for use with ESP8266, which are:
Aside from the Espressif options, there are plenty of commercial and open-source SDKs on the market, including:
- ESP Arduino Core – C++ based firmware
- ESP8266 BASIC – Open-source BASIC-like environment for IoT
- ESP-Open-RTOS – FreeRTOS open-source framework for ESP8266
- ESP-Open-SDK – Open integrated SDK for ESP8266
- Espruino – Javascript SDK and firmware
- Micropython – Python for embedded devices
- Moddable SDK – Javascript SDK
- Mongoose OS – C or Javascript open-source OS
- NodeMCU – Open-source Lua based firmware, similar to Node.js
- Sming – Asynchronous C/C++ framework
- uLisp – Lisp-based framework
- ZBasic – Visual Basic 6 adapted for ESP8266
- Zerynth – Python framework for IoT
Which is the best ESP8266 Module or Development Board for IoT?
As the above comparisons show, there are many options available with ESP8266 IoT boards and modules. To help you with your decision making, we’ve summarized some of the most popular below.
Popular ESP8266 Modules

Ai-Thinker ESP-01
The ESP-01 is one of the biggest selling IoT Wi-Fi modules on the market. It’s widely used in smart home and networking projects.
The default AT firmware enables it to be used in combination with an Arduino. However, you can easily update the firmware with a USB-to-ESP-01 adaptor module.
A common complaint with this board is that the pin posts make it difficult to plug it directly into a breadboard, but this can be easily overcome by building or buying an adaptor module.
There are two versions available, one with 500kb of flash and the other with 1Mbit of flash.

Ai-Thinker ESP-05
This module was developed to provide Wi-Fi connectivity for MCUs such as Raspberry Pi and PIC and other Wi-Fi projects. It, therefore, does not have GPIOS.
It fits into a breadboard without any problems, but there are some complaints about being stuck with the factory set firmware unless you’re prepared to do some serious modifications.

Ai-Thinker ESP-12
This is a more fully featured module with 11 GPIO pins, an ADC, 4Mbits of flash, and 10-bit resolution. However, the module is not breadboard friendly, meaning you’ll need to use an adaptor.
There are two versions available, ESP-12F, which has 20 GPIOS and ESP-12S, which has 14.
Popular ESP8266 Boards

Espressif NodeMCU module V1.0
This board has the ESP-12E module and comes with 4 Mbits of flash and features a row of pins on each side of the breadboard. The board comes with four communication interfaces: SPI, I2C, UART, and I2S, with 16 GPIO and one ADC. The RAM is 160KB, divided into 64KB for instruction and 96KB for data.

Adafruit Huzzah ESP8266 Breakout
This microcontroller operates at a logic level of 3.3V and is clocked at 80MHz. It comes programmed with the Lua Interpreter, which makes programming simple, with no boot loading required. Alternatively, you can use the Arduino IDE to program it.
There is an onboard CP2104 USB-to-serial converter, therefore you can simply plug it into your computer and upload your code. The board is also lightweight and small, so it’s useful for projects with space constraints.

WeMos D1 Mini
The WeMos D1 Mini was designed to be one of the smallest possible development boards for the ESP8266 module. It has a micro USB connection and compatibility with several firmware options.
Read Our Other Resources
We’ve published a range of IoT resources for our community, including:
- How to set up an ESP8266 Wi-Fi module using the Nabto server peer-to-peer connection.
- A complete Guide to Microcontrollers for IoT, which explains all your options when it comes to choosing an MCU for your project.
- How to Make a Low-Cost ESP32-Based Remote-Accessible Camera Using ESP32-CAM or ESP32-EYE Board, which shows how you can create a security camera and enable remote accessibility via the Nabto platform.