meta data for this page
This is an old revision of the document!
lamaPLC: ESP32 / ESP8266
The ESP32 can operate as a standalone system or as a slave device to a host MCU, reducing communication stack overhead on the central application processor. It can interface with other systems to provide Wi-Fi and Bluetooth functionality via its SPI/SDIO or I²C/UART interfaces. The ESP32 / ESP8266 was designed by Espressif Systems and is manufactured by TSMC using their 40 nm process
Different between ESP32 and ESP8266
The main differences are that the ESP32 has significantly more processing power (a dual-core CPU), more memory, and Bluetooth, while the ESP8266 is older, single-core, and Wi-Fi-only. The ESP32 is better suited to complex projects due to its improved performance and peripheral features, while the ESP8266 is a more affordable choice for simple IoT applications.
Types of ESP32 / ESP8266
| Type of ESP32 | CPU | Max clock speed | Connectivity | RAM | GPIO | ADC | Security | Peripherials/Note |
|---|---|---|---|---|---|---|---|---|
| ESP8266 Cost-effective and highly integrated Wi-Fi MCU for IoT applications | Single-core L106 32-bit RISC | 160 MHz | Wi-Fi only | 160KB SRAM | 17 | 10-bit ADC | TLS encryption, validate certificates | SPI, I2C, and UART, no TWAI |
| ESP32 Integrated Wi-Fi and Bluetooth connectivity for a wide-range of applications | Dual-core LX6/LX7 | 240 MHz | Wi-Fi and Bluetooth (BLE) | 520KB | 34 | 12-bit ADC | Secure Boot, Flash Encryption, HMAC | Ethernet, USB, touch sensors, CAN, and hall sensor, 1 TWAI |
| ESP32-DOWD Wide variety of applications, ranging from low-power sensors networks ESP32-WROOM-32D | Dual-core LX6 | 240 MHz | Wi-Fi and Bluetooth (BLE) | 520KB | 32 | two 12-bit SAR ADC | Secure Boot, Flash Encryption | SD card, UART, SPI, SDIO, I2C, LED PWM, Motor PWM, I2S, IR, pulse counter, GPIO, capacitive touch sensor, ADC, DAC, TWAI® (compatible with ISO 11898-1, i.e., CAN Specification 2.0) |
| ESP32-C2 Small-sized, cost-effective SoC | Single-core RISC-V | 120 MHz | Wi-Fi 2.4 GHz, Bluetooth 5 (LE) | 272 KB SRAM 576 KB ROM | 20 | 12-bit ADC | Secure Boot, Flash Encryption | SPI, UART, I2C, LED PWM controller, General DMA controller (GDMA), SAR ADC, no TWAI |
| ESP32-C3 A cost-effective RISC-V MCU with Wi-Fi and Bluetooth 5 (LE) connectivity for secure IoT applications | Single-core RISC-V | 160 MHz | Wi-Fi 2.4 GHz, Bluetooth 5 (LE) | 400 KB SRAM 384 KB ROM | 22 | 12-bit ADC | Secure Boot, Flash Encryption | Cost-sensitive applications, Pin compatible with ESP8266, 1 TWAI |
| ESP32-C5 2.4 and 5 GHz dual-band Wi-Fi 6 MCU, along with Bluetooth 5 (LE) and 802.15.4 for secure and reliable connectivity | Single-core 32-bit RISC-V | 240 MHz | Wi-Fi 6 2.4/5 GHz, Bluetooth 5 (LE), Thread, Zigbee, Matter, HomeKit, MQTT | 384KB SRAM 320KB ROM | 29 | 12-bit ADC | Secure boot, flash, and PSRAM encryption, and cryptographic accelerators | ADC, SPI, UART, I2C, I2S, RMT, PWM, 2 TWAI |
| ESP32-C6 A low-power and cost-effective 2.4 GHz Wi-Fi 6 + Bluetooth 5 (LE) + Thread/Zigbee SoC | Single-core RISC-V | 160 MHz | Wi-Fi 6 2.4 GHz, Bluetooth 5.3 (LE), Thread, Zigbee, Matter | 512 KB SRAM 320 KB ROM | 30 (QFN40) or 22 (QFN32) | 12-bit ADC | RSA-3072 support | Matter Gateways, Thread Border Routers or Zigbee Matter Bridges, SPI, UART, I2C, I2S, RMT, TWAI, PWM, SDIO, Motor Control PWM, 2 TWAI |
| ESP32-C61 Delivering affordable Wi-Fi 6 connectivity | Single-core RISC-V | 160 MHz | Wi-Fi 6 2.4 GHz, Bluetooth 5.3 (LE) + Mesh 1.1, Matter | 320 KB SRAM 256 KB ROM | 30 (QFN40) or 22 (QFN32) | 12-bit ADC | secure boot, flash and PSRAM encryption | I2C, I2S, SPI, UART, LED PWM, 2 TWAI, ADC, GPIO, LP IO, Timers, and GDMA. Specialized peripherals include the Event Task Matrix (ETM) for automation-triggered tasks and the Analog Voltage Comparator for easy zero-crossing detection |
| ESP32-H2 Low power and secure connectivity | Single-core 32-bit RISC-V | 96 MHz | Wi-Fi 2.4 GHz, Bluetooth 5 (LE), Thread, Zigbee, Matter | 320KB SRAM 128KB ROM | 19 | 12-bit ADC | Secure Boot, Flash Encryption | ADC, SPI, UART, I2C, I2S, RMT, 1 TWAI, GDMA and LED PWM |
| ESP32-S2 Secure and Powerful Wi-Fi MCU with Numerous I/O Capabilities Wemos S2 mini | Single-core Xtensa LX7 | 240 MHz | Wi-Fi 2.4 GHz, USB OTG | 320KB SRAM 128KB ROM | 43 | 2 × 13-bit SAR ADC | RSA-3072 support | Camera Interface, fit for lower-power applications like secure IoT |
| ESP32-S3 Powerful AI acceleration Reliable security features ESP32-S3 Super Mini | Dual-core Xtensa LX7 | 240 MHz | Wi-Fi 2.4 GHz, Bluetooth 5 (LE), USB OTG | 512KB SRAM 384KB ROM | 45 | 2 × 12-bit SAR ADC | RSA-4096 support | Camera Interface, Accelerate machine learning applications |
| ESP32-P4 High-performing SoC offering extensive IO connectivity, HMI, and security | Dual-core RISC-V | 400 MHz | Wi-Fi 6, Bluetooth 5 (LE), USB OTG, ACK, AWS IoT ExpressLink, etc | 768KB SRAM | 55 | - | Secure Boot, Flash Encryption, cryptographic accelerators, and TRNG ensure | SPI, I2S, I2C, LED PWM, MCPWM, RMT, ADC, UART, 3 TWAI. Additionally, it supports USB OTG 2.0 HS, Ethernet, and SDIO Host 3.0. Parallel display and camera interfaces. |
ESP32-WROOM-32D
Features
- CPU and On-Chip Memory
- ESP32-D0WD embedded, Xtensa dual-core 32-bit LX6 microprocessor, up to 240 MHz
- 448 KB ROM
- 520 KB SRAM
- 8 KB SRAM in RTC
- Wi-Fi
- 802.11b/g/n
- Bit rate: 802.11n up to 150 Mbps
- A-MPDU and A-MSDU aggregation
- 0.4 µs guard interval support
- Center frequency range of operating channel: 2412 ~ 2484 MHz
- Bluetooth
- Bluetooth V4.2 BR/EDR and Bluetooth LE specification
- Class-1, class-2 and class-3 transmitter
- AFH
- CVSD and SBC
- Peripherals
- Up to 32 GPIOs (5 strapping GPIOs)
- SD card, UART, SPI, SDIO, I2C, LED PWM, Motor PWM, I2S, IR, pulse counter, GPIO, capacitive touch sensor, ADC, DAC, TWAI (compatible with ISO 11898-1, i.e., CAN Specification 2.0)
Wemos S2 mini
Features
- A mini wifi board based on ESP32-S2FN4R2
- Type-C USB
- ADC, DAC, I2C, SPI, UART, USB OTG
- Compatible with LOLIN D1 mini shields
- Compatible with MicroPython, Arduino, CircuitPython, and ESP-IDF
- Default firmware: MicroPython
- Operating Voltage: 3.3V
- Digital I/O Pins: 27
- Clock Speed: 240MHz
- Flash: 4M Bytes
- PSRAM: 2M Bytes
- Wi-Fi: IEEE 802.11 b/g/n-compliant Supports 20 MHz, 40 MHz bandwidth in the 2.4 GHz band Single-band 1T1R mode with data rate up to 150 Mbps WMM TX/RX A-MPDU, RX A-MSDU Immediate Block ACK Fragmentation and defragmentation Automatic Beacon monitoring (hardware TSF) 4 × virtual Wi-Fi interfaces Simultaneous support for Infrastructure Station, SoftAP, and Promiscuous modes Note that when ESP32-S2 is in Station mode and performs a scan, the SoftAP channel will change along with the Station channel. Antenna diversity 802.11mc FTM
- Security: Secure boot Flash encryption 4096-bit OTP, up to 1792 bits for users Cryptographic hardware acceleration: AES-128/192/256 (FIPS PUB 197), Hash (FIPS PUB 180-4), RSA, Random Number Generator (RNG), HMAC Digital signature
- Advanced Peripheral Interfaces:
- 43 × programmable GPIs
- Digital interfaces:
- 4 × SPI
- 1 × I2S
- 2 × I²C
- 2 × UART
- 1 × RMT (TX/RX)
- LED PWM controller, up to 8 channels
- 4 × pulse counters
- 1 × full-speed USB OTG
- 1 × DVP 8/16 camera interface, implemented using the hardware resources of I2S
- 1 × LCD interface (8-bit serial RGB/8080/6800), implemented using the hardware resources of SPI2
- 1 × LCD interface (8/16/24-bit parallel)
- DMA controller
- 1 × TWAI® controller compatible with ISO 11898-1 (CAN Specification 2.0)
- Analog interfaces:
- 2 × 12-bit SAR ADCs, up to 20 channels
- 2 × 8-bit DACs
- 14 × touch sensing GPIOs
- 1 × temperature sensor
Arduino
Choose board LOLIN S2 MINI or LOLIN S2 PICO.
ESP32-S3 Super Mini
Features
- A mini wifi board based on ESP32-S3
- Wi-Fi: IEEE 802.11b/g/n-compliant Supports 20 MHz and 40 MHz bandwidth in 2.4 GHz band 1T1R mode with data rate up to 150 Mbps Wi-Fi Multimedia (WMM) TX/RX A-MPDU, TX/RX A-MSDU Immediate Block ACK Fragmentation and defragmentation Automatic Beacon monitoring (hardware TSF) Four virtual Wi-Fi interfaces Simultaneous support for Infrastructure BSS in Station, SoftAP, or Station + SoftAP modes Note that when ESP32-S3 scans in Station mode, the SoftAP channel will change along with the Station channel Antenna diversity 802.11mc FTM * Bluetooth: Bluetooth LE: Bluetooth 5, Bluetooth mesh High power mode (20 dBm) Speed: 125 Kbps, 500 Kbps, 1 Mbps, 2 Mbps Advertising extensions Multiple advertisement sets Channel selection algorithm #2 Internal co-existence mechanism between Wi-Fi and Bluetooth to share the same antenna * CPU and Memory: Xtensa® dual-core 32-bit LX7 microprocessor, Clock speed: up to 240 MHz * Advanced Peripheral Interfaces * 45 programmable GPIOs * 4 strapping GPIOs * 6 or 7 GPIOs needed for in-package flash or PSRAM * ESP32-S3FN8、ESP32-S3R2、ESP32-S3R8、ESP32-S3R8V、ESP32-S3R16V: 6 GPIOs needed * ESP32-S3FH4R2: 7 GPIOs needed * Digital interfaces: * Two SPI ports for communication with flash and RAM * Two general-purpose SPI ports * LCD interface (8-bit ~ 16-bit parallel RGB, I8080 and MOTO6800), supporting conversion between RGB565, YUV422, YUV420 and YUV411 * DVP 8-bit ~ 16-bit camera interface * Three UARTs * Two I2Cs * Two I2Ss * RMT (TX/RX) * Pulse counter * LED PWM controller, up to 8 channels * Full-speed USB OTG * USB Serial/JTAG controller * Two Motor Control PWMs (MCPWM) * SD/MMC host controller with 2 slots * General DMA controller (GDMA), with 5 transmit channels and 5 receive channels * TWAI® controller, compatible with ISO 11898-1 (CAN Specification 2.0) * On-chip debug functionality via JTAG * Analog interfaces:**
- Two 12-bit SAR ADCs, up to 20 channels
- Temperature sensor
- 14 touch sensing IOs
Sources
https://www.espressif.com/en/products/
https://www.wemos.cc/en/latest/tutorials/s2/get_started_with_arduino_s2.html
https://documentation.espressif.com/esp32-s2_datasheet_en.pdf
https://documentation.espressif.com/esp32-wroom-32d_esp32-wroom-32u_datasheet_en.pdf
Communication topics on lamaPLC
This page has been accessed for: Today: 5, Until now: 21








