ESP8266 – WiFi SoC

ESP8266 – WiFi SoC

WiFi SoC (System on Chip)

ESP8266 is the most popular and low cost WiFi SoC with TCP/IP stack and a low power 32 bit microcontroller manufactured by Espressif, a Shanghai based Chinese manufacturer. As you might already know, nowadays IoT (Internet of Things) is an emerging field. This is the one of the most popular and low cost solution for connecting ‘Things’ to internet via WiFi.

ESP8266 - WiFi SoC
ESP8266 – WiFi SoC

 

ESP8266 belongs to Espressif System’s Smart Connectivity Platform (ESCP) which is a set of high performance, high integration wireless SoC (System on Chip) intended for power and space constrained mobile platform designers. It is a self contained WiFi networking solution, which means that we can store and run the application in it without the aid of any external processors. We can also integrate it with another application processor if required by using SPI/SDIO or I2C/UART interface.

ESP8266 - Block Diagram
ESP8266 – Block Diagram

Features of ESP8266

  • Supports 802.11 b/g/n
  • Integrated low power 32 bit microcontroller
  • Integrated 10 bit analog to digital converter
  • Integrated full TCP/IP stack
  • Supports Station, Soft Access Point, Station + Soft Access Point modes
  • Built in TR switch, balun, LNA, power amplifier and matching network
  • Have internal PLL, regulators and power management units
  • Supports space diversity / antenna diversity
  • 2.4 GHz WiFi with support for WPA/WPA2
  • Supports WiFi Direct
  • Smart Link function supports for both Android and iOS devices
  • SDIO 2.0, (H) SPI, UART, I2C, I2S, IR Remote Control, PWM, GPIO
  • STBC, 1×1 MIMO, 2×1 MIMO
  • A-MPDU & A-MSDU aggregation and 0.4s guard interval
  • Wake up and transmit packets in less than 2mS
  • Up to +20 dBm output power in 802.11b mode
  • Standby power consumption is less than 1mW.
  • Deep sleep power is less than 10μA and power down leakage current is less than 5μA
  • Certified by FCC, CE, TELEC, WiFi Alliance and SRRC

Technical Specifications of ESP8266

  • Operating Voltage : 3.0 ~ 3.6V
  • Average Operating Current : 80mA
  • Tensilica Xtensa LX106 32 bit RISC CPU running at 80 MHz
  • 16 GPIO Pins
  • SPI
  • I2C
  • I2S
  • UART – 2x TX and 1x RX
  • 1x 10bit ADC
  • Operating Temperature : -40°C ~ 125°C
  • Frequency Range : 2400 ~ 2483.5MHz

ESP8266 Chip Pinout

The chips comes in a 32 + 1 pin QFN package. Functions of each pin is listed below.


ESP8266 Chip - Pinout
ESP8266 Chip – Pinout

 

No. Name Type Functions
1 VDDA Power Power Input 3.0V ~ 3.6V
2 LNA Input/Output RF Antenna, Output Impedance = 50Ω
3 VDD3P3 Power Amplifier Power 3.0V ~ 3.6V
4 VDD3P3 Power Amplifier Power 3.0V ~ 3.6V
5 VDD_RTC Power NC (1.1V)
6 TOUT Input An ADC Input or can be used to check voltage of VDD3P3
7 CHIP_EN Input Chip Enable (Active High)
8 XPD_DCDC Input/Output GPIO16, Deep Sleep Wakeup
9 MTMS Input/Output GPIO14, HSPI_CLK, I2C_SCL, I2SI_WS, PWM2
10 MTDI Input/Output GPIO12, HSPI_MISO, I2SI_DATA, PWM0, IR Tx, Link LED
11 VDDPST Power Digital IO Power Supply, 1.8V ~ 3.3V
12 MTCK Input/Output GPIO13, HSPI_MOSI, I2SI_BCK, UART0_CTS, Reset Button
13 MTDO Input/Output GPIO15, HSPICS, UART0_RTS, I2SO_BCK, PWM1
14 GPIO2 Input/Output GPIO2, UART1_TXD (flash programming UART Tx), I2C_SDA, I2SO_WS
15 GPIO0 Input/Output GPIO0, SPI_CS2, WiFi LED
16 GPIO4 Input/Output GPIO4, PWM3
17 VDDPST Power Digital IO Power Supply, 1.8V ~ 3.3V
18 SDIO_DATA_2 Input/Output GPIO9, Connect to SD_D2 (Series R: 200Ω), SPIHD, HSPIHD
19 SDIO_DATA_3 Input/Output GPIO10, Connect to SD_D3 (Series R: 200Ω), SPIWP, HSPIWP
20 SDIO_CMD Input/Output GPIO11, Connect to SD_CMD (Series R: 200Ω), SPI_CS0
21 SDIO_CLK Input/Output GPIO6, Connect to SD_CLK (Series R: 200Ω), SPI_CLK
22 SDIO_DATA_0 Input/Output GPIO7, Connect to SD_D0 (Series R: 200Ω), SPI_MSIO
23 SDIO_DATA_1 Input/Output GPIO8, Connect to SD_D1 (Series R: 200Ω), SPI_MOSI
24 GPIO5 Input/Output GPIO5, IR Rx
25 U0RXD Input/Output GPIO3, UART Rx during flash programming, I2SO_DATA
26 U0TXD Input/Output GPIO1, SPI_CS1, UART Tx during flash programming
27 XTAL_OUT Input/Output Used to provide BT clock input, Connect to crystal oscillator output
28 XTAL_IN Input/Output Connect to crystal oscillator input
29 VDDD Power Power Input 3.0V ~ 3.6V
30 VDDA Power Power Input 3.0V ~ 3.6V
31 RES12K Input 12KΩ resistor is connected to this pin and ground
32 EXT_RSTB Input Active Low External Reset Signal

Package

The chip comes in QFN32 package, dimensions are given below.

ESP8266 Chip Package - QFN32 - Dimensions
ESP8266 Chip Package – QFN32 – Dimensions

Datasheet

ESP8266 – Datasheet

ESP8266 Modules

A lot of ESP8266 modules are available in the market made by Espressif and 3ed party manufactures like AI-Thinker etc.

Espressif Module

Name GPIO ADC UART SPI I2C LEDs Antenna Dimensions Shielded Pitch
ESP-WROOM-02 11 1 2x TX, 1x RX Yes Yes No PCB Trace 18x20mm Yes 2.54mm

Note : In the above table GPIO pins are including UART, SPI, I2C pins.

AI-Thinker Modules

You can see below a series of ESP8266 modules made by a 3ed party manufaturer, AI-Thinker.

Name GPIO ADC UART SPI I2C LEDs Antenna Dimensions Shielded Pitch
ESP-01 4 No Yes No No Yes PCB Trace 14.3×24.8mm No 2.54mm
ESP-02 5 No Yes No No No UFL Connector 14.2×14.2mm No 2.54mm
ESP-03 9 No Yes Yes Yes No Ceramic Antenna 17.3×12.1mm No 2mm
ESP-04 9 No Yes Yes Yes No Ceramic Antenna 14.7×12.1mm No 2mm
ESP-05 2 No Yes No No No UFL Connector 14.2×14.2mm No 2.54mm
ESP-06 9 No Yes Yes Yes No No 14.2×14.7mm Yes
ESP-07 9 No Yes Yes Yes Yes Ceramic Antenna + UFL 20.0×16.0mm Yes 2mm
ESP-08 9 No Yes Yes Yes No No 17.0×16.0mm Yes 2mm
ESP-09 8 No Yes Yes Yes No No 10.0×10.0mm No
ESP-10 2 No Yes No No No No 14.2×10.0mm No 2mm
ESP-11 4 Yes No No No No Ceramic Antenna 17.3×12.1mm No 1.27mm
ESP-12 11 No Yes Yes Yes Yes PCB Trace 24.0×16.0mm Yes 2mm
ESP-12E/F/Q 11 No Yes Yes Yes Yes PCB Trace 24.0×16.0mm Yes 2mm
ESP-13 11 1 Yes Yes Yes No PCB Trace 18x20mm Yes 2.54mm
ESP-14 17 5 Yes Yes Yes Yes PCB Trace 24.3×16.2mm Yes 2mm

Note 1 : In the above table GPIO pins are including UART, SPI, I2C pins.

Note 2 : For ESP-02 two other varients are available in the market.

Other Modules

Following are the other popular ESP8266 available in the market made by other vendors.

Name GPIO ADC UART SPI I2C LEDs Antenna Dimensions Shielded Pitch
Bolt IoT 8 4 Yes No No Yes PCB Trace 30×40mm Yes 2.54mm
Olimex MOD-WIFI-ESP8266 2 No Yes No No Yes PCB Trace 35×17.5mm No 2.54mm
Olimex MOD-WIFI-ESP8266-DEV 11 1 Yes Yes Yes Yes PCB Trace 33x23mm No 2.54mm
NodeMCU DEVKIT V0.9 11 1 Yes Yes Yes Yes PCB Trace Yes 2.54mm
NodeMCU DEVKIT V1.0 13 1 Yes Yes Yes Yes PCB Trace Yes 2.54mm
Adafruit Huzzah ESP8266 Breakout 9 1 Yes Yes Yes Yes PCB Trace 25×38mm Yes 2.54mm
SparkFun ESP8266 Thing WRL-13231 6+2 1 Yes No No Yes PCB Trace + UFL 58×26mm No 2.54mm
KNEWRON Technologies smartWIFI 11 1 Yes Yes Yes Yes PCB Trace 25.4×50.8mm Yes 2.54mm
WeMos D1 11 1 Yes Yes Yes Yes PCB Trace 53.4×68.6mm Yes 2.54mm
WeMos D1 Mini 11 1 Yes Yes Yes Yes PCB Trace 25.6×34.2mm Yes 2.54mm
D1 Mini Pro 11 1 Yes Yes Yes Yes Ceramic Antenna + UFL 34.2×25.6mm No 2.54mm
ESPert ESPresso Lite V1 11 1 Yes Yes Yes Yes PCB Trace 26.5×57.6mm Yes 2.54mm
ESPert ESPresso Lite V2 11 1 Yes Yes Yes Yes PCB Trace 28×61mm Yes 2.54mm
In-Circuit ESP-ADC 11 1 Yes Yes Yes No UFL Socket 22.9×14.9mm No 2.54mm
Watterott ESP-WROOM-02 Breakout 11 1 Yes Yes Yes Yes PCB Trace 40.64×27.94mm Yes 2.54mm

Note : In the above table GPIO pins are including UART, SPI, I2C pins.

Software Development Kit (SDK)

There are a lot of official and unofficeal SDKs available for ESP8266. These SDKs allow us to programing the chip directly, removing the need of a separate controller. Espressif maintains basically two types of SDKs based on RTOS (Real Time Operating System) and callback.

ESP8266 Software Development - Block Diagram
ESP8266 Software Development – Block Diagram

ESP8266 HDK

ESP8266 Hardware Development Kit includes all the hardware parts including ESP8266EX chip, module and the development board. We can download pre-compiled firmware to the chip using it.

ESP8266 SDK

ESP8266 SDK is the complete application development kit Espressif or other providers. There are basically two types of SDKs, Non-OS and RTOS. SDK provides a lot of libraries and API (Application Program Interface) for the easy development of the solution. You can choose an SDK based on your requirements.

ESP8266 FW

ESP8266 firware binary files (*.bin) can be downloaded directly to the HDK. We can choose a list of binary files between FOTA (Firmware Over The Air) or Non-FOTA based on our requirements.

ESP8266 Toolkit

ESP8266 Toolkit includes Compiler and Firmware Download Tool. A Linux OS is required for compiling the SDK. You can use virtual box for compiling it in Windows OS. Firware Download Tool is used to download compilerd binary files to the chip.

Popular SDKs

Some of the popular ESP8266 SDKs are below.

Share this post


>