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.NameTypeFunctions
1VDDAPowerPower Input 3.0V ~ 3.6V
2LNAInput/OutputRF Antenna, Output Impedance = 50Ω
3VDD3P3PowerAmplifier Power 3.0V ~ 3.6V
4VDD3P3PowerAmplifier Power 3.0V ~ 3.6V
5VDD_RTCPowerNC (1.1V)
6TOUTInputAn ADC Input or can be used to check voltage of VDD3P3
7CHIP_ENInputChip Enable (Active High)
8XPD_DCDCInput/OutputGPIO16, Deep Sleep Wakeup
9MTMSInput/OutputGPIO14, HSPI_CLK, I2C_SCL, I2SI_WS, PWM2
10MTDIInput/OutputGPIO12, HSPI_MISO, I2SI_DATA, PWM0, IR Tx, Link LED
11VDDPSTPowerDigital IO Power Supply, 1.8V ~ 3.3V
12MTCKInput/OutputGPIO13, HSPI_MOSI, I2SI_BCK, UART0_CTS, Reset Button
13MTDOInput/OutputGPIO15, HSPICS, UART0_RTS, I2SO_BCK, PWM1
14GPIO2Input/OutputGPIO2, UART1_TXD (flash programming UART Tx), I2C_SDA, I2SO_WS
15GPIO0Input/OutputGPIO0, SPI_CS2, WiFi LED
16GPIO4Input/OutputGPIO4, PWM3
17VDDPSTPowerDigital IO Power Supply, 1.8V ~ 3.3V
18SDIO_DATA_2Input/OutputGPIO9, Connect to SD_D2 (Series R: 200Ω), SPIHD, HSPIHD
19SDIO_DATA_3Input/OutputGPIO10, Connect to SD_D3 (Series R: 200Ω), SPIWP, HSPIWP
20SDIO_CMDInput/OutputGPIO11, Connect to SD_CMD (Series R: 200Ω), SPI_CS0
21SDIO_CLKInput/OutputGPIO6, Connect to SD_CLK (Series R: 200Ω), SPI_CLK
22SDIO_DATA_0Input/OutputGPIO7, Connect to SD_D0 (Series R: 200Ω), SPI_MSIO
23SDIO_DATA_1Input/OutputGPIO8, Connect to SD_D1 (Series R: 200Ω), SPI_MOSI
24GPIO5Input/OutputGPIO5, IR Rx
25U0RXDInput/OutputGPIO3, UART Rx during flash programming, I2SO_DATA
26U0TXDInput/OutputGPIO1, SPI_CS1, UART Tx during flash programming
27XTAL_OUTInput/OutputUsed to provide BT clock input, Connect to crystal oscillator output
28XTAL_INInput/OutputConnect to crystal oscillator input
29VDDDPowerPower Input 3.0V ~ 3.6V
30VDDAPowerPower Input 3.0V ~ 3.6V
31RES12KInput12KΩ resistor is connected to this pin and ground
32EXT_RSTBInputActive 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

NameGPIOADCUARTSPII2CLEDsAntennaDimensionsShieldedPitch
ESP-WROOM-021112x TX, 1x RXYesYesNoPCB Trace18x20mmYes2.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.

NameGPIOADCUARTSPII2CLEDsAntennaDimensionsShieldedPitch
ESP-014NoYesNoNoYesPCB Trace14.3×24.8mmNo2.54mm
ESP-025NoYesNoNoNoUFL Connector14.2×14.2mmNo2.54mm
ESP-039NoYesYesYesNoCeramic Antenna17.3×12.1mmNo2mm
ESP-049NoYesYesYesNoCeramic Antenna14.7×12.1mmNo2mm
ESP-052NoYesNoNoNoUFL Connector14.2×14.2mmNo2.54mm
ESP-069NoYesYesYesNoNo14.2×14.7mmYes
ESP-079NoYesYesYesYesCeramic Antenna + UFL20.0×16.0mmYes2mm
ESP-089NoYesYesYesNoNo17.0×16.0mmYes2mm
ESP-098NoYesYesYesNoNo10.0×10.0mmNo
ESP-102NoYesNoNoNoNo14.2×10.0mmNo2mm
ESP-114YesNoNoNoNoCeramic Antenna17.3×12.1mmNo1.27mm
ESP-1211NoYesYesYesYesPCB Trace24.0×16.0mmYes2mm
ESP-12E/F/Q11NoYesYesYesYesPCB Trace24.0×16.0mmYes2mm
ESP-13111YesYesYesNoPCB Trace18x20mmYes2.54mm
ESP-14175YesYesYesYesPCB Trace24.3×16.2mmYes2mm

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.

NameGPIOADCUARTSPII2CLEDsAntennaDimensionsShieldedPitch
Bolt IoT84YesNoNoYesPCB Trace30×40mmYes2.54mm
Olimex MOD-WIFI-ESP82662NoYesNoNoYesPCB Trace35×17.5mmNo2.54mm
Olimex MOD-WIFI-ESP8266-DEV111YesYesYesYesPCB Trace33x23mmNo2.54mm
NodeMCU DEVKIT V0.9111YesYesYesYesPCB TraceYes2.54mm
NodeMCU DEVKIT V1.0131YesYesYesYesPCB TraceYes2.54mm
Adafruit Huzzah ESP8266 Breakout91YesYesYesYesPCB Trace25×38mmYes2.54mm
SparkFun ESP8266 Thing WRL-132316+21YesNoNoYesPCB Trace + UFL58×26mmNo2.54mm
KNEWRON Technologies smartWIFI111YesYesYesYesPCB Trace25.4×50.8mmYes2.54mm
WeMos D1111YesYesYesYesPCB Trace53.4×68.6mmYes2.54mm
WeMos D1 Mini111YesYesYesYesPCB Trace25.6×34.2mmYes2.54mm
D1 Mini Pro111YesYesYesYesCeramic Antenna + UFL34.2×25.6mmNo2.54mm
ESPert ESPresso Lite V1111YesYesYesYesPCB Trace26.5×57.6mmYes2.54mm
ESPert ESPresso Lite V2111YesYesYesYesPCB Trace28×61mmYes2.54mm
In-Circuit ESP-ADC111YesYesYesNoUFL Socket22.9×14.9mmNo2.54mm
Watterott ESP-WROOM-02 Breakout111YesYesYesYesPCB Trace40.64×27.94mmYes2.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