Aziz Bench

ESP32 comparison: which chip to choose

Tick what your project needs and see which ESP32 chips fit, best first, with all eight side by side: ESP32, S2, S3, C3, C5, C6, H2 and P4. Every figure comes from Espressif’s datasheets.

Best match
ESP32-S3
Dual-core, PSRAM, USB OTG, camera, AI instructions
Matching chips
6 of 8
Requirements
1
Deep sleep (chip)
7 µA
Requirements met by each chip
ESP321/1ESP32-S21/1ESP32-S31/1ESP32-C31/1ESP32-C51/1ESP32-C61/1ESP32-H20/1ESP32-P40/1

Recommended for your project

The chips that have everything you ticked, best first. Untick Wi-Fi to see the ESP32-H2 and ESP32-P4.

Xtensa LX7Best match

ESP32-S3

The all-rounder: two cores at 240 MHz, PSRAM, USB OTG, camera and RGB display interfaces, and vector instructions for AI.

Fits because: Wi-Fi 4 on 2.4 GHz

Watch out: On modules with octal PSRAM, GPIO 35 to 37 are taken. Bluetooth is LE only, so no A2DP audio.

RISC-V

ESP32-C3

A small, low-cost RISC-V chip with Wi-Fi 4, Bluetooth LE 5, USB Serial/JTAG built in and 5 µA in deep sleep.

Fits because: Wi-Fi 4 on 2.4 GHz

Watch out: One core, no PSRAM and only 5 ADC pins you can rely on, since ESP-IDF doesn’t support ADC2.

RISC-V

ESP32-C6

Wi-Fi 6 on 2.4 GHz plus Thread and Zigbee in one chip: the natural pick for Matter devices and mixed networks.

Fits because: Wi-Fi 6 on 2.4 GHz

Watch out: No PSRAM, a single 160 MHz core, and ESPHome supports it only with ESP-IDF.

Radio

Untick Wi-Fi to include the H2 and the P4, which have no Wi-Fi radio.

Interfaces
Memory, pins and power
Compare two chips

Chips that match (6)

  • ESP32-S3Wi-Fi 4 on 2.4 GHz
  • ESP32-C3Wi-Fi 4 on 2.4 GHz
  • ESP32-C6Wi-Fi 6 on 2.4 GHz
  • ESP32Wi-Fi 4 on 2.4 GHz
  • ESP32-C5Wi-Fi 6 on 2.4 and 5 GHz
  • ESP32-S2Wi-Fi 4 on 2.4 GHz

One requirement short

  • ESP32-H2missing Wi-Fi
  • ESP32-P4missing Wi-Fi

Good to know

Tick what your project needs. Every chip here runs Arduino-ESP32 and ESPHome, so the choice comes down to radio, interfaces and power.

All chips side by side

FeatureESP32ESP32-S2ESP32-S3ESP32-C3ESP32-C5ESP32-C6ESP32-H2ESP32-P4
CPU2 × Xtensa LX6, 240 MHz1 × Xtensa LX7, 240 MHz2 × Xtensa LX7, 240 MHz1 × RISC-V, 160 MHz1 × RISC-V, 240 MHz1 × RISC-V, 160 MHz1 × RISC-V, 96 MHz2 × RISC-V, 400 MHz
Low-power coreULP (FSM)ULP RISC-V + FSMULP RISC-V + FSMNoLP RISC-V coreLP RISC-V coreNoLP RISC-V core
SRAM520 KB320 KB512 KB400 KB384 KB512 KB320 KB768 KB
PSRAMExternal (4 MB mapped, up to 8 MB via himem); 2 MB in-package on some versionsIn-package or externalIn-package or external, quad or octalNoIn-package or externalNoNoIn-package, 16 or 32 MB
Wi-FiWi-Fi 4 (802.11 b/g/n), 2.4 GHzWi-Fi 4 (802.11 b/g/n), 2.4 GHzWi-Fi 4 (802.11 b/g/n), 2.4 GHzWi-Fi 4 (802.11 b/g/n), 2.4 GHzWi-Fi 6 (802.11ax), 2.4 + 5 GHzWi-Fi 6 (802.11ax), 2.4 GHzNoNo
BluetoothClassic (BR/EDR) + LE 4.2NoLE 5LE 5LE 5 (Core 6.0 certified)LE 5.3LE 5.3No
Thread / ZigbeeNoNoNoNoYes (802.15.4)Yes (802.15.4)Yes (802.15.4)No
USBNo (USB-serial chip on the board)OTG full speedOTG full speed + Serial/JTAGSerial/JTAG (flash, serial, debug)Serial/JTAG (flash, serial, debug)Serial/JTAG (flash, serial, debug)Serial/JTAG (flash, serial, debug)OTG high speed + full speed, Serial/JTAG
GPIO344345222930 (22 on QFN32)1955
ADC channels18 (ADC1: 8)20 (ADC1: 10)20 (ADC1: 10)6 (ADC1: 5)67514
DAC2 × 8-bit2 × 8-bitNoNoNoNoNoNo
Touch pins101414NoNoNoNo14
CameraParallel (DVP)Parallel (DVP)Parallel (DVP)NoNoNoNoMIPI-CSI + parallel
Display interfaceParallel (i80, via I2S)Parallel (i80, via I2S)Parallel RGB and i80SPI onlySPI onlySPI onlySPI onlyMIPI-DSI + parallel
TWAI (CAN)11112 (CAN FD)213
Ethernet MACYes (RMII)No (SPI module)No (SPI module)No (SPI module)No (SPI module)No (SPI module)No (SPI module)Yes (RMII)
Deep sleep10 µA25 µA7 µA5 µASee datasheet7 µA7 µASee datasheet
AI / DSPNoNo128-bit SIMD (PIE)NoNoNoNo128-bit SIMD (AI/DSP)
ESPHomeYes (ESP-IDF or Arduino)Yes (ESP-IDF or Arduino)Yes (ESP-IDF or Arduino)Yes (ESP-IDF or Arduino)Yes (ESP-IDF)Yes (ESP-IDF)Yes (ESP-IDF, over Thread)Yes (ESP-IDF, Wi-Fi from a second chip)
Arduino-ESP32Yes (core 3.x)Yes (core 3.x)Yes (core 3.x)Yes (core 3.x)Yes (core 3.x)Yes (core 3.x)Yes (core 3.x)Yes (core 3.x)

Deep sleep: typical figure for the chip alone, from Espressif datasheets; a whole board draws more. “See datasheet”: no figure in the datasheet versions we checked. ADC: total channels, and in brackets those on ADC1, the ones you can count on with Wi-Fi on.

Head-to-head comparisons

How to choose an ESP32

Start from the radio. Of these eight chips, Bluetooth Classic, for A2DP audio or a serial port (SPP), is only on the original ESP32, and 5 GHz Wi-Fi only on the ESP32-C5. Thread and Zigbee need an 802.15.4 radio: here, the C5, C6 or H2. The H2 has no Wi-Fi at all, and the P4 has no radio and gets Wi-Fi from a second chip on the board.

Then the interfaces. USB OTG, which lets the board act as a keyboard, a MIDI device or a USB drive, is on the S2, S3 and P4. The C3, C5, C6 and H2 have USB Serial/JTAG: enough to flash, use the serial monitor and debug, but not to act as a USB device of another kind. The original ESP32 has no USB and relies on a USB-serial chip on the board.

For camera, display and AI projects the S3 is the usual choice: PSRAM, camera and RGB display interfaces and vector instructions. The P4 goes further with MIPI camera and display, an H.264 encoder and USB 2.0 high speed, but it needs a second chip for Wi-Fi.

Xtensa or RISC-V

The ESP32, S2 and S3 use Xtensa cores; the C, H and P series use RISC-V. For Arduino and ESP-IDF code this rarely matters, because the same APIs work on both. It matters for precompiled libraries, which must be built for the right architecture, and for a few old Arduino libraries written for the original ESP32 only.

ADC2 and Wi-Fi

On the ESP32, S2 and S3 the second ADC is shared with the Wi-Fi radio, so ADC2 readings fail or have to wait while Wi-Fi is on. On the C3, ESP-IDF doesn’t support ADC2 at all. Put analog inputs on ADC1 and, if your project uses Wi-Fi, count only those channels: that is why the table shows the ADC1 channels in brackets.

Deep sleep: chip or board

The deep-sleep figures come from Espressif’s datasheets and cover the chip alone, with the RTC or LP timer and memory on. A development board usually draws much more: an AMS1117 regulator takes about 5 mA on its own, and the power LED and the USB-serial chip add more. To estimate battery life with your own numbers, use the battery life calculator.

Thread, Zigbee and Matter

Matter runs over Wi-Fi or over Thread. Over Wi-Fi, any chip here with Wi-Fi will do. Over Thread you need an 802.15.4 radio: the H2 suits battery sensors, while the C6 and C5 also have Wi-Fi. A Thread network reaches your home network through a border router, and Zigbee devices go through a coordinator.

Sources: Espressif datasheets for each chip (ESP32-P4: chip revision v3.x), the ESP-IDF chip comparison and ADC driver documentation, the ESPHome ESP32 platform page and the list of SoCs supported by Arduino-ESP32. Checked in November 2026.

Frequently asked questions

Which ESP32 should I buy for a first project?

An ESP32-S3 or an original ESP32 on a DevKit board. Both have two cores, plenty of GPIO and the most examples online. The S3 adds native USB and, on many boards, PSRAM; the ESP32 has Bluetooth Classic. If you want something small and cheap, an ESP32-C3 board handles most sensor and switch projects.

What is the difference between the ESP32 and the ESP32-S3?

The S3 has newer Xtensa LX7 cores at the same 240 MHz, native USB OTG, Bluetooth LE 5, camera and RGB display interfaces, vector instructions for AI and a lower deep-sleep current (7 µA against 10 µA). The ESP32 keeps Bluetooth Classic, a DAC and an Ethernet MAC, which the S3 doesn’t have.

Which ESP32 supports Thread, Zigbee and Matter?

Of these eight, the ESP32-C6, ESP32-C5 and ESP32-H2 have the 802.15.4 radio that Thread and Zigbee use. Matter over Wi-Fi works on any ESP32 with Wi-Fi; Matter over Thread needs one of those three, or a newer chip such as the ESP32-S31. The H2 has no Wi-Fi, so it suits battery sensors that join a Thread or Zigbee network.

Does the ESP32-S2 have Bluetooth?

No. The S2 has Wi-Fi 4 only, with native USB OTG and 14 touch pins. If you need Bluetooth, the S3 has the same strengths plus Bluetooth LE 5 and a second core.

Which ESP32 has 5 GHz Wi-Fi?

Of these eight, only the ESP32-C5. It has Wi-Fi 6 on both 2.4 and 5 GHz, plus Bluetooth LE, Thread and Zigbee. The C6 also has Wi-Fi 6, but only on 2.4 GHz. The ESP32-E22, which Espressif announced in January 2026 and offers as samples for now, is a Wi-Fi 6E radio co-processor (2.4, 5 and 6 GHz) that gives another processor its connection.

Do ESPHome and Arduino support all these chips?

Yes, with limits. ESPHome supports all eight, but its Arduino framework runs only on the ESP32, S2, S3 and C3: the C5, C6, H2 and P4 need ESP-IDF. The H2 has no Wi-Fi, so ESPHome reaches it over Thread, and the P4 gets Wi-Fi from a second chip. The Arduino-ESP32 core 3.x supports all eight.

What about the ESP32-C2, the C61 and the newer chips?

They aren’t in this table. The C2 is a low-cost chip with a reduced set of peripherals. The C61 is a Wi-Fi 6 chip close to the C6 but without the 802.15.4 radio, so no Thread or Zigbee; ESPHome supports both with ESP-IDF, and Arduino only as an ESP-IDF component. The ESP32-S31, in mass production since July 2026, has two RISC-V cores, Wi-Fi 6, Bluetooth 5.4 including Classic, Thread and Zigbee, and a Gigabit Ethernet MAC; it isn’t in the table yet. ESPHome already lists the S31, H4 and H21, which need ESP-IDF 6.1 or later. The ESP32-E22 is a Wi-Fi 6E co-processor with dual-mode Bluetooth, available as samples for now.