blog.hirnschall.net
home

Contents

Subscribe for New Projects

Introduction

In recent years the ESP8266 has become one of my go-to choices for smart home/IoT devices or projects requiring WiFi. It is cheap (around $1.5 on Amazon)1, has WiFi, and can be programmed using the Arduino IDE, making it an easy replacement for Arduinos if we need WiFi connectivity.

This post concentrates on the technical specifications of different ESP8266 modules and the minimal circuit required to use each ESP module. It is part of a complete ESP8266 reference you can find here.

Technical Specification

The information in this chapter is primarily taken from the datasheets of the different modules [8,9,10,11,12].

Power:

Memory:

Connectivity:

ESP-01 and ESP-1

The ESP-01 and ESP-1 modules are among the cheapest options. They feature eight exposed pins (2.54mm pin header), of which only two are usable GPIO pins. The modules differ in the following way:

Module Flash memory LEDs Other
AI-Thinker ESP-01 512kB (blue) or 1MB (black) Power (red), GPIO2 (green)
AZ-Delivery ESP-01S 1MB GPIO2 (blue) additional pull-up resistor on EN pin
DOIT ESP-1 (ESP82855) 1MB TxD (blue)
Table 2.1: ESP-01, ESP-01S and ESP-1 modules compared

Minimal Circuit

The minimal circuit required to run an ESP-01 is shown in Fig. 2.1 below. Pins 2, 4, and 6 need to be connected to VCC, while pin 7 has to be connected to ground. Pulling pin 3 low during boot enables the firmware upload mode. As always, a decoupling capacitor is placed close to the microcontroller.
esp8266 esp-01 minimal standalone circuit diagram scetch
Figure 2.1: ESP-01 minimal circuit

Pinout

Pin No. Name Description Behavior on boot
1 GPIO3 (RxD) Serial input/GPIO pulled high
2 VCC +3.3V, uses up to 430mA pulled high
3 GPIO0 low on boot to enter programming mode, high or floating for normal boot
4 RESET low to reset, see Fig. 2.2
5 GPIO2 (TxD1) normal gpio serial output, not allowed to be low
6 CHIP_EN high to enable chip, low to shut down
7 GND ground
8 GPIO1 (TxD) serial output or normal gpio serial output, not allowed to be low
Table 2.2: ESP-01, ESP-01S and ESP-1 pin names and behavior on boot

Reset Pin differences

Furthermore, the modules differ slightly in how the reset pin circuit is realized. Figure 2.2 below shows how the module's pin 1 (labeled "1") is connected to the ESP8266's reset pin (labeled "RST").

esp8266 esp-01 reset pin circuit diagram scetch
(a) ESP-01 blue
esp8266 esp-01 reset pin circuit diagram scetch
(b) ESP-01 black
esp8266 esp-01s reset pin circuit diagram scetch
(c) ESP-01S and ESP-1
Figure 2.2: ESP-01, ESP-01S and ESP-1 reset pin comparison [1]

ESP-07 and ESP-12

In contrast to the ESP-01 module, the ESP-07 and ESP-12 modules have additional flash memory and more exposed pins. While the ESP-07 has 16 exposed pins, the ESP-12E and F modules have 22 pins, of which six are unusable.

Module Flash memory LEDs Other
ESP-07 1MB Power (red), GPIO2 (blue) Built in ceramic antenna, external antenna can be used (remove capacitor!)
ESP-07S 1MB no LEDs requires external antenna
ESP-12S 4MB GPIO2 (blue) built in antenna only
ESP-12E ESP-12F 4MB GPIO2 (blue) built in antenna only
6 additional, unusable, pins
Table 2.3: ESP-07 and ESP-12 modules compared

Minimal Circuit

Although the minimal circuit required to run the ESP-07 and ESP-12E/F is similar to ESP-01's, the pinout has changed. Pins 1, 3, and 8 need to be connected to VCC, while pin 7 has to be connected to ground. Additionally, pin 16 (gpio15) has to be pulled LOW during boot. Pulling pin 18 (gpio0) low during boot enables the firmware upload mode. Again, a decoupling capacitor is placed close to the microcontroller.

esp8266 esp-12, esp-07 minimal standalone circuit diagram scetch
Figure 2.3: ESP-07 and ESP-12 minimal circuit

Pinout

Pin No. Name Description Behavior on boot
1 RESET low to reset, see Fig. 2.4
2 ADC analog input, 0-1V
3 CHIP_EN high to enable chip, low to shut down
4 GPIO16 gpio (no PWM), wakeup timer output when using deep sleep emits high pulse
5 GPIO14 (SCK) normal gpio or serial clock (SPI) pulled high
6 GPIO12 (MISO) normal gpio or master input slave output (SPI) pulled high
7 GPIO13 (MOSI) normal gpio or master output slave input (SPI) pulled high
8 VCC +3.3V, uses up to 430mA pulled high
9 already used to connect to built-in flash memory
10
11
12
13
14
15 GND ground
16 GPIO15 (CS) normal gpio or chip select (SPI) has to be pulled low
17 GPIO2 (TxD1) normal gpio, connected to blue LED (illuminate on low) serial output, not allowed to be low
18 GPIO0 low on boot to enter programming mode, high or floating for normal boot
19 GPIO4 normal gpio
20 GPIO5 normal gpio
21 GPIO3 (RxD) Serial input/GPIO pulled high
22 GPIO1 (TxD) serial output or normal gpio serial output, not allowed to be low
Table 2.4: ESP-07 and ESP-12 pin names and behavior on boot

Reset Pin differences

Furthermore, the modules differ slightly in how the reset pin circuit is realized. Figure 2.2 below shows how the module's pin 1 (labeled "1") is connected to the ESP8266's reset pin (labeled "RST").

esp8266 esp-07 reset pin circuit diagram scetch
(a) ESP-07
esp8266 esp-07s reset pin circuit diagram scetch
(b) ESP-07S and ESP12S
esp8266 esp-12e and esp-12f reset pin circuit diagram scetch
(c) ESP-12E and ESP-12F
Figure 2.4: ESP-07, ESP-07S, ESP-12S, ESP-12E, and ESP-12F reset pin comparison [1]

Limitations

Although the ESP8266 is a great chip, it has several drawbacks.

More Info

This post is part of a complete ESP8266 reference/guide. You can find more information on how to use your ESP8266 module effectively at blog.hirnschall.net/esp8266/.

Get Notified of New Articles

Subscribe to get notified about new projects. Our Privacy Policy applies.
Sebastian Hirnschall
Article by: Sebastian Hirnschall
Updated: 25.06.2023

References

Visited on 26.06.2023:
[1] Stefan Frings: ESP8266 und ESP8285 WLAN Module
[2] https://github.com/esp8266/Arduino/tree/master/libraries/EEPROM
[3] https://github.com/esp8266/Arduino/tree/master/libraries/esp8266/examples/LowPowerDemo
[4] Erik H. Bakke: ESP8266 WiFi power reduction – Avoiding network scan, 2017
[5] Erik H. Bakke: Reducing WiFi power consumption on ESP8266, part 1, 2017
[6] Erik H. Bakke: Reducing WiFi power consumption on ESP8266, part 2, 2017
[7] Erik H. Bakke:Reducing WiFi power consumption on ESP8266, part 3, 2017
[8] Espressif: ESP8266ex datasheet
[9] Espressif: ESP8285ex datasheet
[10] AI-Thinker: ESP-01/07/12 Series Molules User's Manual, v1.3, 2017
[11] AZ-Delivery: ESP8266-01S Modul Datenblatt
[12] Doit: ESP-1 WiFi Module, v1.0, 2017
[13] Michel Deslierres: ESP8266 Watchdogs in Arduino, 2017
[14] Espressif: ESP8266 Hardware Design Guide, 2023

License

The content published on this page (with exceptions) is published under the CC Attribution-NonCommercial 3.0 Unported License. You are free to share on commercial blogs/websites as long as you link to this page and do not sell material found on blog.hirnschall.net/* or products with said material.

Amazon Links

1: As an Amazon Associate I earn from qualifying purchases.