Which ESP32 for Your IoT Product? A Variant-by-Variant Guide

ESP32 comes in 7+ variants. Each trades off connectivity, processing power, cost, and size differently. Here's how to pick the right one for your connected product.

Published

Author

If you're building a connected product, chances are ESP32 is on your shortlist. It's the most common microcontroller among developers on the Blynk platform (over half of all connected devices), and one of the most widely used in IoT generally, though it's far from the only option (Nordic's nRF series, STM32, and Raspberry Pi all have strong ecosystems depending on your use case).

What catches people off guard is that "ESP32" isn't one chip anymore. Espressif has seven variants in production, with more coming, and each makes different choices about CPU architecture, wireless protocols, and peripheral support. Picking the wrong one means either paying for capabilities you don't use or discovering six months into development that you need a feature your chip doesn't have.

This guide covers every current ESP32 variant and when each one makes sense. One thing worth noting upfront: Espressif is moving from Xtensa to RISC-V across the lineup. The original ESP32 and S-series use Xtensa cores. Every new variant (C3, C5, C6, H2, C2, P4) uses RISC-V. The S3 appears to be the last major Xtensa chip, though Espressif hasn't formally confirmed this. Both architectures work fine for IoT, but if you're starting a new design, RISC-V is the direction the ecosystem is heading.

The Variants at a Glance

Variant CPU Cores Clock WiFi Bluetooth Other Wireless RAM Flash Key Feature
ESP32 (original)Xtensa LX62240 MHz802.11 b/g/nClassic BT + BLE 4.2520 KBUp to 16 MBThe default. Only variant with Classic Bluetooth.
ESP32-S2Xtensa LX71240 MHz802.11 b/g/nNone320 KBUp to 128 MBUSB OTG native. No Bluetooth at all. Niche.
ESP32-S3Xtensa LX72240 MHz802.11 b/g/nBLE 5.0512 KBUp to 128 MBAI/ML acceleration, camera interface, USB OTG.
ESP32-C3RISC-V1160 MHz802.11 b/g/nBLE 5.0400 KBUp to 4 MBBudget WiFi + BLE. Low cost in volume.
ESP32-C5RISC-V1240 MHzWiFi 6 dual-band (2.4+5 GHz)BLE 5.0802.15.4 (Thread, Zigbee)384 KBUp to 4 MBOnly ESP32 with 5 GHz WiFi. In production since 2025.
ESP32-C6RISC-V1+1160 MHzWiFi 6 (2.4 GHz)BLE 5.0802.15.4 (Thread, Zigbee)512 KBUp to 4 MBWiFi 6 + Thread. Supports Matter over Thread or WiFi. HP + LP core.
ESP32-H2RISC-V196 MHzBLE 5.0802.15.4 (Thread, Zigbee)320 KBUp to 4 MBNo WiFi. Thread/Zigbee only. Supports Matter over Thread.
ESP32-C2RISC-V1120 MHz802.11 b/g/nBLE 5.0272 KBUp to 4 MBLowest-cost option. ESP8266 replacement.

Choosing by Use Case

"I need a reliable, proven chip for a connected product"

Pick: ESP32 (original) or ESP32-S3

The original ESP32 is the safe choice for most IoT products. Dual-core at 240 MHz handles concurrent tasks (sensor reading + WiFi communication) without contention. It's also the only variant in the family with Classic Bluetooth (BR/EDR).

Every other ESP32 chip is BLE-only. If your product needs to stream audio over Bluetooth or connect to legacy BT peripherals, this is still your only option. The ecosystem is unmatched: every library, every tutorial, every forum answer assumes ESP32. It accounts for over half of all devices connected to Blynk.

Go with ESP32-S3 if you need more: AI/ML inference on the edge (vector instructions for neural network workloads), camera or LCD interfaces, or USB host/device capability. The S3 is the performance variant. It's where Espressif puts the premium features. But it costs more and draws more power than simpler variants.

"I'm building a battery-powered sensor that sends data periodically"

Pick: ESP32-C3

Single-core RISC-V at 160 MHz. WiFi + BLE 5.0. Deep sleep current around 5 uA. The C3 strips away everything you don't need for a sensor node: no dual-core overhead, no camera interface, no AI acceleration. What you get is the cheapest chip that does WiFi + BLE, with power consumption that makes battery operation practical for reporting intervals of minutes to hours.

The C3 is also the entry point for the RISC-V architecture in the ESP32 family. RISC-V is the direction Espressif is heading: the C6, H2, and C2 all use it. Starting a new design on RISC-V now means the architecture will be familiar when you need to scale to those variants later.

"I need Matter, Thread, or Zigbee support"

Quick clarification: Matter is a software protocol that runs on top of Thread (802.15.4) or WiFi. The chips below provide the hardware radios that Matter needs.

Pick: ESP32-C6 (gateway), ESP32-C5 (dual-band gateway), or ESP32-H2 (endpoint)

The ESP32-C6 is the most versatile chip in the lineup. WiFi 6 (802.11ax) plus BLE 5.0, Thread, and Zigbee in a single chip. It also has a dedicated low-power core (20 MHz) alongside the main 160 MHz core, which handles background tasks while the main core sleeps. It's the natural choice for a Matter-compatible smart home device that needs to bridge between WiFi and Thread networks.

The ESP32-C5 adds something the C6 doesn't: dual-band WiFi 6 (2.4 GHz and 5 GHz). It's the only ESP32 variant that works on the 5 GHz band. In dense WiFi environments where 2.4 GHz is congested, 5 GHz avoids interference. The C5 also supports Thread and Zigbee, so it can serve the same border router role as the C6 with better WiFi performance. In mass production since 2025.

The ESP32-H2 drops WiFi entirely and focuses on 802.15.4 protocols: Thread, Zigbee, and Matter over Thread. No WiFi means lower power and lower cost. Use it for mesh network endpoints where a gateway (C5, C6, or another device) handles the WiFi bridge. A typical deployment: H2 sensor nodes scattered around a building, communicating via Thread mesh to a C6 border router that bridges to your cloud platform.

"I need the absolute cheapest connected device"

Pick: ESP32-C2

The C2 is Espressif's cost-optimized variant. Single-core RISC-V at 120 MHz, WiFi + BLE 5.0, minimal RAM (272 KB). Positioned as Espressif's lowest-cost option. Designed for simple connected devices where every cent matters: smart plugs, basic sensors, LED controllers. It's the ESP8266 replacement. Not much headroom for complex application logic, but if your device's job is "read a sensor value and send it to the cloud," the C2 does that for less money than anything else in the family.

"I need USB host/device connectivity"

Pick: ESP32-S2 or ESP32-S3

Both support USB OTG natively. The S2 was the first ESP32 variant with USB support, but it dropped Bluetooth entirely, which limits its usefulness for most IoT applications. The S3 added USB OTG alongside full WiFi + BLE, making it the better choice unless you specifically don't want Bluetooth.

What About the ESP32-P4?

The ESP32-P4 is Espressif's high-performance variant, targeting edge AI and HMI (human-machine interface) applications. Dual-core RISC-V at 400 MHz, hardware AI acceleration, MIPI CSI/DSI for cameras and displays. No integrated WiFi or Bluetooth, which is a deliberate design choice: the P4 handles compute-intensive tasks and pairs with a wireless chip (C6, H2) for connectivity. Think of it as ESP32's answer to "I need to run a neural network on the edge and show results on a display." Not a typical IoT sensor chip, but relevant for products with rich UIs or on-device inference.

Blynk Support by Variant

If you're building on Blynk, here's what works with each chip today:

Variant Blynk.Edgent (Arduino) Blynk.Edgent (ESP-IDF) Blynk.NCP Notes
ESP32YesYesYesFull support across all Edgent variants. The default.
ESP32-S2LimitedComing soonNoArduino library works but no Edgent provisioning. Use static tokens.
ESP32-S3YesYesYesFull ESP-IDF Edgent support. NCP supported (ESP32-S3-MINI-1 listed in docs).
ESP32-C3YesYesYesFull ESP-IDF Edgent support. NCP supported (ESP32-C3-MINI-1 listed in docs).
ESP32-C5LimitedYesNoNew variant. Full ESP-IDF Edgent support.
ESP32-C6YesYesNoFull ESP-IDF Edgent support. WiFi 6 + Thread capable.
ESP32-H2NoNoNoNo WiFi = no direct Blynk connection. Use as Thread endpoint with a gateway.
ESP32-C2LimitedYesNoArduino library works. Full ESP-IDF Edgent support.

ESP-IDF Edgent (launched March 2026) is the production path for ESP32 firmware. It includes BLE-assisted provisioning, OTA firmware updates via Blynk.Air (FOTA for field-deployed devices, rollback not currently supported), network management with up to 16 saved WiFi networks, and secure MQTT. Available as a native component on the Espressif Component Registry.

Blynk.NCP (Network Co-Processor) is for designs where you have an existing MCU handling your application logic and want to add Blynk connectivity via a separate chip. Supported NCP modules include ESP32, ESP32-S3, ESP32-C3, and ESP8266. The NCP chip runs dedicated firmware and handles WiFi, BLE, and cloud communication. Your main MCU talks to it over UART.

For any ESP32 variant, you can also connect to Blynk via standard MQTT or HTTP API with static auth tokens. This works on every chip that has WiFi, regardless of Edgent support. You lose the managed provisioning and OTA, but data flows and dashboards work fine.

Regardless of which variant or integration path you choose, Blynk gives you native iOS and Android apps out of the box (built with a drag-and-drop editor, no app development needed) plus web dashboards, OTA/FOTA through Blynk.Air, and device management. The app layer is the same whether you're on a C2 or an S3 running edge inference.

Making the Decision

For most IoT products in 2026, the choice comes down to three variants:

ESP32-C3 if cost and power matter most. Budget sensor nodes, battery-powered devices, high-volume deployments where you're optimizing per-unit cost. Single-core RISC-V is enough for most IoT workloads.

ESP32 (original) if you want the safest bet. Largest ecosystem, most libraries, most community support. Dual-core handles complex firmware without thinking about task prioritization. Still the default recommendation for teams starting their first connected product.

ESP32-C6 if you're building for the smart home ecosystem or need WiFi 6. Thread and Matter support is the future for home automation and commercial building IoT. WiFi 6 efficiency matters in dense deployments.

Everything else is situational: S3 for AI/camera, H2 for Thread mesh endpoints, C2 for absolute minimum cost, S2 for legacy projects that don't need Bluetooth.

The one thing that doesn't change across variants: the platform layer. Whether you're on an original ESP32 or a C6, Blynk's dashboards, mobile apps, OTA, and device management work the same way. Pick the chip for the hardware requirements. The software stack adapts.

Sign up for a newsletter
Get latest news from Blynk
Over 500,000 people already signed up our newsletter.
We never spam.
Thank you!
Your submission has been received.
Oops! Something went wrong while submitting the form.