The ESP8266 WiFi module is a popular choice for IoT projects, as it provides WiFi connectivity to embedded devices.
However, in order to decide whether or not the ESP8266 module is the right choice for your project, you need to understand the module’s features and common application scenarios, which I’ll discuss in this article.
What exactly is the ESP8266 WiFi Module?
The ESP8266 WiFi module is a powerful, yet cost-effective, surface-mountable WiFi module with an embedded ESP8266 system on chip (SoC). It’s one of the most popular low-cost ($4.00 to $10.00) WiFi modules for controlling devices over the internet.
The module has a wireless WiFi transceiver operating in an unlicensed frequency range of 2400-2484 MHz in the IEEE 802.11 b/g/n standard, with support for TCP/IP communication protocol stack and WiFi security including WAP3. It can work with firmware to provide Wi-Fi connectivity to external host MCUs like the Arduino or as self-sufficient programmable MCUs with an RTOS-based SDK that can run applications.
Read our Guide to ESP8266 for IoT for a detailed explanation of the differences between the chip, modules and development board variants of the ESP8266.
Further, it’s capable of onboard data processing, integrating with sensors and other applications through GPIOs. These are a series of modules produced by Espressif, Ai-Thinker and certain other manufacturers with specific models such as the ESP-WROOM-02, ESP-01, and ESP8266 Wireless Transceiver.
ESP8266 WiFi Module Features
- A superior RF performance with RF, green and reliability certifications
- High integration with antenna switches, amplifiers, filters, RF balun, PLLs, regulators, DCXO and power management modules in-built at the SoC level
- Some modules like ESP8266EX have integrated low power 32-bit RISC processor that can even reach a maximum clock speed of 160MHz
- Internal 96 KiB of data RAM, 64 KiB of instruction RAM, and external QSPI flash memory of 512 KiB up to 16 MiB is supported
- Excellent performance with up to 80% of the processing power available for user application programming and development
- Out-of-the-box cloud connectivity with Wi-Fi Direct (P2P) and soft-AP
- Wake up and transmit packets in less than 2ms with a standby power consumption of under 1mW (DTIM3) and power down leakage current of not more than 10 μA
- Supports APSD for VoIP applications; space-time block codes (STBC); 1×1 MIMO, 2×1 MIMO configurations; SDIO 1.1 / 2.0, SPI, I2C, UART, I²S interfaces with DMA; A-MPDU & A-MSDU aggregation
- It is important to note that the ESP8266 maximum working voltage is 3.6V. Therefore, do not power it directly from your 5V dev board or PC serial port. It is not capable of logic shifting 5V to 3V and requires an external logic level converter. There are ESP8266 WiFi module adaptors that come with an onboard logic level converter and regulator for easy interfacing to Arduino boards.
ESP8266 Module Variants
The first ESP8266 WiFi module was manufactured by the Chinese company Espressif. Later, it was made popular in the rest of the world by a third-party manufacturer Ai-Thinker. Today, there are various ESP8266 modules from different manufacturers available on the market.
Therefore, it’s important to check each module’s datasheet to know the complete specification of antennas, pinout distributions, GPIOs and other characteristics for differentiation. Here’s a summary of the most popular modules that are available from Ai-Thinker.
- ESP-01: The ESP-01 is a WiFi serial transceiver module, and its parameters can be set by AT commands. This module comes in two types:
- ESP-01S – has a dimension of 14.4 x 24.7 millimeters with 6 GPIO and ADC pins; 1MiB flash memory
- ESP-01M – has a dimension of 18 x 18 millimeters with 16 GPIO and ADC pins; 1MiB flash memory
- ESP-07S: This module is a low power 32-bit MCU clocked to support 80 MHz and 160 MHz with a full WiFi front-end and supports the IEEE 802.11 b/g/n protocol with a complete TCP/IP protocol stack. It has a dimension of 17 x 16 millimeters with one UFL antennae connector; 14 GPIO and ADC pins; 4MiB flash memory.
- ESP-12F: ESP-12F has similar features of ESP-07S with some minor differences in the dimension of 24 x 16 millimeters, PCB trace antennae and 20 GPIO and ADC pins.
What can you do with an ESP8266?
The possibilities are endless with innumerable applications across various domains. Here are some of the most common utilities of this module:
- First and foremost, it’s widely used in IoT applications to control the devices over the internet.
- In data management mode, the module reads data from analog or digital sensors and manages what to do with it, ranging from delivering data based on data type to processing it as per the program. Further, it can easily transfer data with the router using integrated WiFi technology and built-in stack.
- Using this module, we can connect to any available network or create a P2P net mesh.
- This module allows us to create a web server and access a page written in HTML or any other supported language.
- These modules can even work as access points. They can directly communicate in a P2P communication or access it with a computer, smartphone or whatever device that can directly connect with ESP8266 without a need of an external network.
Though this is not a complete list, some of the main application areas of ESP8266 WiFi modules are listed below.
- Home and business automation
- Smart security, such as remote access and monitoring of sensors
- Locate device via WiFi
- Wearable electronics
- Security tags
- Smart cameras
Advantage of ESP8266 over other competitors like Arduino
The main advantage is the embedded wireless technology that is web friendly with no use of shields or any peripherals, as is required for Arduinos. The price and size are the USP of the module with the added advantage of good speed and processing power. Arduinos are approximately 10 times more expensive and much larger than ESP with comparable processing powers.
How to choose your ESP8266 WiFi module?
It’s quite easy to get lost with all the choices available from different manufacturers. Therefore, always choose an ESP8266 WiFi module that satisfies the project or application requirements.
For small projects that do not require a lot of I/O pins, it’s practical to choose a module like ESP-01 that has fewer GPIOs. ESP-01 modules are perfectly suited for projects like a smart switch for a room, as they only need one or two GPIOs. Therefore, it is economical to use ESP-01 instead of ESP-12 or NODE MCU dev boards with 11GPIOs or Wemos.
For projects that require reproduction of the circuits and to produce an end product, then ESP-12F is preferred. However, ESP-12F is not practical to use at the development stage of a project. However, it is, of course, difficult to generalize and depends on many factors like availability, cost, perception and others. Therefore, it’s always better to make a well-informed personal choice according to specific requirements.
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 choose the best RTOS for IoT devices, which explains what you need to consider when making your choice.