ESP8266 Wi-Fi Module : Pin Configuration & Its Applications

In 2014, an ESP8266 Wi-Fi module was introduced and developed by third-party manufacturers like AI thinkers, which is mainly utilized for IoT-based embedded applications development. It is capable of handling various functions of the Wi-Fi network from another application processor.


It is a SOC (System On-chip) integrated with a TCP/IP protocol stack, which can provide microcontroller access to any type of Wi-Fi network. This article deals with the pin configuration, specifications, circuit diagram, applications, and alternatives of the ESP8266 Wi-Fi module.

What is the ESP8266 Wi-Fi Module?

An ESP8266 Wi-Fi module is a SOC microchip mainly used for the development of end-point IoT (Internet of things) applications. It is referred to as a standalone wireless transceiver, available at a very low price. It is used to enable the internet connection to various applications of embedded systems.

ESP8266 Wi-Fi Module
ESP8266 Wi-Fi Module

Espressif systems designed the ESP8266 Wi-Fi module to support both the TCP/IP capability and the microcontroller access to any Wi-Fi network. It provides the solutions to meet the requirements of industries of IoT such as cost, power, performance, and design.

It can work as either a slave or a standalone application. If the ESP8266 Wi-Fi runs as a slave to a microcontroller host, then it can be used as a Wi-Fi adaptor to any type of microcontroller using UART or SPI. If the module is used as a standalone application, then it provides the functions of the microcontroller and Wi-Fi network.

The ESP8266 Wi-Fi module is highly integrated with RF balun, power modules, RF transmitter and receiver, analog transmitter and receiver, amplifiers, filters, digital baseband, power modules, external circuitry, and other necessary components. The ESP8266 Wi-Fi module is a microchip shown in the figure below.

A set of AT commands are needed by the microcontroller to communicate with the ESP8266 Wi-Fi module. Hence it is developed with AT commands software to allow the Arduino Wi-Fi functionalities, and also allows loading various software to design the own application on the memory and processor of the module.

The processor of this module is based on the Tensilica Xtensa Diamond Standard 106 micro and operates easily at 80 MHz. There are different types of ESP modules designed by third-party manufacturers. They are,

  • ESP8266-01 designed with 8 pins (GPIO pins -2)
  • ESP8266-02 designed with 8 pins (GPIO pins -3)
  • ESP8266-03 designed with 14 pins ( GPIO pins- 7)
  • ESP8266-04 designed with 14 pins (GPIO pins- 7)

The ESP8266 Wi-Fi module comes with a boot ROM of 64 KB, user data RAM of 80 KB, and instruction RAM of 32 KB. It can support 802.11 b/g/n Wi-Fi network at 2.4 GHz along with the features of I2C, SPI, I2C interfacing with DMA, and 10-bit ADC. Interfacing this module with the microcontroller can be done easily through a serial port. An external voltage converter is required only if the operating voltage exceeds 3.6 Volts. It is most widely used in robotics and IoT applications due to its low cost and compact size.

Pin Configuration/Pin Diagram

The ESP8266 Wi-Fi module pin configuration/pin diagram is shown in the figure below. The ESP8266-01 Wi-Fi module runs in two modes. They are;

Pin Configuration of ESP8266
Pin Configuration of ESP8266

Flash Mode: When GPIO-0 and GPIO-1 pins are active high, then the module runs the program, which is uploaded into it.

UART Mode: When the GPIO-0 is active low and GPIO-1 is active high, then the module works in programming mode with the help of either serial communication or Arduino board.

ESP8266 Wi-Fi Module Specifications

The ESP8266 Wi-Fi module specifications or features are given below.

  • It is a powerful Wi-Fi module available in a compact size at a very low price.
  • It is based on the L106 RISC 32-bit microprocessor core and runs at 80 MHz
  • It requires only 3.3 Volts power supply
  • The current consumption is 100 m Amps
  • The maximum Input/Output (I/O) voltage is 3.6 Volts.
  • It consumes 100 mA current
  • The maximum Input/Output source current is 12 mA
  • The frequency of built-in low power 32-bit MCU is 80 MHz
  • The size of flash memory is 513 kb
  • It is used as either an access point or station or both
  • It supports less than 10 microAmps deep sleep
  • It supports serial communication to be compatible with several developmental platforms such as Arduino
  • It is programmed using either AT commands, Arduino IDE, or Lua script
  • It is a 2.4 GHz Wi-Fi module and supports WPA/WPA2, WEP authentication, and open networks.
  • It uses two serial communication protocols like I2C (Inter-Integrated Circuit) and SPI ( Serial Peripheral Interface).
  • It provides 10- bit analog to digital conversion
  • The type of modulation is PWM (Pulse Width Modulation)
  • UART is enabled on dedicated pins and for only transmission, it can be enabled on GPIO2.
  • It is an IEEE 802.11 b/g/n Wi-Fi module with LNA, power amplifier, balun, integrated TR switch, and matching networks.
  • GPIO pins – 17
  • Memory Size of instruction RAM – 32 KB
  • The memory size of instruction cache RAM – 32 KB
  • Size of User-data RAM- 80 KB
  • Size of ETS systems-data RAM – 16 KB

Circuit Diagram/How to Use?

There are several techniques and IDEs are available by using ESP8266 Wi-Fi modules. The Arduino IDE is the most commonly used technique. Now, let’s learn the working of the Arduino IDE using the ESP8266 Wi-Fi module. The circuit diagram/how to use the Arduino IDE or FTDI device is illustrated in the below figure.

Circuit Diagram of ESP8266 Module
Circuit Diagram of ESP8266 Module

The power supply required for the ESP8266 module is only 3.3 Volts. If it is more than 3.7 Volts, then the module gets damaged, and this leads to circuit failure. Hence it is necessary to program the ESP-01 Wi-Fi module by using either Arduino board or FTDI device, which supports the programming 3.3 Volts supply. It is recommended for the user to buy either one FTDI device or an Arduino board.

The most common issue with the ESP-01 module is the powering up issue. The 3.3 Volts pin on the Arduino board is used to power up this module or simply we can use the potential divider. So, to provide a minimum current of 500 mA, the voltage regulator that supports 3.3 Volts is mandatory. The LM317 voltage regulator does this work very easily and effectively.

The programming switch SW2 is pressed to connect the GPIO-0 pin to the GND (Ground). This is the programming mode to upload the code by the user. After uploading the code, the switch is released.

Where to Use/Applications of ESP8266 Wi-Fi Module

The applications of the ESP8266 Wi-Fi module are given below

  • Access points portals
  • IoT projects
  • Wireless data logging
  • Used in learning the networking fundamentals
  • Sockets and smart bulbs
  • Smart home automation systems

The ESP32 is an alternative ESP8266 Wi-Fi module. It is a standalone and most powerful module.

Thus, this is all about an overview of the ESP8266 Wi-Fi module datasheet – definition, pin configuration, specifications, circuit diagram/How to use, where to use/applications, and its alternatives. The ESP8266 Wi-Fi module is a User-friendly module because it can be programmed with the help of Arduino IDE. This module can also be used to build ESP8266 wifi module projects. The other standalone modules like ESP-12 and ESP-32 are also commonly used for IoT applications development and to achieve internet connection to the project. Here is a question for you, “What are the advantages of the ESP8266 Wi-Fi module? “