- January 29, 2025
Not enough time? Get the key points instantly.
You've narrowed your IoT platform to the Espressif ecosystem. The ESP32 family gives you Wi-Fi, BLE, dual-core processing, and a mature SDK for a fraction of what competing platforms cost. But then you open the product page and see 14 different chip variants, a half-dozen dev boards, and conflicting forum opinions about which one actually works for production.
Pick the wrong board and you'll find out six weeks later. After your firmware is half-written, you discover it doesn't have enough GPIO, or the RAM can't handle your TLS stack, or BLE coexistence with Wi-Fi breaks your sensor polling interval. The wrong ESP module choice doesn't just slow you down. It forces a hardware respin.
By the end of this post, you'll know exactly which ESP board fits your project type, whether you're building a battery-powered sensor node, a vision-enabled edge device, a high-throughput industrial gateway, or a cost-sensitive production run.
The Espressif portfolio has expanded fast. What started as the ESP8266, a $2 Wi-Fi chip that democratized IoT, is now a full family: ESP32, ESP32-S2, ESP32-S3, ESP32-C3, ESP32-C6, ESP32-H2, and the newer ESP32-P4. Each chip targets a different workload. Each has meaningful trade-offs in power, peripherals, wireless capability, and SDK maturity.
The mistake most teams make: they pick the most capable chip they've heard of (usually ESP32 or ESP32-S3) and discover too late that it draws 240mA in active mode, which is unusable for a coin-cell device. Or they pick the cheapest option (ESP8266) because it "supports Wi-Fi" and realize it has no Bluetooth, 96KB of usable RAM, and a single-core architecture that blocks on every network call.
Three decision variables separate a good Espressif ESP board selection from a costly one:
Power envelope: Is the device mains-powered, battery-backed, or coin-cell only?
Wireless requirement: Wi-Fi only, BLE only, concurrent, or Thread/Zigbee?
Compute load: Sensor polling + MQTT publish, or local ML inference + video processing?
Get these three variables right and the right board becomes obvious. The seven boards below are the ones shipped in client projects, with the scenarios where each one earns its place.
If there's no strong reason to pick something else, start here. The ESP32-WROOM-32E module is built on the ESP32 chip: dual-core Xtensa LX6 at 240MHz, 520KB SRAM, integrated Wi-Fi + BLE 4.2/5.0, and 4MB flash on-module.
It's the most documented chip in this IoT module guide. IDF support is mature. Community examples for MQTT, TLS, FreeRTOS, and OTA exist for virtually every use case. When a client needs a first prototype fast, this is almost always the right starting point, because the SDK is stable, the hardware is well-characterized, and supply chain is predictable.
Feature | ESP32-WROOM-32E |
|---|---|
Core | Dual-core Xtensa LX6, 240MHz |
RAM | 520KB SRAM |
Wireless | Wi-Fi 802.11 b/g/n + BLE 4.2/5.0 |
Flash | 4MB (on-module) |
GPIO | 34 pins |
Power (active) | ~160–240mA |
Best for | Mains-powered IoT devices, gateways, prototypes |
Don't use it when: Sleep current (10–20µA minimum even with deep sleep optimization) makes it unsuitable for battery-only devices targeting months of runtime on a single charge.
The ESP32-S3 adds a vector instruction set to the standard ESP32 baseline. This matters when running lightweight ML inference on-device: wake word detection, motion classification, anomaly detection in sensor data.
On projects where the device needed to classify accelerometer patterns locally without calling a cloud API, the ESP32-S3 handled it well because latency was unacceptable and the cellular data budget was tight. The chip's extended SRAM (512KB internal, external PSRAM support up to 8MB) makes it viable for TensorFlow Lite Micro models that would run out of memory on a standard ESP32.
USB OTG support is a second reason to choose this chip. If your device needs to act as a USB host or device (reading a USB HID peripheral, acting as a mass storage device, or doing DFU firmware updates over USB), the ESP32-S3 handles this natively. The ESP32-WROOM-32E requires an external USB chip for the same functionality.
Feature | ESP32-S3 |
|---|---|
Core | Dual-core Xtensa LX7, 240MHz |
RAM | 512KB internal + up to 8MB PSRAM |
Wireless | Wi-Fi + BLE 5.0 |
AI acceleration | Vector extensions for ML workloads |
USB | USB OTG (host + device) |
Best for | Edge AI, on-device inference, USB-capable devices |
The ESP32-C3 runs a RISC-V single core at 160MHz. It's not the fastest chip in the family. But for BLE-primary applications where you need Wi-Fi only for provisioning or occasional sync, it's the best combination of cost, power, and wireless capability in the Espressif IoT board lineup.
Active current on BLE advertising runs lower than the dual-core ESP32 because the C3 is a simpler processor. The module cost is also meaningfully lower at volume, which matters when shipping 10,000+ units of a consumer sensor.
One decision note: the ESP32-C3 doesn't have enough ADC channels for projects with dense analog sensor arrays. If your design needs 4+ analog inputs alongside BLE, move to the ESP32 or ESP32-S3 instead.
When clients ask about ESP32 vs ESP32-C3 for a BLE product:
High data throughput, multiple sensor channels, complex RTOS tasks → ESP32
Straightforward BLE advertising, simple sensor reads, cost matters at scale → ESP32-C3
The ESP32-C6 is the chip to pick when your product needs to be Matter-certified or operate in a Thread mesh network. It supports Wi-Fi 6 (802.11ax), BLE 5.0, IEEE 802.15.4 (the physical layer for Thread and Zigbee), and Zigbee, all on a single chip.
Matter compliance is increasingly a requirement for smart home products targeting retail distribution. Apple, Google, and Amazon all require or prefer Matter for HomeKit, Google Home, and Alexa device certification. If you're building a smart home product and want shelf space at a major retailer, ESP chip selection for that project starts and ends with the C6.
Wi-Fi 6 support also improves performance in dense wireless environments: factories, hospitals, apartment buildings, where 2.4GHz congestion on older Wi-Fi standards causes reliability problems.
Feature | ESP32-C6 |
|---|---|
Core | RISC-V single core, 160MHz |
Wireless | Wi-Fi 6, BLE 5.0, IEEE 802.15.4 |
Thread/Matter | Native support |
ZigBee | Yes |
Best for | Matter-certified smart home, Thread mesh nodes |
The ESP32-H2 is a narrow-use-case chip: IEEE 802.15.4 only. No Wi-Fi. It supports Zigbee, Thread, and BLE 5.0, nothing else. Use it when designing a battery-powered end node in an existing Zigbee or Thread mesh, and the device doesn't need its own IP connection.
The advantage over the C6 in this scenario: lower power draw because the Wi-Fi radio doesn't exist and can't accidentally activate. Designing a wireless door sensor or a temperature node that reports to a hub every 5 minutes and sleeps the rest of the time? The H2 gives you a cleaner power budget than a C6 with Wi-Fi disabled.
Warning: SDK maturity for the H2 is behind the ESP32 and C3. If your timeline is tight, prototype on the C6 first. The H2 is worth the switch for production once the firmware logic is validated.
The ESP32-S2 is the ESP32 family member without Bluetooth. Single-core Xtensa LX7 at 240MHz, Wi-Fi only, USB OTG, 320KB SRAM. It costs less than the ESP32 at volume and draws less power because the Bluetooth radio is absent.
Practical use case: a Wi-Fi display controller, a USB HID device with wireless sync, or a provisioning-only node where BOM cost matters and Bluetooth will never be used. Shipping Bluetooth capability you don't need means paying for a radio you'll never enable. The S2 removes that cost.
The S2 is also useful when regulatory approval costs are a factor. Certifying a product with Wi-Fi + BLE requires testing both radios. A Wi-Fi-only device has a smaller certification scope.
Use this ESP board comparison checklist before locking your chip choice. Running through it takes 10 minutes and saves weeks of rework.
Wi-Fi + BLE concurrent → ESP32 or ESP32-S3
BLE primary, Wi-Fi for provisioning → ESP32-C3
Matter / Thread mesh → ESP32-C6
Zigbee / Thread without Wi-Fi → ESP32-H2
Wi-Fi only, no Bluetooth → ESP32-S2
ML inference, video processing, USB OTG → ESP32-S3
Standard sensor + MQTT + OTA → ESP32 or ESP32-C3
Mains-powered or large LiPo → Any chip
Medium battery (2000–5000mAh), months of runtime → ESP32-C3, ESP32-H2
Coin cell, 1–2 year target → ESP32-H2 with aggressive sleep tuning
Production-grade, tight schedule → ESP32 or ESP32-C3 (most mature)
Accepting some SDK instability for newer features → C6, H2, S3 newer features
Count every peripheral: I2C, SPI, UART, PWM, ADC, GPIO. If total exceeds 30 → ESP32 or ESP32-S3 only.
Project Type | Recommended chip | Reason |
|---|---|---|
Connected home appliance | ESP32-WROOM-32E | Mature SDK, dual-core for UI + connectivity |
BLE sensor at scale | ESP32-C3 | Lower BOM cost, BLE 5.0, simpler than full ESP32 |
Edge AI camera | ESP32-S3 | Vector extensions, PSRAM support, USB OTG |
Matter smart home | ESP32-C6 | Native Matter/Thread, Wi-Fi 6 |
Thread mesh sensor node | ESP32-H2 | IEEE 802.15.4 only, lower power than C6 |
Wi-Fi display / HID | ESP32-S2 | Wi-Fi + USB, no BLE radio to certify |
Start with ESP32-WROOM-32E on a dev board like the ESP32 DevKitC. It gives you dual-core processing, Wi-Fi, BLE, 34 GPIO pins, and full ESP-IDF and Arduino IDE support. The community documentation is the most thorough in the Espressif family. Once you understand the toolchain, GPIO mapping, and FreeRTOS task model on the ESP32, moving to C3 or S3 for a production design is straightforward.
The ESP32-C3 uses a single RISC-V core at 160MHz versus the ESP32's dual Xtensa LX6 cores at 240MHz. For production IoT with straightforward sensor sampling and BLE or Wi-Fi data push, the C3 handles the workload at lower cost and slightly better power efficiency. The ESP32 wins when you need two real-time tasks running concurrently, more GPIO pins, or higher throughput for things like audio processing or multiple SPI buses running simultaneously.
Yes, and it's one of the better embedded platforms for it. The ESP32-S3's vector instruction extensions accelerate operations like matrix multiplication that TensorFlow Lite Micro uses heavily. With external PSRAM you can load models that need 2–4MB of RAM, which covers most keyword spotting, gesture recognition, and vibration anomaly detection use cases. For vision workloads, pair it with an OV2640 or OV5640 camera module and use ESP-DL for inference.
It isn't recommended for new designs. The ESP32-C3 costs only slightly more at volume and gives you a RISC-V core, BLE 5.0, double the RAM, and active IDF support. The only reason to use ESP8266 today is existing deployed hardware that can't be respun. For anything starting fresh, the C3 is the better choice on every dimension except name recognition.
If the device needs Wi-Fi in addition to Thread, for local gateway function, OTA updates over Wi-Fi, or cloud sync, pick the C6. If the device is purely a mesh end node that talks only to a Thread border router and never touches Wi-Fi directly, the H2 gives you a cleaner bill of materials and a simpler power budget. Thread + BLE for commissioning is all the H2 has, and for a pure end node, that's enough.
The ESP32-C6 is the clearest choice. It supports Matter natively via ESP-Matter SDK, runs on Thread or Wi-Fi, and Espressif has done significant work on its Matter certification reference design. The ESP32-S3 also supports Matter over Wi-Fi if you need more compute headroom or USB OTG, but for a standard smart home node, the C6 is the simpler, more cost-effective path to certification.
Espressif ESP board selection comes down to three variables: your wireless requirement, your compute load, and your power envelope. Most projects land on the ESP32-WROOM-32E or the ESP32-C3. Those two cover 80% of IoT use cases with mature SDK support and a well-understood production path. Edge AI and USB-capable devices go to the S3. Matter and Thread products go to the C6. Battery-only mesh nodes go to the H2. The ESP8266 stays where it belongs: legacy maintenance only.
Get these variables wrong and the rework hits before manufacturing, not after. Get them right and your firmware team starts building on a stable foundation from day one.
If you're scoping an IoT product and want a direct recommendation on ESP chip selection based on your actual requirements, CoreFragment's hardware and firmware team has shipped ESP-based products from prototype to production for clients in healthcare, industrial automation, and connected home. Share your requirements and you'll get an honest assessment of which chip fits your project.