
The ESP32 chip family from Espressif has grown significantly over the past few years. Just a few years ago, saying “I’ll take an ESP32” was enough. Today you’re faced with a choice of more than ten variants – each with different strengths and missing peripherals. This article will help you navigate it.
Contents
- Why bother choosing which ESP32?
- Variant overview – ESP32, S2, S3, C3, C6, H2, C5, P4, S31
- Ethernet – who has it and who doesn’t
- Key peripheral comparison (table)
- Quick decision tree
- Software platforms – Arduino, ESPHome, MicroPython, ESP-IDF
- Where to buy?
- Other interesting ESP boards (gallery)
Why bother choosing which ESP32?
The most common mistake a maker makes is grabbing whatever they know or whatever is cheapest. But the ESP32 and ESP32-C3 are fundamentally different chips – different architecture, different performance, different peripherals, different limitations. Using an ESP32-S3 for a simple battery-powered sensor is overkill. Conversely, trying to run a camera project on an ESP32-C3 is a dead end.
The key question isn’t “which is best,” but “which one has exactly what I need without paying extra for stuff I won’t use.”
Variant overview
ESP32 (original, 2016)

Still the most widespread with the largest number of libraries and ready-made projects. It is the only member of the family (apart from the upcoming S31) that supports the older Bluetooth Classic (BR/EDR). What does that mean in practice?
Bluetooth Classic vs BLE – what’s the difference and why should you care?
Bluetooth Classic and BLE (Bluetooth Low Energy) are essentially two different technologies that share a name and the 2.4 GHz band. They are not interoperable – a BLE device does not see a Classic device and vice versa (unless the device, such as a phone, supports both).
Bluetooth Classic (only ESP32 and the upcoming S31) is intended for higher-throughput connections – typically audio streaming (A2DP profile – wireless speaker, headphones), serial communication (SPP – drop-in replacement for a wired serial port, equivalent to HC-05/HC-06 modules), or hands-free calling (HFP). If you want to turn an ESP32 into a Bluetooth speaker, audio receiver, or serial terminal on Android, you need Classic.
BLE (all newer variants – C3, S3, C6, H2, C5) is designed for low power and short data bursts – typically sensors, beacons, fitness trackers, device control. A BLE device can run for weeks on a battery because it only wakes briefly. Communication uses GATT profiles (services and characteristics) and, unlike SPP, works on iOS without special certification.
When should you care? If you don’t need to stream audio, aren’t replacing an HC-05 module, and don’t need the SPP serial profile, BLE is perfectly adequate and you don’t need Bluetooth Classic. For 90 % of maker IoT projects (sensors, displays, control) BLE is the right choice. Only reach for Bluetooth Classic if you are building a wireless speaker, audio receiver, or need serial communication compatible with older Android apps.
What it has extra: Built-in Ethernet MAC (100 Mbit) – for wired connectivity you only need an external PHY chip (LAN8720). Olimex ESP32-PoE, LaskaKit ESPLan and M5Stack PoESP32 boards are popular for reliable Home Assistant nodes without Wi-Fi dependency. Bluetooth Classic + BLE (dual-mode) – the only one in the family that can do both at once. A2DP Sink – the ESP32 can act as a Bluetooth speaker and receive audio from a phone. SPP – serial port over Bluetooth, drop-in replacement for an HC-05 module. On Android it works directly with the Serial Bluetooth Terminal app. SPP does not work on iOS (Apple restricted it to certified MFi devices).
What it lacks: Older Xtensa LX6 architecture – lower performance per MHz compared with newer LX7 and RISC-V cores. No native USB, no AI accelerator, no Wi-Fi 6, no Zigbee. GPIO 34–39 are input-only – they cannot be used for I2C or SPI.
Suitable for: Ethernet projects (PoE, wired Home Assistant nodes), Bluetooth Classic projects (e.g. internet radio, speakers, audio), weather stations running multiple tasks simultaneously.
ESP32-S2 (2019)
Cheaper variant without Bluetooth. Its big advantage is native USB-OTG – it can act as a USB HID device (keyboard, mouse, joystick) without an external converter.
What it lacks: No Bluetooth at all, no Ethernet MAC, single core. In practice the ESP32-S3 has superseded it – I don’t recommend it for new projects. Something of a dead end.
Suitable for: USB HID projects, simple IoT nodes that don’t need BT.
ESP32-S3 (2021) – successor to the original ESP32

Direct successor to the original ESP32 – significantly higher performance, more memory and native USB. The key added value is a vector accelerator for AI/ML operations – the chip can run simple model inference directly on-device without the cloud.
What it has extra: AI/ML vector accelerator – the only one in the commonly available family (apart from the upcoming S31). USB-OTG – direct USB without an external converter. 45 GPIO – far more than the C3 (22) or the original ESP32 (34 GPIO on the chip, many of them restricted). Support for up to 8 MB PSRAM.
What it lacks: Ethernet MAC (unlike the original ESP32) – you have to add an SPI module (e.g. W5500). Bluetooth Classic, Zigbee, Thread, Wi-Fi 6.
Watch out for over-specifying: Using an ESP32-S3 for a simple temperature sensor or CO₂ monitor is like driving a semi-truck to work. If you don’t need a camera, AI or USB-OTG, the S3 is unnecessarily expensive – go for a C3 or C6 instead.
Suitable for: ESP32-CAM projects, projects with displays and cameras, USB-OTG.
ESP32-C3 (2020) – successor to the ESP8266

The natural successor to the ESP8266 – it adds BLE, lower power consumption and a more modern architecture at a similar price. Note that it is not a drop-in replacement – pinout and boot logic differ; more in the article Can we replace an ESP12F with the more powerful ESP32-C3F? Deep-sleep current (RTC timer) is only 5 µA, so battery-powered projects are realistic. It has 22 GPIO pins – fewer than the S3 (45 GPIO) – but that is plenty for most simple IoT projects.
The ESP32-C3 has only BLE 5.0 (no Bluetooth Classic). In practice that means it cannot act as a Bluetooth speaker (A2DP) or provide a serial port over SPP. Makers who previously used an HC-05 module and want to replace it with direct Bluetooth serial on Android cannot do so with the ESP32-C3 – you either switch to BLE (different protocol, different app) or stay with the original ESP32.
On the plus side, BLE 5.0 on the C3 brings advantages over the older BLE 4.2 on the original ESP32: higher data rate (2M PHY), longer range (Coded PHY / Long Range mode – hundreds of metres line-of-sight) and it works on iOS without restrictions. For sensors, control and most IoT projects, BLE 5.0 is the ideal choice.
What it has extra (vs ESP8266): BLE 5.0 in addition to Wi-Fi. 5 µA deep sleep – realistic battery projects. Hardware secure boot and flash encryption. Modern RISC-V architecture.
What it lacks: No Bluetooth Classic (no SPP, no A2DP audio), single core, fewer GPIO than the S3, no Zigbee/Thread, no AI accelerator, no Ethernet MAC, no USB-OTG.
Suitable for: Battery sensors (e.g. battery-powered online thermometer), simple IoT devices sending data over Wi-Fi or BLE, replacement for ESP8266 in existing projects, ESPHome sensors for Home Assistant (see e.g. open-source air-quality monitoring).
ESP32-C6 (2022)

The 2026 smart-home chip. The ESP32-C6 brought Wi-Fi 6 (2.4 GHz) and native Zigbee + Thread without needing an external radio module. ESPHome has good support and, paired with Home Assistant, it is a very strong combination.
What it lacks: Single core, no AI accelerator, no USB-OTG, no Ethernet MAC, no Bluetooth Classic. Performance is comparable to the C3 – not enough for heavy multitasking.
Suitable for: Zigbee sensors, Matter devices, Home Assistant integration, smart-home projects in general. For inspiration on sensors to connect to the C6, see our overview of the most-used sensors.
ESP32-H2 (2022) – no Wi-Fi

Specialised chip for mesh networks. The only member of the family that deliberately omits Wi-Fi – it focuses exclusively on IEEE 802.15.4 (Zigbee, Thread) and BLE. It is certified for both Thread and Zigbee 3.0. It suits situations where you don’t need Wi-Fi and want the most reliable low-power mesh radio link.
What it lacks: Wi-Fi (by design), lower 96 MHz clock compared with the others, no Ethernet MAC.
Suitable for: Zigbee End Device sensors in an existing mesh network, Thread nodes, Matter over Thread, battery sensors where Wi-Fi would be unnecessary overhead.
ESP32-C5 (2024)
The only member of the family that supports both 2.4 GHz and 5 GHz Wi-Fi 6. It also supports BLE and 802.15.4 protocols (Zigbee, Thread).
Still limited dev-board availability and a weaker library ecosystem compared with older variants.
Suitable for: Projects in crowded 2.4 GHz environments where classic Wi-Fi is insufficient.
ESP32-P4 (2024) – multimedia without wireless
The ESP32-P4 is a powerful dual-core RISC-V chip (400 MHz) aimed at multimedia applications – it has MIPI DSI/CSI interfaces, a hardware H.264 video encoder and up to 32 MB PSRAM. It has no built-in wireless – no Wi-Fi, no Bluetooth, no Zigbee. Wireless connectivity requires an external chip (typically an ESP32-C6 as co-processor). It is therefore not a direct competitor to the other variants – it solves a different class of projects.
Suitable for: Smart displays, video doorbells, multimedia HMI panels, camera projects that need MIPI interfaces.
ESP32-S31 (2026, upcoming)
A freshly announced chip from March 2026 that essentially combines the best of the whole family into one RISC-V SoC. Dual-core RISC-V processor at 320 MHz, gigabit Ethernet MAC, Wi-Fi 6, Bluetooth Classic + BLE 5.4, Zigbee/Thread, 60 GPIO and an AI accelerator – all in one chip. Unlike the S3, which uses Xtensa LX7 cores, the S31 moves to RISC-V (derived from the ESP32-P4). Not yet widely available.
Suitable for: High-performance wired IoT nodes, projects combining Ethernet + Zigbee/Thread + Wi-Fi 6. Ideal successor to the original ESP32 for anyone who needs Ethernet.
Ethernet – who has it and who doesn’t
Ethernet is rare in the ESP32 family and many makers only discover this when they reach for a specific chip.
Built-in Ethernet MAC: original ESP32 (100 Mbit RMII MAC, needs external PHY such as LAN8720 or IP101G) and ESP32-S31 (gigabit MAC, upcoming, not yet available).
No Ethernet MAC: ESP32-S2, S3, C3, C6, H2, C5. You can use an SPI Ethernet module such as the W5500 or ENC28J60, but it is a compromise – it occupies the SPI bus and requires an extra library.
If you need reliable wired connectivity today, go for the original ESP32 – preferably on a board with integrated PHY and PoE: Olimex ESP32-PoE, LILYGO T-Internet-POE, LaskaKit ESPLan or M5Stack PoESP32 Unit.
Key peripheral comparison
| Chip | Cores | BT Classic | BLE | Zigbee/Thread | Wi-Fi | USB-OTG | AI accel. | Ethernet MAC | Deep sleep (RTC) |
|---|---|---|---|---|---|---|---|---|---|
| ESP32 | 2× LX6 | ✓ | 4.2 | – | 4 | – | – | 100 Mbit | ~10 µA |
| ESP32-S2 | 1× LX7 | – | – | – | 4 | ✓ | – | – | ~14 µA |
| ESP32-S3 | 2× LX7 | – | 5.0 | – | 4 | ✓ | ✓ | – | ~7 µA |
| ESP32-C3 | 1× RV | – | 5.0 | – | 4 | – | – | – | ~5 µA |
| ESP32-C6 | 1× RV | – | 5.0 | ✓ | 6 | – | – | – | ~7 µA |
| ESP32-H2 | 1× RV | – | 5.0 | ✓ | No Wi-Fi | – | – | – | ~8 µA |
| ESP32-C5 | 1× RV | – | 5.0 | ✓ | 6 + 5 GHz | – | – | – | ~8 µA |
| ESP32-S31 ★ | 2× RV | ✓ | 5.4 | ✓ | 6 | ✓ | ✓ | 1 Gbit | – |
★ ESP32-S31 is announced (March 2026) and not yet widely available. Dual-core RISC-V @ 320 MHz, 60 GPIO.
Deep-sleep values from datasheets (RTC timer + RTC memory).
Dash = not verified in datasheet.
All variants have a GPIO Matrix that allows remapping I2C, SPI, UART to any GPIO pin.
Quick decision tree
| What do you need? | Reach for | Why |
|---|---|---|
| 🔌 Ethernet today | ESP32 (Olimex PoE, LILYGO T-Internet-POE, LaskaKit ESPLan) | Only one with built-in Ethernet MAC |
| 🔊 Bluetooth Classic (audio, SPP) | ESP32 (or wait for S31) | Others only have BLE |
| 📷 Camera, AI inference, USB-OTG | ESP32-S3 | AI accelerator, PSRAM, native USB |
| 🔋 Battery sensor (Wi-Fi/BLE) | ESP32-C3 | Lowest power, low price. S3 is unnecessarily expensive. |
| 🏠 Smart home, Zigbee, Matter + Wi-Fi | ESP32-C6 | Wi-Fi 6 + native Zigbee/Thread |
| 🔗 Pure Zigbee/Thread mesh, no Wi-Fi | ESP32-H2 | Lowest power in a mesh network |
| 📶 Crowded 2.4 GHz, need 5 GHz | ESP32-C5 | Only one with 5 GHz Wi-Fi |
| 🎬 Multimedia, MIPI display/camera | ESP32-P4 | MIPI DSI/CSI, H.264 – but no wireless |
| ⭐ Everything in one (Ethernet + Zigbee + Wi-Fi 6) | ESP32-S31 (when available) | Most complete chip in the family |
Software platforms – it’s not just about Arduino
Most makers start with the Arduino framework and it works on all commonly available variants (ESP32, S2, S3, C3, C6, H2). AI can now help significantly with writing code – if you know how to prompt correctly. For smart-home projects, ESPHome is popular – declarative configuration without writing code and direct integration with Home Assistant. Support is best on ESP32, S3, C3 and C6.
If you prefer Python, you can choose MicroPython or CircuitPython. Both run on ESP32, S2, S3 and C3. On C6, H2 and C5 support is still limited or experimental – check the current state before choosing a chip. For advanced projects and maximum control there is ESP-IDF – Espressif’s official C framework that supports every variant, including the newest ones. Before you buy a board you can try the chip in the Wokwi online simulator right in the browser.
Where to buy?
Development kits are available from Czech retailer laskakit.cz, Czech retailer rpishop.cz and Czech retailer pajenicko.cz. LaskaKit has its own ESP32-xy boards and also builds other projects on them such as ESPink (ePaper/eInk board), ESPLan (ESP32 with LAN), ESPwled (for driving addressable RGB LED strips) and more. Pajenicko has its own ESP32 boards for ePaper/eInk displays.
ePaper/eInk displays are popular together with the Živý Obraz service – simple creation of your own information display.
Another interesting distributor is the Polish retailer botland.cz; it has a very wide range, though the Czech translation is not always the clearest.
Other interesting ESP boards
The ESP32 board ecosystem is huge – here is a selection of interesting projects and development kits available from Czech shops. From Meshtastic communication through ePaper displays to watches and Bitcoin miners.




















