HOME

TheInfoList



OR:

The ESP8266 is a low-cost
Wi-Fi Wi-Fi () is a family of wireless network protocols, based on the IEEE 802.11 family of standards, which are commonly used for local area networking of devices and Internet access, allowing nearby digital devices to exchange data by radio wave ...
microchip, with built-in TCP/IP networking software, and
microcontroller A microcontroller (MCU for ''microcontroller unit'', often also MC, UC, or μC) is a small computer on a single VLSI integrated circuit (IC) chip. A microcontroller contains one or more CPUs (processor cores) along with memory and programmable i ...
capability, produced by Espressif Systems in Shanghai, China. The chip was popularized in the English-speaking
maker Maker(s) or The Maker(s) may refer to: Film and television * ''The Maker'' (film), a 1997 American drama film *'' Makers: Women Who Make America'', a 2013 American TV documentary, a 2014 TV series, and related media *Maker Studios, now part of D ...
community in August 2014 via the ESP-01 module, made by a third-party manufacturer Ai-Thinker. This small module allows microcontrollers to connect to a Wi-Fi network and make simple TCP/IP connections using
Hayes Hayes may refer to: * Hayes (surname), including a list of people with the name ** Rutherford B. Hayes, 19th president of the United States * Hayes (given name) Businesses * Hayes Brake, an American designer and manufacturer of disc brakes * Ha ...
-style commands. However, at first, there was almost no English-language documentation on the chip and the commands it accepted. The very low price and the fact that there were very few external components on the module, which suggested that it could eventually be very inexpensive in volume, attracted many hackers to explore the module, the chip, and the software on it, as well as to translate the Chinese documentation. The ESP8285 is a similar chip with a built-in 1 MiB flash memory, allowing the design of single-chip devices capable of connecting via Wi-Fi. These microcontroller chips have been succeeded by the ESP32 family of devices.


Features

* Processor: L106 32-bit
RISC In computer engineering, a reduced instruction set computer (RISC) is a computer designed to simplify the individual instructions given to the computer to accomplish tasks. Compared to the instructions given to a complex instruction set comput ...
microprocessor core based on the Tensilica Diamond Standard 106Micro running at 80 or 160 MHz * Memory: ** 32 KiB instruction RAM ** 32 KiB instruction cache RAM ** 80 KiB user-data RAM ** 16 KiB ETS system-data RAM * External QSPI flash: up to 16 MiB is supported (512 KiB to 4 MiB typically included) *
IEEE 802.11 IEEE 802.11 is part of the IEEE 802 set of local area network (LAN) technical standards, and specifies the set of media access control (MAC) and physical layer (PHY) protocols for implementing wireless local area network (WLAN) computer commun ...
b/g/n
Wi-Fi Wi-Fi () is a family of wireless network protocols, based on the IEEE 802.11 family of standards, which are commonly used for local area networking of devices and Internet access, allowing nearby digital devices to exchange data by radio wave ...
** Integrated TR switch, balun, LNA,
power amplifier An audio power amplifier (or power amp) is an electronic amplifier that amplifies low-power electronic audio signals, such as the signal from a radio receiver or an electric guitar pickup, to a level that is high enough for driving loudspea ...
and
matching network In electronics, impedance matching is the practice of designing or adjusting the input impedance or output impedance of an electrical device for a desired value. Often, the desired value is selected to maximize power transfer or minimize signal ...
** WEP or WPA/WPA2 authentication, or open networks * 17
GPIO A general-purpose input/output (GPIO) is an uncommitted digital signal pin on an integrated circuit or electronic circuit (e.g. MCUs/ MPUs ) board which may be used as an input or output, or both, and is controllable by software. GPIOs have no ...
pins * Serial Peripheral Interface Bus (SPI) *
I²C I2C (Inter-Integrated Circuit, ), alternatively known as I2C or IIC, is a synchronous, multi-controller/multi-target (master/slave), packet switched, single-ended, serial communication bus invented in 1982 by Philips Semiconductors. It is wide ...
(software implementation) * I²S interfaces with DMA (sharing pins with GPIO) * UART on dedicated pins, plus a transmit-only UART can be enabled on GPIO2 * 10-bit
ADC ADC may refer to: Science and medicine * ADC (gene), a human gene * AIDS dementia complex, neurological disorder associated with HIV and AIDS * Allyl diglycol carbonate or CR-39, a polymer * Antibody-drug conjugate, a type of anticancer treatment ...
(
successive approximation ADC A successive-approximation ADC is a type of analog-to-digital converter that converts a continuous analog waveform into a discrete digital representation using a binary search through all possible quantization levels before finally convergi ...
)


Pinout of ESP-01

The pinout is as follows for the common ESP-01 module: # GND, Ground (0 V) # GPIO 2, General-purpose input/output No. 2 # GPIO 0, General-purpose input/output No. 0 # RX, Receive data in, also GPIO3 # VCC, Voltage (+3.3 V; can handle up to 3.6 V) # RST, Reset # CH_PD, Chip power-down # TX, Transmit data out, also GPIO1


SDKs

In October 2014, Espressif Systems released a
software development kit A software development kit (SDK) is a collection of software development tools in one installable package. They facilitate the creation of applications by having a compiler, debugger and sometimes a software framework. They are normally specific to ...
(SDK) for programming the chip directly, which removed the need for a separate microcontroller. Since then, there have been many official SDK releases from Espressif; Espressif maintains two versions of the SDK — one that is based on FreeRTOS and the other based on
callbacks In computer programming, a callback or callback function is any reference to executable code that is passed as an argument to another piece of code; that code is expected to ''call back'' (execute) the callback function as part of its job. Thi ...
. An alternative to Espressif's official SDK is the open-source ESP-Open-SDK that is based on the
GNU Compiler Collection The GNU Compiler Collection (GCC) is an optimizing compiler produced by the GNU Project supporting various programming languages, hardware architectures and operating systems. The Free Software Foundation (FSF) distributes GCC as free software ...
(GCC) toolchain, maintained by Max Filippov. Another alternative is the "Unofficial Development Kit" by Mikhail Grigorev. Other SDKs, mostly open-source, include: * Arduino — A C++-based firmware. With this core, the ESP8266 CPU and its Wi-Fi components can be programmed like any other Arduino device
The ESP8266 Arduino Core is available through GitHub

ESP8266 BASIC
nbsp;— An open-source
BASIC BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
-like interpreter specifically tailored for the
Internet of Things The Internet of things (IoT) describes physical objects (or groups of such objects) with sensors, processing ability, software and other technologies that connect and exchange data with other devices and systems over the Internet or other comm ...
(IoT). Self-hosting browser-based development environment. *
ESP Easy ESP Easy is a free and open source MCU firmware for the Internet of things (IoT). and originally developed by the LetsControlIt.com community (formerly known as ESP8266.nu community). It runs on ESP8266 Wi-Fi based MCU (microcontroller unit) platf ...
 — Developed by
home automation Home automation or domotics is building automation for a home, called a smart home or smart house. A home automation system will monitor and/or control home attributes such as lighting, climate, entertainment systems, and appliances. It m ...
enthusiasts.
ESPHome
nbsp;— ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through home automation systems.
Tasmota
- open-source firmware, for home automation.
ESP-Open-RTOS
nbsp;— Open-source FreeRTOS-based ESP8266 software framework.
ESP-Open-SDK
nbsp;— Free and open (as much as possible) integrated SDK for ESP8266/ESP8285 chips. *
Espruino Espruino is an open-source JavaScript interpreter for single board microcontrollers. It is designed for devices with small amounts of RAM (as low as 8kB). Overview Espruino was created by Gordon Williams in 2012 as an attempt to make microcontr ...
 — An actively maintained JavaScript SDK and firmware, closely emulating
Node.js Node.js is an open-source server environment. Node.js is cross-platform and runs on Windows, Linux, Unix, and macOS. Node.js is a back-end JavaScript runtime environment. Node.js runs on the V8 JavaScript Engine and executes JavaScript code ou ...
. Supports a few MCUs, including the ESP8266.
ESPurna
nbsp;— Open-source ESP8285/ESP8266 firmware.
Forthright
nbsp;— Port of Jones Forth to the ESP8266 microcontroller.
MicroPython
nbsp;— A port of
MicroPython MicroPython is a software implementation of a programming language largely compatible with Python 3, written in C, that is optimized to run on a microcontroller. MicroPython consists of a Python compiler to bytecode and a runtime interpreter of ...
(an implementation of Python for embedded devices) to the ESP8266 platform.
Moddable SDK
— includes JavaScript language and library support for the ESP8266 *
Mongoose OS Mongoose OS is an Internet of Things (IoT) Firmware Development Framework available under Apache License Version 2.0. It supports low power, connected microcontrollers such as: ESP32, ESP8266, TI CC3200, TI CC3220, STM32 (STM32L4, STM32F4, STM32F ...
 — An open-source operating system for connected products. Supports ESP8266 and ESP32. Develop in C or JavaScript. *
NodeMCU NodeMCU is a low-cost open source IoT platform. It initially included firmware which runs on the ESP8266 Wi-Fi SoC from Espressif Systems, and hardware which was based on the ESP-12 module. Later, support for the ESP32 32-bit MCU was added. O ...
 — A Lua-based firmware.
PlatformIO
nbsp;— A cross-platform IDE and unified debugger, which sits on top of Arduino code and libraries.
Punyforth
nbsp;— Forth-inspired programming language for the ESP8266.
Sming
nbsp;— An actively developed asynchronous C/C++ framework with superb performance and multiple network features.
uLisp
nbsp;— A version of the
Lisp A lisp is a speech impairment in which a person misarticulates sibilants (, , , , , , , ). These misarticulations often result in unclear speech. Types * A frontal lisp occurs when the tongue is placed anterior to the target. Interdental lisping ...
programming language specifically designed to run on processors with a limited amount of RAM.
ZBasic for ESP8266
nbsp;— A subset of Microsoft's widely-used Visual Basic 6, which has been adapted as a control language for the ZX microcontroller family and the ESP8266. *
Zerynth Zerynth is a software implementation of the Python programming language for programming microcontrollers. It targets 32-bit microcontroller platforms and is designed to mix Python with C code. It connects the microcontrollers to the Cloud for de ...
 — IoT framework for programming ESP8266 and other microcontrollers in
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
. * IOTBAH - is An operating system (OS) for Espressif ESP8266


Espressif modules

This is the series of ESP8266-based modules made by Espressif: In the table above (and the two tables which follow), "Active pins" include the GPIO and ADC pins with which external devices can be attached to the ESP8266 MCU. The "Pitch" is the space between pins on the ESP8266 module, which is important to know if the device will be used on a breadboard. The "Form factor" also describes the module packaging as "2 × 9 DIL", meaning two rows of 9 pins arranged "Dual In Line", like the pins of DIP ICs. Many ESP-xx modules include a small onboard LED which can be programmed to blink and thereby indicate activity. There are several antenna options for ESP-xx boards including a trace antenna, an onboard ceramic antenna, and an external connector that allows an external Wi-Fi antenna to be attached. Since Wi-Fi communications generate a lot of RFI (Radio Frequency Interference), governmental bodies like the FCC like shielded electronics to minimize interference with other devices. Some of the ESP-xx modules come housed within a metal box with an FCC seal of approval stamped on it. First and second world markets will likely demand FCC approval and shielded Wi-Fi devices.


Ai-Thinker modules

This is the first series of modules made with the ESP8266 by the third-party manufacturer ''Ai-Thinker'' and remains the most widely available. They are collectively referred to as "ESP-xx modules". To form a workable development system they require additional components, especially a serial TTL-to-USB adapter (sometimes called a USB-to-UART bridge) and an external 3.3 volt power supply. Novice ESP8266 developers are encouraged to consider larger ESP8266 Wi-Fi development boards like the
NodeMCU NodeMCU is a low-cost open source IoT platform. It initially included firmware which runs on the ESP8266 Wi-Fi SoC from Espressif Systems, and hardware which was based on the ESP-12 module. Later, support for the ESP32 32-bit MCU was added. O ...
which includes the USB-to-UART bridge and a Micro-USB connector coupled with a 3.3 volt power regulator already built into the board. When project development is complete, those components are not needed and these cheaper ESP-xx modules are a lower power, smaller footprint option for production runs. In the Notes column, Flash memory sizes apply to the given module and all those below it in the table. Exceptions which apply to a single module are shown in ().


Other boards

The reason for the popularity of many of these boards over the earlier ESP-xx modules is the inclusion of an on-board USB-to-UART bridge (like the Silicon Labs' CP2102 or the WCH CH340G) and a Micro-USB connector, coupled with a 3.3-volt regulator to provide both power to the board and connectivity to the host (software development) computer – commonly referred to as the console, making it an easy development platform. With earlier ESP-xx modules, these two items (the USB-to-serial adapter and the regulator) had to be purchased separately and be wired into the ESP-xx circuit. Modern ESP8266 boards like the
NodeMCU NodeMCU is a low-cost open source IoT platform. It initially included firmware which runs on the ESP8266 Wi-Fi SoC from Espressif Systems, and hardware which was based on the ESP-12 module. Later, support for the ESP32 32-bit MCU was added. O ...
are easier to work with and offer more GPIO pins. Most of the boards listed here are based on the ESP-12E module, but new modules are being introduced seemingly every few months.


ESP32-C3

In 2020, Espressif announced a new chip ESP32-C3, which is pin-compatible with ESP8266. It is based on a single core
RISC-V RISC-V (pronounced "risk-five" where five refers to the number of generations of RISC architecture that were developed at the University of California, Berkeley since 1981) is an open standard instruction set architecture (ISA) based on estab ...
32-bit CPU with a clock speed of up to 160 MHz. It includes 400 KiB of SRAM and 384 KiB ROM storage space built in.


See also

* ESP32 – the successor product from Espressif *
Internet of things The Internet of things (IoT) describes physical objects (or groups of such objects) with sensors, processing ability, software and other technologies that connect and exchange data with other devices and systems over the Internet or other comm ...
* MCU (microcontroller unit)


References


External links


ESP8266 core for Arduino IDE
{{Commons category Microcontrollers Microprocessors made in China Internet of things Wireless networking hardware 2014 establishments