Which ESP32 Board Should You Buy? C3 vs C6 vs S3 vs H2 vs WROOM-32

"ESP32" is not one board. It is a family of chips with genuinely different radios, and two of them will quietly refuse to do the thing you bought them for. Here is how to pick the right one in about a minute.

The quick answer

If you want to skip the detail, find your project below and buy that board.

  • First ESP32, following an Arduino tutorial? ESP32-WROOM-32, 30-pin. It is the board every tutorial on the internet was written for, and it fits a breadboard with sockets left over.
  • Small battery sensor for Home Assistant or ESPHome? ESP32-C3 SuperMini. Cheapest, smallest, sips power in deep sleep.
  • Matter, Thread or Zigbee? ESP32-C6 SuperMini if it needs WiFi too, ESP32-H2 SuperMini if it is a battery end device sitting behind a hub.
  • Camera, display, audio or TinyML? ESP32-S3 SuperMini. It is the only small board here with PSRAM, which those projects need.
  • Bluetooth speaker, BT serial, or an old BT Classic device? ESP32-WROOM-32. It is the only board in the range with Bluetooth Classic.
  • Lots of pins for relays, motors and sensors? ESP32-WROOM-32, 38-pin.

Every board on this page runs from the same Arduino IDE, the same ESP-IDF, MicroPython and ESPHome. Picking the "wrong" one is rarely fatal, but the radio differences below are not something you can fix in software.

Compare every board

Board CPU Radios Flash / PSRAM GPIO Price
C3 SuperMini 1x RISC-V, 160MHz WiFi 4, BLE 5 4MB / none 11 from $6.89
C3 Zero 1x RISC-V, 160MHz WiFi 4, BLE 5 4MB / none 15 $8.49
C6 SuperMini 1x RISC-V 160MHz + low-power core WiFi 6, BLE 5.3, 802.15.4 4MB / none 22 $9.95
H2 SuperMini 1x RISC-V, 96MHz BLE 5.3, 802.15.4, no WiFi 4MB / none 19 $9.95
S3 SuperMini 2x Xtensa LX7, 240MHz WiFi 4, BLE 5 4MB / 2MB 35 $9.95
S3 Zero 2x Xtensa LX7, 240MHz WiFi 4, BLE 5 4MB / 2MB 26 $9.99
S2 Mini 1x Xtensa LX7, 240MHz WiFi 4, no Bluetooth 4MB / 2MB 27 $9.99
WROOM-32, 30-pin 2x Xtensa LX6, 240MHz WiFi 4, BT Classic + BLE 4.2 4MB / none 30-pin header $11.99
WROOM-32, 38-pin 2x Xtensa LX6, 240MHz WiFi 4, BT Classic + BLE 4.2 4MB / none 38-pin header $15.99

Prices are NZD including GST and current at the time of writing. "WiFi 4" means 2.4GHz 802.11 b/g/n, which is what almost every ESP32 has. GPIO counts are the pins actually broken out on that board, not the chip's theoretical maximum.

Three traps to avoid

1. The H2 has no WiFi at all

This is not a limitation, it is the point of the chip. The ESP32-H2 pairs an 802.15.4 radio with Bluetooth 5.3 LE so it can live on a Zigbee, Thread or Matter mesh as a low-power end device, talking to a hub or border router instead of straight to your network. If your plan involves an IP address, a web server or MQTT over WiFi, the H2 cannot do it. Buy a C6 instead, which has the same mesh radio plus WiFi 6.

2. The S2 has no Bluetooth at all

The ESP32-S2 is a WiFi-only chip. It is a capable one, with native USB and 2MB of PSRAM, but there is no BLE and no Bluetooth Classic. If you need any Bluetooth, look at the C3 or S3.

3. Only the classic WROOM-32 has Bluetooth Classic

Everything newer than the original ESP32 dropped Bluetooth Classic and kept only Bluetooth LE. That matters if you want A2DP audio, a Bluetooth serial link to a phone or an old device, or the BluetoothSerial library that turns up in a lot of older tutorials. None of the C3, C6, H2, S2 or S3 boards can run it. The WROOM-32 can.

One more, common to all of them: GPIO logic is 3.3V and is not 5V tolerant on any ESP32. Level shift anything running at 5V before it touches a pin.

Board by board

ESP32-C3 SuperMini - the cheap workhorse

A single RISC-V core at 160MHz, WiFi and Bluetooth 5 LE, on a 22.5 x 18mm board with USB-C. Native USB means no CH340 or CP2102 driver to chase. Eleven GPIO is not many, but a temperature sensor, a relay and a status LED do not need many. Low deep-sleep current makes this the default choice for battery sensor nodes, and it is the cheapest way into the family.

Pick something else if you need more than eleven pins, PSRAM, or Bluetooth Classic.

ESP32-C3 Zero - the same chip with more pins

The C3 gives up seven of its 22 GPIO to the onboard flash. The C3 Zero breaks out every one of the fifteen that are left, which is unusual in a board this small, and adds a WS2812 RGB LED on GPIO10. Same radios and same performance as the SuperMini, so choose it purely on pin count and price.

ESP32-C6 SuperMini - WiFi 6 and the mesh radio

The C6 is the one board here that covers everything the modern smart home uses: WiFi 6 on 2.4GHz, Bluetooth 5.3 LE, and an 802.15.4 radio for Zigbee 3.0, Thread and Matter. Having WiFi and 802.15.4 on the same chip is what lets a C6 act as a Thread border router or a Zigbee coordinator rather than just another node. There is a 20MHz low-power core alongside the main 160MHz one, 22 GPIO broken out, and B+ / B- pads underneath feeding an onboard lithium charger.

Note that the two inner holes marked 12 and 13 are the native USB data lines, so using them as ordinary GPIO costs you the USB console.

ESP32-H2 SuperMini - mesh end devices on a battery

96MHz single RISC-V core, no WiFi, 802.15.4 plus Bluetooth 5.3 LE, all 19 GPIO broken out, and the same onboard LiPo charger as the C6. This is the chip for a Matter-over-Thread door sensor or a Zigbee button that has to run for a year on a cell. Pair it with a C6 or an existing hub.

ESP32-S3 SuperMini - the one with PSRAM

Two Xtensa LX7 cores at 240MHz, 2MB of PSRAM alongside the 4MB flash, 128-bit vector instructions aimed at TinyML and audio, and 35 GPIO broken out, which is more than any other SuperMini we stock. Twenty of those pins sit on the underside rather than the castellated rails, so plan your build around that.

PSRAM is the reason to choose an S3. Camera frame buffers, colour LCD frame buffers, I2S audio buffers and ML models do not fit in the ESP32's internal SRAM. Remember to set PSRAM: QSPI PSRAM in the Arduino IDE or the 2MB is never mapped.

ESP32-S3 Zero - S3 in a friendlier footprint

Same dual-core S3 with 2MB PSRAM, 26 GPIO all on castellated edges and through-holes, and a WS2812 RGB LED on GPIO21. Fewer pins than the S3 SuperMini but all of them are on the edges, which is easier to breadboard and easier to reflow onto your own PCB.

ESP32-S2 Mini - WiFi, USB and PSRAM, no Bluetooth

Single 240MHz core, 27 GPIO, 4MB flash and 2MB PSRAM in a LOLIN D1 Mini footprint, and it ships with MicroPython already flashed. A sensible upgrade path if you have D1 Mini shields from an ESP8266 build, and a good USB HID board thanks to native USB OTG. Just remember there is no Bluetooth.

ESP32-WROOM-32 - the one the tutorials were written for

The original dual-core ESP32 at 240MHz, with WiFi, Bluetooth Classic and BLE 4.2, on a full-size devkit with a CP2102 USB-to-serial chip and pin headers already fitted. If you are learning, this is the board to start on. Ten years of Arduino tutorials, wiring diagrams and library examples assume this exact pinout.

The 30-pin version is narrower and leaves usable sockets on both sides of a standard breadboard. The 38-pin version is wider, covers nearly the whole breadboard, and gives you more I/O including extra ADC channels.

Analogue readings on a WROOM-32: ADC2 shares hardware with the WiFi radio and gives unreliable readings while WiFi is on. Use ADC1, which is GPIO32 to GPIO39, for any analogue sensor in a WiFi sketch. GPIO34 to GPIO39 are input-only.

SuperMini, Zero or devkit?

Three physical shapes turn up in this range, and the choice matters more day to day than the chip does.

Shape What it is Best for
SuperMini Roughly 23 x 18mm, castellated pads, some pins underneath, often with a LiPo charger Battery sensors, tight enclosures, reflowing onto your own PCB
Zero Similar size, but every pin on the castellated edges and through-holes Small builds where you still want to solder headers or breadboard it
Full devkit 30 or 38-pin board with headers fitted and a USB-to-serial chip Learning, prototyping, anything following a tutorial

A SuperMini with pins on the underside cannot sit flat in a breadboard and reach those pins. If that is a problem, the C3 SuperMini expansion board breaks a C3 out to labelled servo and sensor headers.

Soldered or unsoldered?

The C3 SuperMini comes both ways. Unsoldered is cheaper and is what you want if you are reflowing it onto a PCB, soldering wires directly, or fitting right-angle headers. Pre-soldered saves you the job and is the right pick if you do not own an iron or you want to breadboard it straight out of the bag.

The other SuperMini and Zero boards ship with header pins in the bag, not fitted, so you choose whether to solder them.

What to buy with it

  • A USB-C data cable. Charge-only cables are the single most common reason a board "will not connect". None of these boards include one.
  • A breadboard and Dupont jumper wires if you are prototyping.
  • Header pins, if the board ships with them loose and you want them fitted.

New to the ESP32 entirely? Start with Getting Started with the ESP32-WROOM-32, which walks through installing the board package and uploading your first sketch.

Every ESP32 we stock, in one place

Shipped from New Zealand, dispatched within 1 business day. If you are still not sure which board suits your build, ask us.

Browse ESP32 boards

Practical help from New Zealand

Still stuck? Send us a photo.

Tell us what you’re building and what the circuit is doing. Our small NZ team knows these parts and can help you spot a wiring problem or choose what you need next.

Ask NZN for help Browse more guides