Supported ESP Chips¶
ESPEasy does support a number of variants of the processors manufactured by Espressif.
ESP8266 The original ESP processor, with external flash.
ESP8285 Mainly found in “Chinese” products. Has flash built in the processor. (almost always 1MByte flash)
ESP32 The first successor of the ESP82xx, supporting 2 CPU cores, Bluetooth and more RAM and more GPIO pins. (and other new features)
ESP32-solo1 Same as ESP32, but with 1 core, running at 160 MHz. Used in some commercially sold devices like the early editions of the orange Shelly modules.
ESP32-S2 Has more GPIO pins than the ESP32, but only 1 CPU core. Initial support in ESPEasy added since 2021-09-19.
ESP32-S3 Support added: 2023-05-03
ESP32-C3 / ESP8685 Support added: 2023-05-03
ESP32-C2 / ESP8684 Support added: 2023-11-10
ESP32-C6 Support added: 2023-11-10
ESP32-H2 Not yet supported
ESP8266 (ESP8285) |
ESP32 (ESP32solo1) |
ESP32-S2 |
ESP32-S3 |
ESP32-C3 (ESP8685) |
ESP32-C2 (ESP8684) |
ESP32-C6 |
ESP32-H2 |
|
---|---|---|---|---|---|---|---|---|
CPU |
Xtensa® single-core 32-bit L106 |
Xtensa® dual-core 32-bit LX6 (solo1:single core) |
Xtensa® single-core 32-bit LX7 |
Xtensa® dual-core 32-bit LX7 |
32-bit RISC-V single-core processor |
32-bit RISC-V single-core processor |
32-bit RISC-V single-core processor |
32-bit RISC-V single-core processor |
Core |
1 |
2 (solo1:1) |
1 |
2 |
1 |
1 |
1 |
1 |
Freq. (MHz) |
80 |
240 (solo1:160) |
240 |
240 |
160 |
120 |
160 |
96 |
Voltage (V) |
2.5 ~ 3.6 |
3.0 ~ 3.6 |
3.0 ~ 3.6 |
3.0 ~ 3.6 |
3.0 ~ 3.6 |
3.0 ~ 3.6 |
3.0 ~ 3.6 |
3.3 ~ 3.6 |
ESPEasy supported since |
2015/05 |
2017/12 (solo1:2023/05) |
2021/09 |
2023/05 |
2023/05 |
2023/11 |
2023/11 |
|
Introduction |
2014 |
2016 |
2019 |
2021 |
2020 |
2022 |
2021 |
2021 |
Status (2024/03) |
NRND |
Mass Production (solo1: NRND) |
NRND |
Mass Production |
Mass Production |
Mass Production |
Mass Production |
Mass Production |
Wi-Fi |
IEEE 802.11 b/g/n; 2.4 GHz; HT20; up to 72 Mbps |
IEEE 802.11 b/g/n; 2.4 GHz; HT20/40; up to 150 Mbps |
IEEE 802.11 b/g/n; 2.4 GHz; HT20/40; up to 150 Mbps |
IEEE 802.11 b/g/n; 2.4 GHz; HT20/40; up to 150 Mbps |
IEEE 802.11 b/g/n; 2.4 GHz; HT20/40; up to 150 Mbps |
IEEE 802.11 b/g/n; 2.4 GHz; HT20; up to 150 Mbps |
IEEE 802.11 b/g/n; 2.4 GHz; HT20/40; up to 150 Mbps |
No Wi-Fi |
Wi-Fi 6 |
IEEE 802.11 ax; 2.4 GHz; HT20; up to 150 Mbps |
|||||||
Zigbee / Thread (802.15.4) |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
Available |
Available |
Bluetooth |
N/A |
BR/EDR + Bluetooth LE v4.2 |
N/A |
Bluetooth LE v5.0 |
Bluetooth LE v5.0 |
Bluetooth LE v5.0 |
Bluetooth LE v5.3 |
Bluetooth LE v5.0 |
SRAM (KB) |
160 |
520 |
320 |
512 |
400 |
272 |
512 |
320 |
ROM (KB) |
448 |
128 |
384 |
384 |
576 |
320 |
128 |
|
RTC SRAM (KB) |
1 |
16 |
16 |
16 |
8 |
0 |
16 |
4 |
ADC |
1*10-bit ADC, 1 channel |
2*12-bit ADC, 18 channels |
2*13-bit ADC, 20 channels |
2*12-bit ADC, 20 channels |
2*12-bit ADC, 6 channels |
1*12-bit ADC, 5 channels |
1*12-bit ADC, 7 channels |
1*12-bit ADC, 5 channels |
DAC |
0 |
2*8-bit DAC |
2*8-bit DAC |
0 |
0 |
0 |
0 |
0 |
Touch |
0 |
10 |
14 |
14 |
0 |
0 |
0 |
0 |
Temp Sensor |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
|
GPIO |
16 |
26 |
37 |
36 |
15 |
14 |
23 |
19 |
Strapping GPIO |
0, 2, 15 |
0, 2, 5, 12, 15 |
0, 45, 46 |
0, 3, 45, 46 |
2, 8, 9 |
8, 9 |
4, 5, 8, 9, 15 |
8, 9 |
GPIO for flash/PSRAM |
6, 7, 8, 9, 10, 11 |
6, 7, 8, 9, 10, 11 (PSRAM or embedded flash: 16, 17) |
27, 28, 29, 30, 31, 32 (OPI: 33, 34, 35, 36, 37) |
27, 28, 29, 30, 31, 32 (OPI: 33, 34, 35, 36, 37) |
11, 12, 13, 14, 15, 16, 17 |
11, 12, 13, 14, 15, 16, 17 |
20, 21, 22, 24, 25, 26 |
|
UART |
1.5 (Serial1 out only) |
3 |
2 |
3 |
2 |
2 |
3 |
2 |
SPI |
2 |
4 |
4 |
4 |
3 |
3 |
1 |
3 |
SDIO HOST |
1 |
0 |
2 |
0 |
0 |
0 |
0 |
|
SDIO SLAVE |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
|
I2C |
1(soft) |
2 |
2 |
2 |
1 |
1 |
2 |
2 |
I2S |
1 |
2 |
1 |
2 |
1 |
0 |
1 |
1 |
RMT |
0 |
1*8 channels |
1*4 channels |
1*4 channels |
1*4 channels |
0 |
1*4 channels |
1*2 channels |
LED PWM |
0 |
2*8 channels |
1*8 channels |
1*8 channels |
1*6 channels |
1*6 channels |
1*6 channels |
1*6 channels |
MCPWM |
0 |
2 |
0 |
2 |
0 |
0 |
1 |
1 |
USB OTG |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
USB Serial / JTAG |
N/A |
N/A |
YES |
YES |
YES |
N/A |
YES |
YES |
Hall |
0 |
1 (removed in ESP-IDF5) |
0 |
0 |
0 |
0 |
0 |
0 |
Ethernet |
0 |
1 (RMII and SPI) |
1 (SPI) |
1 (SPI) |
1 (SPI) |
1 (SPI) |
1 (SPI) |
0 |
TWAI (CAN) |
0 |
1 |
1 |
1 |
1 |
0 |
2 |
1 |
JTAG |
YES |
YES |
YES |
YES |
YES |
YES |
YES |
|
Camera |
N/A |
1*DVP 8/16-bit |
1*DVP 8/16-bit |
1*DVP 8/16-bit |
N/A |
N/A |
N/A |
N/A |
TOF |
N/A |
N/A |
YES |
N/A |
N/A |
N/A |
N/A |
N/A |
BT Certification |
BT SIG |
BT SIG |
BT SIG |
|||||
Wi-Fi Certification |
WPA 2 |
Wi-Fi Alliance/WPA 3 |
Wi-Fi Alliance/WPA 3 |
WFA |
||||
Green Certification |
RoHS/REACH |
RoHS/REACH |
RoHS/REACH |
RoHS/REACH |
RoHS/REACH |
|||
RF Certification |
FCC / CE-RED / IC / TELEC / KCC / SRRC / NCC |
FCC / CE-RED / SRRC / IC |
SRRC / CE / FCC / IC / MIC / NCC / KCC |
FCC / CE-RED / SRRC / IC |
SRRC |
|||
Sleep Power Consumption |
900 µA light sleep, 20 µA deep sleep |
800 µA light sleep, 10 µA deep sleep |
750 µA light sleep, 25 µA deep sleep |
240 µA light sleep, 8 µA deep sleep |
130 µA light sleep, 5 µA deep sleep |
140 µA light sleep, 5 µA deep sleep |
180 µA / 35 µA light sleep, 7 µA deep sleep |
Sources:
Datasheets¶
Technical Reference Manuals¶
ESP8266/ESP8285¶
The ESP8266 was the “original” ESP platform and was found in the original Sonoff Basic modules. The ESP8266 does need an external SPI flash module to store its progam data and configuration.
Later a (probably) less expensive ESP8285 appeared, which does have the SPI flash integrated in the chip. This means you cannot upgrade it by soldering a larger flash chip on it. It does however free up 2 GPIO pins, which were previously unavailable as they were used to access the SPI flash. For some products like the Sonoff 4ch modules this chip was a must-have.
The small 1MB flash does impose some issues when trying to perform an “OTA” update of the firmware as there is not enough space to store the active firmware and the new version at the same time. For 1MB modules (some ESP8266 modules were also sold with 1MB flash, like the ESP-01 modules) you need to take some extra steps to perform an OTA update. Otherwise the only way to upgrade to a newer build is by flashing using the serial port.
ESP32/ESP32-solo1¶
The most important new features of the ESP32, compared to ESP82xx are:
Dual core CPU @ 240 MHz (solo1: Single core CPU @ 160 MHz)
Upto 320 kByte of RAM
3 Hardware serial ports
Bluetooth (not supported yet in ESPEasy)
Extra GPIO pins
Upto 18 GPIO pins can operate as ADC.
Upto 10 touch pins
Support for Ethernet
Note
Use ESP32-solo1 build for unknown ESP32-based devices, or when flashing an “ESP32-classic” build results in a boot-loop.
The ESP32-solo1 is known to be used in:
Shelly Plus 1
Shelly Plus 1PM
Shelly Plus 2PM
Shelly Plus i4 (only early shipped units)
Most Xiaomi devices seem to have an OEM ESP32-solo1
Support for the ESP32-solo1 is only added because some vendors have used it in their products. Since there is only a very limited set of devices using a single core ESP32, we only provide the basic versions of ESPEasy builds for this platform.
The “solo1” variant does not add any extras compared to the ESP32 dual core and thus should not be used in new products.
ESP32-S2¶
Added: 2021/09
The ESP32-S2 is a bit strange when looking at its features and taking into account it was introduced about 3 years after the ESP32.
The ESP32-S2 is missing quite a lot of useful features its predecessor had:
No Bluetooth
Single core
No support for Ethernet
No support for CAN
2 Harware Serial ports.
Less RAM
The only advantages of the ESP32-S2 compared to its predecessor are:
More GPIO pins
2 extra ADC capable pins
4 extra touch capable pins
USB OTG (not yet supported in ESPEasy)
Native USB (supported only for ESPEasy Serial console)
LCD interface (not yet supported in ESPEasy)
Camera interface (not yet supported in ESPEasy)
Extra hardware accelerated encryption functions (not yet supported in ESPEasy)
Supposedly lower power consumption (not yet verified)
Time of Flight (TOF) support that would (theoretically) allow indoor positioning (not yet supported in ESPEasy)
ESP32-S3¶
Added: 2023/05/09
The most powerful and versatile ESP32 variant currently available.
It outperforms the classic ESP32 in almost any way.
The only drawback is that it doesn’t support a RMII ethernet interface.
Note
Support for the ESP32-S3 is very preliminary, as in it is hardly tested (as of May 2023)
Quad/Octal SPI mode¶
SPI wiring to flash/PSRAM on ESP32-S3 is a bit of a mess.
Some ESP32-S3 chips have embedded PSRAM. When they do, you may need to have the SPI bus for memory/flash set to QIO/OPI mode.
Flash and PSRAM can be wired using 4 (quad/QIO/QSPI mode) or 8 (octal/OPI mode) lines to the SPI bus. However a device intended for octal mode cannot work in quad mode and vice verse.
2 MB PSRAM typically operates in quad mode.
8 MB PSRAM typically needs octal (OPI) mode.
8 MB PSRAM addressed in quad (QIO/QSPI) mode, will simply not be detected.
Using the wrong SPI mode to address flash is even worse as it isn’t really clear which flash sizes may use quad and which use octal wired flash. Also it is impossible to simply detect how it is wired at runtime and change these access modes when booting the device.
To support all modes, we simply need to make several versions
Module |
Chip |
Flash (Mode) |
SPI RAM (Mode) |
Build memory_type |
---|---|---|---|---|
ESP32-S3-WROOM-1x-N4 |
ESP32-S3 |
4 MB (Quad SPI) |
|
|
ESP32-S3-WROOM-1x-N8 |
ESP32-S3 |
8 MB (Quad SPI) |
|
|
ESP32-S3-WROOM-1x-N16 |
ESP32-S3 |
16 MB (Quad SPI) |
|
|
ESP32-S3-WROOM-1x-H4 |
ESP32-S3 |
4 MB (Quad SPI) |
|
|
ESP32-S3-WROOM-1x-N4R2 |
ESP32-S3R2 |
4 MB (Quad SPI) |
2 MB (Quad SPI) |
|
ESP32-S3-WROOM-1x-N8R2 |
ESP32-S3R2 |
8 MB (Quad SPI) |
2 MB (Quad SPI) |
|
ESP32-S3-WROOM-1x-N16R2 |
ESP32-S3R2 |
16 MB (Quad SPI) |
2 MB (Quad SPI) |
|
ESP32-S3-WROOM-1x-N4R8 |
ESP32-S3R8 |
4 MB (Quad SPI) |
8 MB (Octal SPI) |
|
ESP32-S3-WROOM-1x-N8R8 |
ESP32-S3R8 |
8 MB (Quad SPI) |
8 MB (Octal SPI) |
|
ESP32-S3-WROOM-1x-N16R8 |
ESP32-S3R8 |
16 MB (Quad SPI) |
8 MB (Octal SPI) |
|
ESP32-S3-WROOM-2-N16R8V |
ESP32-S3R8V |
16 MB (Octal SPI) |
8 MB (Octal SPI) |
|
ESP32-S3-WROOM-2-N32R8V |
ESP32-S3R8V |
32 MB (Octal SPI) |
8 MB (Octal SPI) |
|
ESP32-S3-MINI-1x-N8 |
ESP32-S3FN8 |
8 MB (Quad SPI) |
|
|
ESP32-S3-MINI-1x-N4R2 |
ESP32-S3FH4R2 |
4 MB (Quad SPI) |
2 MB (Quad SPI) |
|
ESP32-S3-MINI-1x-H4R2 |
ESP32-S3FH4R2 |
4 MB (Quad SPI) |
2 MB (Quad SPI) |
|
Build versions:
All ESP32-S3 builds have PSRAM enabled.
The default SPI mode will be quad mode for both flash and PSRAM
max_ESP32s3_16M8M_LittleFS_OPI_PSRAM_CDC
will have quad mode for flash and octal (OPI) mode for PSRAM. (typical 8MB PSRAM)
ESP32-C3/ESP8685¶
Added: 2023/05/09
The ESP32-C3 is available in various versions.
For example there is an ESP32-C3-12F module made by Espressif clearly aimed to be a 1-to-1 replacement of the ESP12-F, which uses the ESP8266.
The ESP8685 seems to be low budget alternative for the ESP32-C3 with only difference being the embedded flash inside the ESP chip and slightly smaller dimensions as the GPIO pins for flash are not made available outside the chip.
Due to the RISC-V core used in the ESP32-C3, this is a very ‘snappy’ device and the SDK support appears to be far more mature then what one might expect given its relative recent introduction.
Note
Support for the ESP32-C3 is very preliminary, as in it is hardly tested (as of May 2023)
ESP32-C2/ESP8684¶
Added: 2023/11/10
The ESP32-C2 is only available with embedded flash and can also be found labeled as “ESP8684”.
It looks like it is aimed to be used in single purpose devices, due to its low GPIO count and only requiring a bare minimum of external parts.
Espressif suggests this SoC as replacement for the ESP8266/ESP8285
It is yet unclear whether the ESP8684 and ESP32-C2 are exchangable, like with the ESP32-C3 and the ESP8685.
Note
No official support from Arduino (as of Nov 2023), preliminary support in ESPEasy.
ESP32-C6¶
Added: 2023/11/10
The ESP32-C6 seems to be aimed at being used as a gateway for the new Thread protocol and Wi-Fi.
It is the more powerful version of the ESP32-H2 and also includes not only the traditional 2.4 GHz Wi-Fi, but also the new Wi-Fi6 standard on 2.4 GHz and IEEE 802.15.4 (Zigbee/Thread). Zigbee/Thread not yet supported by ESPEasy (March 2024).
Note
Labeled as “unstable” by the Arduino team (as of Nov 2023), preliminary support in ESPEasy
ESP32-H2¶
This is a rather strange product as it does not support any Wi-Fi. However it is the first device aimed at the new Thread standard.
Since it does not support any Wi-Fi, it is unsure if there will be ESPEasy support for it in the near future.
Note
Not yet supported (as of May 2023)