Espressif’s ESP8266 delivers highly integrated Wi-Fi SoC solution to meet user’s continuous demands for efficient power usage, compact design and reliable performance
in the Internet of Things industry.
With the complete and self-contained Wi-Fi networking capabilities, ESP8266EX can perform either as a standalone application or as the slave to a host MCU. When ESP8266EX hosts the application, it promptly boots up from the flash. The integrated high-speed cache helps to increase the system performance and optimize the system memory. Also, ESP8266EX can be applied to any microcontroller design as a Wi-Fi adaptor through SPI/SDIO or UART interfaces.
ESP8266 integrates antenna switches, RF balun, power amplifier, low noise receive amplifier, filters and power management modules. The compact design minimizes the PCB
size and requires minimal external circuitry.
Besides the Wi-Fi functionalities, ESP8266EX also integrates an enhanced version of Tensilica’s L106 Diamond series 32-bit processor and on-chip SRAM. It can be interfaced with external sensors and other devices through the GPIOs. Software Development Kit (SDK) provides sample codes for various applications.
Espressif Systems’ Smart Connectivity Platform (ESCP) enables sophisticated features
including:
Fast switch between sleep and wakeup mode for energy-efficient purpose;
Adaptive radio biasing for low-power operation
Advance signal processing
Spur cancellation and RF co-existence mechanisms for common cellular, Bluetooth, DDR, LVDS, LCD interference mitigation
Wi-Fi Key Features
802.11 b/g/n support
802.11n support (2.4 GHz), up to 72.2 Mbps
Defragmentation
2 x virtual Wi-Fi interface
Automatic beacon monitoring (hardware TSF)
Support Infrastructure BSS Station mode/SoftAP mode/Promiscuous mode
Peripheral Interface: UART/SDIO/SPI/I2C/I2S/IR Remote Control
GPIO/ADC/PWM/LED Light & Button
Hardware Specifications
Operating Voltage: 2.5V ~ 3.6V
Operating Current: Average value: 80 mA
Operating Temperature Range: –40°C ~ 125°C
Package Size: QFN32-pin (5 mm x 5 mm)
Software Specifications of ESP8266
Wi-Fi Mode: Station/SoftAP/SoftAP+Station
Security: WPA/WPA2
Encryption: WEP/TKIP/AES
Firmware Upgrade: UART Download / OTA (via network)
Software Development: Supports Cloud Server Development / Firmware and SDK for fast on-chip programming
Network Protocols: IPv4, TCP/UDP/HTTP
User Configuration: AT Instruction Set, Cloud Server, Android/iOS App
Peripheral Interface
General Purpose Input/Output Interface (GPIO): ESP8266EX has 17 GPIO pins which can be assigned to various functions by programming the appropriate registers.
Secure Digital Input/Output Interface (SDIO): ESP8266EX has one Slave SDIO, the definitions of which are described as Table 4-1, which supports 25 MHz SDIO v1.1 and 50 MHz SDIO v2.0, and 1 bit/4 bit SD mode and SPI mode.
Serial Peripheral Interface (SPI/HSPI): ESP8266EX has two SPIs. One general Slave/Master SPI, One general Slave HSPI. Functions of all these pins can be implemented via hardware.
I2C Interface: ESP8266 has one I2C, which is realized via software programming, used to connect with other microcontrollers and other peripheral equipment’s such as sensors.
I2S Interface: ESP8266EX has one I2S data input interface and one I2S data output interface, and supports the linked list DMA. I2S interfaces are mainly used in applications such as data collection, processing, and transmission of audio data, as well as the input and output of serial data. For example, LED lights (WS2812 series) are supported.
Universal Asynchronous Receiver Transmitter (UART): ESP8266EX has two UART interfaces UART0 and UART1.
UART0 can be used for communication. It supports flow control. Since UART1 features only data transmit signal (TX), it is usually used for printing log.
Pulse-Width Modulation (PWM): ESP8266EX has four PWM output interfaces. They can be extended by users themselves. (Note: The functionality of PWM interfaces can be implemented via software programming you can use all IO Lines to Generate PWM)
IR Remote Control: ESP8266EX currently supports one infrared remote control interface.
ADC (Analog-to-Digital Converter): ESP8266EX is embedded with a 10-bit precision SAR ADC. The input voltage range is 0 to 1.0V
Electrical Characteristics
NodeMCU DevKit 1.0 Specification:
NodeMCU is basically easy to use ESP8266 board comes with on board USB to serial converter, 3.3V power supply and easy to use GPIOs
Developer : ESP8266 Opensource Community
Type : Single-board microcontroller
Operating system : XTOS
CPU : ESP8266
Memory : 128kBytes
Storage : 4MBytes
Power By : USB
Power Voltage : 5v (On Board 3.3v Regulator)
Code : Arduino Cpp
IDE Used : Arduino IDE
GPIO : 10
GPIO Voltage: 3.3V
UART: 2
Application of ESP8266 NodeMCU
Home appliances
Home automation
Smart plugs and lights
Industrial wireless control
Baby monitors
IP cameras
Sensor networks
Wearable electronics
Wi-Fi location-aware devices
Security ID tags
Wi-Fi position system beacons
CPU, Memory, and Flash
CPU
The ESP8266EX integrates a Tensilica L106 32-bit RISC processor, which achieves extra-
low power consumption and reaches a maximum clock speed of 160 MHz. The Real-Time
Operating System (RTOS) and Wi-Fi stack allow 80% of the processing power to be
available for user application programming and development. The CPU includes the
interfaces as below:
Programmable RAM/ROM interfaces (iBus), which can be connected with memory controller, and can also be used to visit flash.
Data RAM interface (dBus), which can connected with memory controller.
AHB interface which can be used to visit the register.
Memory
ESP8266EX Wi-Fi SoC integrates memory controller and memory units including SRAM and ROM. MCU can access the memory units through iBus, dBus, and AHB interfaces. All memory units can be accessed upon request, while a memory arbiter will decide the running sequence according to the time when these requests are received by the processor.
According to our current version of SDK, SRAM space available to users is assigned as below.
• RAM size < 50 kB, that is, when ESP8266EX is working under the Station mode and connects to the router, the maximum programmable space accessible in Heap + Data section is around 50 kB.
• There is no programmable ROM in the SoC. Therefore, user program must be stored in an external SPI flash.
External Flash
ESP8266EX uses external SPI flash to store user programs, and supports up to 16 MB memory capacity theoretically. The minimum flash memory of ESP8266EX is shown below:
• OTA disabled: 512 kB at least
• OTA enabled: 1 MB at least
NodeMCU comes with 4Mbytes of External Flash memory.
Power Management
ESP8266EX is designed with advanced power management technologies and intended for mobile devices, wearable electronics and the Internet of Things applications. The low-power architecture operates in the following modes:
• Active mode: The chip radio is powered on. The chip can receive, transmit, or listen.
• Modem-sleep mode: The CPU is operational. The Wi-Fi and radio are disabled.
• Light-sleep mode: The CPU and all peripherals are paused. Any wake-up events
(MAC, host, RTC timer, or external interrupts) will wake up the chip.
• Deep-sleep mode: Only the RTC is operational and all other part of the chip are
powered off.
Modem-sleep mode is used in the applications that require the CPU to be working, as in PWM or I2S applications. According to 802.11 standards (like U-APSD), it shuts down the Wi-Fi Modem circuit while maintaining a Wi-Fi connection with no data transmission to optimize power consumption. E.g. in DTIM3, maintaining a sleep of 300 ms with a wakeup of 3 ms cycle to receive AP’s Beacon packages at interval requires about 15 mA current.
During Light-sleep mode, the CPU may be suspended in applications like Wi-Fi switch. Without data transmission, the Wi-Fi Modem circuit can be turned off and CPU suspended to save power consumption according to the 802.11 standards (U-APSD). E.g. in DTIM3, maintaining a sleep of 300 ms with a wakeup of 3ms to receive AP’s Beacon packages at interval requires about 0.9 mA current.
During Deep-sleep mode, Wi-Fi is turned off. For applications with long time lags between data transmission, e.g. a temperature sensor that detects the temperature every 100s, sleeps for 300s and wakes up to connect to the AP (taking about 0.3 ~ 1s), the overall average current is less than 1mA. The current of 20μ A is acquired at the voltage of 2.5V.