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.