Manufacturer | Espressif Systems |
---|---|
Type | 32-bit microcontroller |
CPU | Tensilica Diamond Standard 106Micro (aka. L106) @ 80 MHz (default) or 160 MHz |
Memory | 32 KiB instruction, 80 KiB user data |
Input | 16 GPIO pins |
Power | 3.3 V DC |
Successor | ESP32 |
The ESP8266 is a low-cost Wi-Fi microcontroller, with built-in TCP/IP networking software, and microcontroller capability, produced by Espressif Systems [1] in Shanghai, China.
The chip was popularized in the English-speaking maker 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-style commands. However, at first, there was almost no English-language documentation on the chip and the commands it accepted. [2] 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. [3]
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. [4]
These microcontroller chips have been succeeded by the ESP32 family of devices.
The pinout is as follows for the common ESP-01 module:
In October 2014, Espressif Systems released a software development kit (SDK) for programming the chip directly, which removed the need for a separate microcontroller. [9] 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. [10]
An alternative to Espressif's official SDK is the open-source ESP-Open-SDK [11] that is based on the GNU Compiler Collection (GCC) toolchain, maintained by Max Filippov. [12] Another alternative is the "Unofficial Development Kit" by Mikhail Grigorev. [13] [14]
Other SDKs, mostly open-source, include:
This is the series of ESP8266-based modules made by Espressif:
Name | Active pins | Pitch | Form factor | LEDs | Antenna | Shielded | Dimensions (mm) | Notes |
---|---|---|---|---|---|---|---|---|
ESP-WROOM-02 [17] | 18 | 1.5 mm | 2×9 castellated | No | PCB trace | Yes | 18 × 20 | FCC ID 2AC7Z-ESPWROOM02. |
ESP-WROOM-02D [18] | 18 | 1.5 mm | 2×9 castellated | No | PCB trace | Yes | 18 × 20 | FCC ID 2AC7Z-ESPWROOM02D. Revision of ESP-WROOM-02 compatible with both 150-mil and 208-mil flash memory chips. |
ESP-WROOM-02U [18] | 18 | 1.5 mm | 2×9 castellated | No | U.FL socket | Yes | 18 × 20 | Differs from ESP-WROOM-02D in that includes an U.FL compatible antenna socket connector. |
ESP-WROOM-S2 [19] | 20 | 1.5 mm | 2×10 castellated | No | PCB trace | Yes | 16 × 23 | FCC ID 2AC7Z-ESPWROOMS2. |
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.[ citation needed ]
This is the first series of modules made with the ESP8266 by the third-party manufacturer Ai-Thinker and remains the most widely available. [20] 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 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 ().
Name | Active pins | Pitch | Form factor | LEDs | Antenna | Shielded | Dimensions (mm) | Notes |
---|---|---|---|---|---|---|---|---|
ESP-01 | 6 [21] | 0.1 in | 2×4 DIL | Yes | PCB trace | No | 14.3 × 24.8 | 512 KiB Flash and blue PCB from a generic manufacturer. 1 MiB Flash, AI-Cloud and black PCB from AI-Thinker. |
ESP-01S | 6 [22] | 0.1 in | 2×4 DIL | Yes | PCB trace | No | 14.4 × 24.7 | 1 MiB Flash |
ESP-01M | 16 | 1.6 mm | 2×9 edge connector | No | PCB trace | Yes | 18.0 × 18.0 | Uses ESP8285 (1 MiB built-in flash). |
ESP-02 | 6 | 0.1 in | 2×4 castellated | No | U.FL socket | No | 14.2 × 14.2 | |
ESP-03 | 10 | 2 mm | 2×7 castellated | No | Ceramic | No | 17.3 × 12.1 | |
ESP-04 | 10 | 2 mm | 2×4 castellated | No | None | No | 14.7 × 12.1 | |
ESP-05 | 3 | 0.1 in | 1×5 SIL | No | U.FL socket | No | 14.2 × 14.2 | |
ESP-06 | 11 | various | 4×3 dice | No | None | Yes | 14.2 × 14.7 | Not FCC approved. |
ESP-07 | 14 | 2 mm | 2×8 pinhole | Yes | Ceramic + U.FL socket | Yes | 20.0 × 16.0 | Not FCC approved. |
ESP-07S | 14 | 2 mm | 2×8 pinhole | No | U.FL socket | Yes | 17.0 × 16.0 | FCC and CE approved. |
ESP-08 | 10 | 2 mm | 2×7 castellated | No | None | Yes | 17.0 × 16.0 | Not FCC approved. |
ESP-09 | 10 | various | 4×3 dice | No | None | No | 10.0 × 10.0 | |
ESP-10 | 3 | 2 mm | 1×5 castellated | No | None | No | 14.2 × 10.0 | |
ESP-11 | 6 | 1.27 mm | 1×8 pinhole | No | Ceramic | No | 17.3 × 12.1 | |
ESP-12 | 14 | 2 mm | 2×8 castellated | Yes | PCB trace | Yes | 24.0 × 16.0 | FCC and CE approved. [23] |
ESP-12E | 20 | 2 mm | 2×8 castellated | Yes | PCB trace | Yes | 24.0 × 16.0 | 4 MiB flash. |
ESP-12F | 20 | 2 mm | 2×8 castellated | Yes | PCB trace | Yes | 24.0 × 16.0 | FCC and CE approved. Improved antenna performance. |
ESP-12S | 14 | 2 mm | 2×8 castellated | Yes | PCB trace | Yes | 24.0 × 16.0 | FCC approved. [24] |
ESP-13 | 16 | 1.5 mm | 2×9 castellated | No | PCB trace | Yes | W18.0 × L20.0 | Marked as "FCC". Shielded module is placed sideways, as compared to the ESP-12 modules. |
ESP-14 | 22 | 2 mm | 2×8 castellated +6 | Yes | PCB trace | Yes | 24.3 × 16.2 | Mostly advertised with "AI Cloud Inside". |
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 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.
Name | Active pins | Pitch | Form factor | LEDs | Antenna | Shielded | Dimensions (mm) | Notes |
---|---|---|---|---|---|---|---|---|
Bolt IoT | 14 | 0.1 in | 2×14 DIL | Yes | PCB trace | Yes | 30 × 40 | Comes with an onboard SD card and features like Lib-Discovery and Fail Safe Mode. Has its own cloud for IoT. |
Olimex MOD-WIFI-ESP8266 [25] | 2 | 0.1 in | UEXT module | Yes | PCB trace | No | ? | Only RX/TX are connected to UEXT connector. |
Olimex MOD-WIFI-ESP8266-DEV [26] | 20 | 0.1 in | 2×11 DIL + castellated | Yes | PCB trace | No | 33 × 23 | All available GPIO pins are connected, also has pads for soldering UEXT connector (with RX/TX and SDA/SCL signals). |
NodeMCU DEVKIT | 14 | 0.1 in | 2×15 DIL | Yes | PCB trace | Yes | 49 × 24.5 | Uses the ESP-12 module; includes USB to serial interface. |
Adafruit Huzzah ESP8266 breakout [27] | 14 | 0.1 in | 2×10 DIL | Yes | PCB trace | Yes | 25 × 38 | Uses the ESP-12 module. |
SparkFun ESP8266 Thing [28] WRL-13231 | 12 | 0.1 in | 2×10 DIL | Yes | PCB trace + U.FL socket | No | 58 × 26 | FTDI serial header, Micro-USB socket for power, includes Li-ion battery charger. |
KNEWRON Technologies smartWIFI [29] | 12 | 0.1 in | 2×20 DIL | Yes 1 RGB | PCB trace | Yes | 25.4 × 50.8 | CP2102 USB bridge, includes battery charger, micro-USB socket for power and battery charging, 1 RGB LED and USER / Reflash button. |
ArduCAM ESP8266 UNO [30] | 12+ | 0.1 in | Arduino Uno | Yes | PCB trace | Yes | 53.4 × 68.6 | Uses the AI Thinker's ESP8266MOD module and features Micro-USB port, Battery pins, Camera pins and uSD card all on the same board. Fully compatible with Arduino Uno shields. |
DoIT ESPduino [31] | 12 | 0.1 in | Arduino Uno | Yes | PCB trace | Yes | 53.4 × 68.6 | Uses the ESP-WROOM-02 (ESP-13) module and USB Type B port. Fully compatible with Arduino Uno shields. |
WeatherPlus - SwitchDoc Labs [32] | 26+Grove | 0.1 in | Custom | Yes | PCB trace | Yes | 86.0 × 50.0 | Uses the AI Thinker Model ESP8266MOD (ESP-13) module and FTDI for Programming and Mini-USB port for power. Fully compatible with Adafruit Huzzah software. Includes BMP280 Barometer, ADS1115 and Grove I2C connectors. Plugs for Anemometer/Wind Vane/Rain Bucket. |
WeMos [33] D1 [34] | 12 | 0.1 in | Arduino Uno | Yes | PCB trace | Yes | 53.4 × 68.6 | Uses the ESP-12F module and Micro-USB socket. Discontinued in favor of WeMos D1 R2. |
WeMos [33] D1 R2 [35] | 12 | 0.1 in | Arduino Uno | Yes | PCB trace | Yes | 53.4 × 68.6 | Uses ESP-12F module and has Micro-USB socket. |
WeMos [33] D1 mini [36] | 12 | 0.1 in | 2×8 DIL | Yes | PCB trace | Yes | 25.6 × 34.2 | Uses ESP-12S module and has Micro-USB socket. |
WeMos [33] D1 mini Lite [37] | 12 | 0.1 in | 2×8 DIL | Yes | PCB trace | Yes | 25.6 × 34.2 | Based on the ESP8285, an ESP8266 with 1 MiB flash built-in; has Micro-USB socket. |
WeMos [33] D1 mini Pro [38] | 12 | 0.1 in | 2×8 DIL | Yes | Ceramic and U.FL socket | Yes | 25.6 × 34.2 | Uses ESP8266EX chip; has Micro-USB socket, U.FL antenna connector, and 16 MiB flash. |
ESPert ESPresso Lite [39] | 16 | 0.1 in | 2×8 DIL | Yes | PCB trace | Yes | 26.5 × 57.6 | Uses the ESP-WROOM-02 module. Produced in limited quantity as beta version. |
ESPert ESPresso Lite V2.0 [40] | 24 | 0.1 in | 2×10 DIL | Yes | PCB trace | Yes | 28 × 61 | Improved version of ESPresso Lite. |
In-Circuit ESP-ADC [41] | 18 | 0.1 in | 2×9 DIL | No | U.FL socket | Yes | 22.9 × 14.9 | Uses ESP8266EX chip. |
Watterott ESP-WROOM02-Breakout [42] | 14 | 0.1 in | 2×10 DIL | Yes | PCB trace | Yes | 40.64 × 27.94 | Uses the Espressif ESP-WROOM-02 module. |
Geek Wave Solution IOT WROOM-02 Dev. Board [43] | 20 | 0.1 in | ? | Yes | PCB trace | Yes | 93.80 × 80.02 | Development board with Espressif ESP-WROOM-02 module and four relays. |
Witty 2-piece board [44] | 20 | 0.1 in | ? | Yes | PCB trace | Yes | ? | Development board with Espressif ESP8266 ESP-12E and separate board for CH340G USB interface. |
In 2020, Espressif announced a new chip, ESP32-C3, which is pin-compatible with ESP8266. It is based on a single core RISC-V 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. [45]
A microcontroller or microcontroller unit (MCU) is a small computer on a single integrated circuit. A microcontroller contains one or more CPUs along with memory and programmable input/output peripherals. Program memory in the form of NOR flash, OTP ROM or ferroelectric RAM is also often included on chip, as well as a small amount of RAM. Microcontrollers are designed for embedded applications, in contrast to the microprocessors used in personal computers or other general purpose applications consisting of various discrete chips.
AVR is a family of microcontrollers developed since 1996 by Atmel, acquired by Microchip Technology in 2016. These are modified Harvard architecture 8-bit RISC single-chip microcontrollers. AVR was one of the first microcontroller families to use on-chip flash memory for program storage, as opposed to one-time programmable ROM, EPROM, or EEPROM used by other microcontrollers at the time.
The MSP430 is a mixed-signal microcontroller family from Texas Instruments, first introduced on 14 February 1992. Built around a 16-bit CPU, the MSP430 was designed for low power consumption embedded applications and low cost.
Atmel ARM-based processors are microcontrollers and microprocessors integrated circuits, by Microchip Technology, that are based on various 32-bit ARM processor cores, with in-house designed peripherals and tool support.
The .NET Micro Framework (NETMF) is a .NET Framework platform for resource-constrained devices with at least 512 kB of flash and 256 kB of random-access memory (RAM). It includes a small version of the .NET Common Language Runtime (CLR) and supports development in C#, Visual Basic .NET, and debugging using Microsoft Visual Studio. NETMF features a subset of the .NET base class libraries, an implementation of Windows Communication Foundation (WCF), a GUI framework loosely based on Windows Presentation Foundation (WPF), and a Web Services stack based on Simple Object Access Protocol (SOAP) and Web Services Description Language (WSDL). NETMF also features added libraries specific to embedded applications. It is free and open-source software released under Apache License 2.0.
STM32 is a family of 32-bit microcontroller integrated circuits by STMicroelectronics. The STM32 chips are grouped into related series that are based around the same 32-bit ARM processor core: Cortex-M0, Cortex-M0+, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M33. Internally, each microcontroller consists of ARM processor core(s), flash memory, static RAM, debugging interface, and various peripherals.
LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals. The earliest LPC series were based on the Intel 8-bit 80C51 core. As of February 2011, NXP had shipped over one billion ARM processor-based chips.
Intel Quark is a line of 32-bit x86 SoCs and microcontrollers by Intel, designed for small size and low power consumption, and targeted at new markets including wearable devices. The line was introduced at Intel Developer Forum in 2013, and discontinued in January 2019.
The Intel Edison is a computer-on-module that was offered by Intel as a development system for wearable devices and Internet of Things devices. The system was initially announced to be the same size and shape as an SD card and containing a dual-core Intel Quark x86 CPU at 400 MHz communicating via Bluetooth and Wi-Fi. A later announcement changed the CPU to a 500 MHz Silvermont dual-core Intel Atom CPU, and in September 2014 a second version of Edison was shown at IDF, which was bigger and thicker than a standard SD card.
The Arduino Uno is an open-source microcontroller board based on the Microchip ATmega328P microcontroller (MCU) and developed by Arduino.cc and initially released in 2010. The microcontroller board is equipped with sets of digital and analog input/output (I/O) pins that may be interfaced to various expansion boards (shields) and other circuits. The board has 14 digital I/O pins, 6 analog I/O pins, and is programmable with the Arduino IDE, via a type B USB cable. It can be powered by a USB cable or a barrel connector that accepts voltages between 7 and 20 volts, such as a rectangular 9-volt battery. It has the same microcontroller as the Arduino Nano board, and the same headers as the Leonardo board. The hardware reference design is distributed under a Creative Commons Attribution Share-Alike 2.5 license and is available on the Arduino website. Layout and production files for some versions of the hardware are also available.
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.
The MSP432 is a mixed-signal microcontroller family from Texas Instruments. It is based on a 32-bit ARM Cortex-M4F CPU, and extends their 16-bit MSP430 line, with a larger address space for code and data, and faster integer and floating point calculation than the MSP430. Like the MSP430, it has a number of built-in peripheral devices, and is designed for low power requirements. In 2021, TI confirmed that the MSP432 has been discontinued and "there will be no new MSP432 products".
The Arduino Nano is an open-source breadboard-friendly microcontroller board based on the Microchip ATmega328P microcontroller (MCU) and developed by Arduino.cc and initially released in 2008. It offers the same connectivity and specs of the Arduino Uno board in a smaller form factor.
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.
ESP32 is a series of low-cost, low-power system on a chip microcontrollers with integrated Wi-Fi and dual-mode Bluetooth. The ESP32 series employs either a Tensilica Xtensa LX6 microprocessor in both dual-core and single-core variations, Xtensa LX7 dual-core microprocessor or a single-core RISC-V microprocessor and includes built-in antenna switches, RF balun, power amplifier, low-noise receive amplifier, filters, and power-management modules. ESP32 is created and developed by Espressif Systems, a Chinese company based in Shanghai, and is manufactured by TSMC using their 40 nm process. It is a successor to the ESP8266 microcontroller.
ESP Easy is a free and open source MCU firmware for the Internet of things (IoT). and originally developed by the LetsControlIt.com community. It runs on ESP8266 Wi-Fi based MCU platforms for IoT from Espressif Systems. The name "ESP Easy," by default, refers to the firmware rather than the hardware on which it runs. At a low level, the ESP Easy firmware works the same as the NodeMCU firmware and also provides a very simple operating system on the ESP8266. The main difference between ESP Easy firmware and NodeMCU firmware is that the former is designed as a high-level toolbox that just works out-of-the-box for a pre-defined set of sensors and actuators. Users simply hook up and read/control over simple web requests without having to write any code at all themselves, including firmware upgrades using OTA updates.
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. Its purpose is to be a complete environment for prototyping, development and managing connected devices.
The BPI Bit is an ESP32 with Xtensa 32bit LX6 single/dual-core processor based embedded system
RP2040 is a 32-bit dual ARM Cortex-M0+ microcontroller integrated circuit by Raspberry Pi Ltd. In January 2021, it was released as part of the Raspberry Pi Pico board.
{{cite web}}
: CS1 maint: numeric names: authors list (link)