ESP8266 and ESP32 Microcontrollers: Architecture, Variants and Practical Comparison

The ESP8266 and ESP32 families from Espressif are among the most important wireless microcontroller platforms used in modern Arduino-compatible projects. They combine microcontroller functionality with integrated WiFi, and in most ESP32 variants also Bluetooth or other wireless protocols.

This article compares the ESP8266, ESP8285 and the most relevant ESP32 generations, including the classic ESP32, ESP32-S3, ESP32-C3, ESP32-C5, ESP32-C6 and the new ESP32-S31.

ESP8266: The Low-Cost WiFi Classic

The ESP8266 was one of the first very low-cost WiFi microcontrollers that became widely popular in the maker and Arduino community.

  • 32-bit Tensilica L106 core
  • Clock speed: typically 80 MHz or 160 MHz
  • 2.4 GHz WiFi
  • No Bluetooth
  • External flash memory required
  • 3.3V logic only

The ESP8266 is still useful for simple WiFi applications, but it is limited compared with modern ESP32 devices. It has fewer GPIOs, less RAM, fewer peripherals and no Bluetooth.

ESP-01S Module

The ESP-01S is one of the best-known ESP8266 modules. It is very small and inexpensive, but also very limited.

  • Based on ESP8266EX
  • Usually supplied with onboard SPI flash
  • Exposes only a small number of usable pins
  • Commonly used with AT firmware or Arduino firmware
  • Requires a stable 3.3V power supply
  • Not breadboard-friendly without an adapter

The ESP-01S is good for very simple WiFi tasks, but for new designs an ESP32-C3, ESP32-C6 or XIAO-style module is usually easier to use.

ESP8285

The ESP8285 is closely related to the ESP8266, but includes integrated flash memory inside the chip package. This makes it useful for very compact modules where board space is limited.

  • Similar CPU and WiFi features to ESP8266
  • Integrated flash memory
  • 2.4 GHz WiFi
  • No Bluetooth
  • 3.3V logic

ESP8285 modules are less common than ESP8266 modules, but they are technically interesting when small size is important.

Classic ESP32: Still Important

The original ESP32 is still widely used and remains a strong general-purpose choice.

  • Dual-core Tensilica LX6 processor
  • Clock speed up to 240 MHz
  • 2.4 GHz WiFi
  • Bluetooth Classic and Bluetooth LE
  • Large peripheral set
  • 3.3V logic only

Common modules include ESP-WROOM-32, ESP32-WROOM-32E and many compatible third-party boards. The ESP32-CAM is also based on the older ESP32 generation, often using an ESP32-S module. In this context, ESP32-S is a module name, not a separate modern ESP32 chip family.

ESP32-S3

The ESP32-S3 is a newer dual-core ESP32 variant focused on AIoT, USB, displays, cameras and higher-performance embedded applications.

  • Dual-core Tensilica LX7 processor
  • Clock speed up to 240 MHz
  • 2.4 GHz WiFi
  • Bluetooth LE 5
  • No Bluetooth Classic
  • USB OTG support
  • Good for displays, cameras, voice and AI-related workloads

The ESP32-S3 is often a better choice than the classic ESP32 for new designs that require USB, camera/display support or more modern Bluetooth LE features.

ESP32-C3

The ESP32-C3 is a compact, low-cost RISC-V ESP32 variant.

  • Single-core 32-bit RISC-V processor
  • Clock speed up to 160 MHz
  • 2.4 GHz WiFi
  • Bluetooth LE 5
  • No Bluetooth Classic
  • Good low-cost replacement for many ESP8266 applications

The ESP32-C3 is useful when a project needs WiFi and BLE in a small, inexpensive package.

ESP32-C6

The ESP32-C6 is a modern RISC-V wireless microcontroller with support for newer wireless protocols.

  • Single-core high-performance RISC-V processor up to 160 MHz
  • Low-power RISC-V core for power-saving operation
  • 2.4 GHz WiFi 6
  • Bluetooth LE 5
  • Zigbee and Thread support via IEEE 802.15.4
  • Good choice for Matter, smart home and modern IoT applications

The CANADUINO ESP32 PLC-100 requires an ESP32-C6 module for operation, making this chip family especially relevant for modern CANADUINO PLC projects.

ESP32-C5

The ESP32-C5 is one of the most important newer ESP32 variants because it adds dual-band WiFi support.

  • Single-core 32-bit RISC-V processor up to 240 MHz
  • 2.4 GHz and 5 GHz dual-band WiFi 6
  • Bluetooth LE 5
  • Zigbee and Thread support
  • External flash and PSRAM support
  • Useful where 5 GHz WiFi support is important

For many future WiFi projects, ESP32-C5 may become one of the most interesting ESP32 options because it finally moves beyond 2.4 GHz-only WiFi.

ESP32-S31

The ESP32-S31 is a new high-performance Espressif SoC with a dual-core RISC-V architecture.

  • Dual-core 32-bit RISC-V processor
  • Clock speed up to 320 MHz
  • High GPIO count
  • Large memory resources
  • Designed for advanced HMI, AIoT and high-performance embedded applications

Because ESP32-S31 is new, module availability and Arduino ecosystem support may still be developing. It is important for future designs, but not yet as established as ESP32, ESP32-S3, ESP32-C3 or ESP32-C6.

Seeed Studio XIAO ESP32 Modules

Seeed Studio XIAO modules are very popular because they combine modern ESP32 chips with a tiny, standardized board format.

  • XIAO ESP32-C3: compact WiFi + BLE board
  • XIAO ESP32-C6: WiFi 6, BLE, Zigbee and Thread
  • XIAO ESP32-S3: stronger performance, PSRAM options, camera/display applications
  • XIAO ESP32-C5: dual-band 2.4 GHz / 5 GHz WiFi 6 and BLE

The XIAO format is especially useful for compact projects, wearable devices, CANABLOX systems and small embedded controllers.

Operating Voltage and GPIO Levels

ESP8266 and ESP32 devices are 3.3V microcontrollers. Their GPIO pins are not 5V tolerant unless a specific module includes additional level shifting, which should not be assumed.

  • Logic voltage: 3.3V
  • Use level shifting when connecting to 5V systems
  • GPIO drive strength is configurable on many ESP32 devices
  • GPIO pins should not be used to directly power motors, relays or high-current loads
  • Some GPIOs have bootstrapping functions and must be used carefully

For reliable hardware design, always check the datasheet and module pinout before assigning GPIOs.

Analog Inputs

ESP32 analog inputs are more flexible than ESP8266 analog inputs, but they still have limitations.

  • ESP8266 has one ADC input on the chip
  • Classic ESP32 has multiple ADC channels
  • ESP32 ADC resolution is typically up to 12-bit
  • ADC accuracy varies and may require calibration
  • On classic ESP32, ADC2 cannot be freely used while WiFi is active

For precision measurements, an external ADC such as ADS1115 is often the better solution.

Communication Interfaces

ESP32 devices generally provide a much richer interface set than ESP8266.

  • I2C: commonly available, usually flexible pin assignment
  • SPI: multiple SPI controllers depending on chip
  • UART: multiple serial interfaces depending on chip
  • I2S: useful for audio and high-speed digital data
  • USB: available on newer variants such as ESP32-S3 and many RISC-V variants
  • CAN/TWAI: available on several ESP32 variants, but requires an external CAN transceiver

Peripheral availability differs by chip and package. The exact datasheet should always be checked before designing a PCB.

Toolchains and Development Options

  • Arduino IDE
  • PlatformIO
  • ESP-IDF
  • MicroPython
  • ESPHome for home automation
  • AT firmware for serial-command operation

Arduino is the easiest entry point, while ESP-IDF gives the most control and access to Espressif's full feature set.

Important Practical Notes

  • ESP8266 and ESP32 require a stable 3.3V power supply
  • Peak WiFi current can be much higher than idle current
  • Good decoupling capacitors are important
  • Strapping pins can affect boot mode
  • Not all GPIOs are safe for every purpose
  • Module pinout matters as much as chip capability

Typical ESP8266 / ESP32 Comparison

Device / Family CPU Clock Wireless RAM / Memory GPIO ADC USB Special Notes
ESP8266EX Single-core Tensilica L106 80 / 160 MHz 2.4 GHz WiFi External flash, limited SRAM Up to ~17 chip GPIOs 1x 10-bit No Classic low-cost WiFi MCU
ESP-01S ESP8266EX module 80 / 160 MHz 2.4 GHz WiFi Onboard flash Very limited exposed pins Usually not exposed No Small AT-command / simple WiFi module
ESP8285 Single-core Tensilica L106 80 / 160 MHz 2.4 GHz WiFi Integrated flash Similar to ESP8266 1x 10-bit No ESP8266-like chip with internal flash
Classic ESP32 Dual-core Tensilica LX6 Up to 240 MHz 2.4 GHz WiFi, Bluetooth Classic, BLE 520 KB SRAM, external flash; optional PSRAM on some modules Up to ~34 chip GPIOs Multiple 12-bit channels No native USB on common modules Still widely used; ESP-WROOM-32, ESP32-CAM generation
ESP32-C3 Single-core RISC-V Up to 160 MHz 2.4 GHz WiFi, BLE 5 400 KB SRAM, external flash Up to ~22 chip GPIOs 12-bit ADC USB Serial/JTAG Good ESP8266 replacement with BLE
ESP32-S3 Dual-core Tensilica LX7 Up to 240 MHz 2.4 GHz WiFi, BLE 5 512 KB SRAM, external flash; PSRAM supported Up to ~45 chip GPIOs 12-bit ADC USB OTG Good for displays, cameras, AIoT and USB projects
ESP32-C6 Single-core RISC-V + low-power core Up to 160 MHz 2.4 GHz WiFi 6, BLE 5, Zigbee, Thread 512 KB SRAM, optional in-package flash variants Up to 30 or 22 chip GPIOs depending on package 12-bit ADC USB Serial/JTAG Modern IoT / Matter / smart-home applications
ESP32-C5 Single-core RISC-V Up to 240 MHz 2.4 GHz + 5 GHz WiFi 6, BLE 5, Zigbee, Thread On-chip SRAM, external flash / PSRAM support Up to 29 chip GPIOs 12-bit ADC USB Serial/JTAG Dual-band WiFi 6 ESP32 generation
ESP32-S31 Dual-core RISC-V Up to 320 MHz Modern Espressif multi-protocol wireless 512 KB SRAM, PSRAM support Up to 60 chip GPIOs Check datasheet Check datasheet New high-performance generation; ecosystem still developing

Which ESP Should You Use?

  • Lowest cost WiFi only: ESP8266 or ESP8285
  • Simple modern WiFi + BLE: ESP32-C3
  • General-purpose projects: classic ESP32 or ESP32-S3
  • Camera, display, USB or AIoT projects: ESP32-S3
  • Smart home / Matter / Thread / Zigbee: ESP32-C6
  • Dual-band 2.4 GHz / 5 GHz WiFi: ESP32-C5
  • Future high-performance designs: ESP32-S31

Conclusion

The ESP8266 made low-cost WiFi microcontroller projects possible, but the ESP32 family is now the better long-term platform for most new designs.

For general Arduino-compatible projects, ESP32-S3 and ESP32-C6 are currently among the most useful choices. ESP32-C5 is especially interesting where 5 GHz WiFi is required, while the new ESP32-S31 points toward the next generation of high-performance Espressif microcontrollers.

Shopping Cart
Scroll to Top