The ESP32-C3 SuperMini and ESP32-C6 SuperMini look almost interchangeable, but they are not. Both are tiny RISC-V ESP32 boards with USB-C, Wi-Fi, Bluetooth LE and native USB Serial/JTAG, yet the C6 has a different GPIO layout, different USB pins, more useful exposed I/O, Wi-Fi 6 and an IEEE 802.15.4 radio for Zigbee and Thread. In ESPHome, there is another important difference: the C3 can use either ESP-IDF or Arduino, while the C6 currently requires ESP-IDF.
For a normal Wi-Fi sensor, relay or BLE project, the cheaper C3 SuperMini is still extremely capable. For a new Home Assistant project where Thread, Zigbee or greater future flexibility matters, the C6 SuperMini is the more interesting board. The choice becomes much easier once the GPIO and USB differences are understood.
Important: “SuperMini” is a third-party board format, not an official Espressif development-board specification. Different sellers can use different regulators, LEDs, antennas and small PCB revisions. The comparison below describes the common 2025/2026 SuperMini layouts and combines those board layouts with Espressif’s official chip-level GPIO restrictions.
ESP32-C3 SuperMini vs ESP32-C6 SuperMini at a glance
| Feature | ESP32-C3 SuperMini | ESP32-C6 SuperMini |
|---|---|---|
| Main CPU | Single-core 32-bit RISC-V, up to 160 MHz | 32-bit RISC-V HP core up to 160 MHz plus low-power core |
| Wi-Fi | 2.4 GHz Wi-Fi 4, 802.11 b/g/n | 2.4 GHz Wi-Fi 6, 802.11 b/g/n/ax |
| Bluetooth | Bluetooth LE | Bluetooth LE |
| 802.15.4 radio | No | Yes |
| Zigbee / Thread hardware | No | Yes |
| Typical flash | Usually 4 MB | Usually 4 MB; verify seller revision |
| Native USB | USB Serial/JTAG on GPIO18/19 | USB Serial/JTAG on GPIO12/13 |
| Common USB pins on header | Usually not exposed | Commonly exposed as GPIO12/13 |
| Best simple GPIO choices | GPIO0, 1, 3, 10 | GPIO0, 1, 2, 3, 14, 20, 21, 22, 23 |
| ESPHome framework support | ESP-IDF or Arduino; ESP-IDF is the current default | ESP-IDF required |
| ESPHome Thread | No | Yes, through OpenThread |
| ESPHome Zigbee | No | Yes, current ESPHome supports C6 Zigbee |
The processor headline is less important than it looks. Both boards have a 160 MHz main RISC-V CPU, so a C6 should not be bought simply because it sounds like a much faster C3. The real C6 upgrades are connectivity, peripheral resources, the low-power core and the wider GPIO options.
For the wider chip-level comparison, see our ESP32-C3 vs ESP32-C6 guide. This article focuses specifically on the compact SuperMini boards and the practical differences that appear when wiring and flashing them.
GPIO: the C6 SuperMini gives you more comfortable choices
The C3 SuperMini is small partly because there are not many completely uncomplicated pins. On the common layout, the easiest general-purpose choices are:
ESP32-C3 SuperMini
Best first choices:
GPIO0
GPIO1
GPIO3
GPIO10
GPIO4, GPIO5, GPIO6 and GPIO7 are also useful when external JTAG is not required. GPIO20 and GPIO21 are the normal UART0 RX/TX pair and can be reassigned when required. GPIO2, GPIO8 and GPIO9 deserve more care because they are C3 strapping pins; on common SuperMini boards GPIO8 also drives the onboard LED and GPIO9 is connected to BOOT.
The C6 SuperMini has a much more generous set of low-drama pins:
ESP32-C6 SuperMini
Best first choices:
GPIO0
GPIO1
GPIO2
GPIO3
GPIO14
GPIO20
GPIO21
GPIO22
GPIO23
GPIO16 and GPIO17 are useful for UART0. GPIO6 and GPIO7 can normally be reused when external JTAG is not required. The pins to treat cautiously are GPIO4, GPIO5, GPIO8, GPIO9 and GPIO15 because Espressif identifies them as C6 strapping pins. On the common SuperMini layout, GPIO8 normally drives an addressable RGB LED, GPIO9 is BOOT, and GPIO15 often has an onboard status-LED role.
A pin number does not mean the same thing on both boards
This is the trap when moving an ESPHome YAML file or Arduino sketch from a C3 SuperMini to a C6 SuperMini. The same GPIO number may have a very different board-level role.
| GPIO | C3 SuperMini | C6 SuperMini |
|---|---|---|
| GPIO2 | Strapping pin; use with boot awareness | One of the easiest ADC/general GPIO choices |
| GPIO8 | Strapping pin; commonly onboard blue LED | Strapping pin; commonly onboard RGB LED |
| GPIO9 | BOOT / strapping | BOOT / strapping |
| GPIO10 | Good exposed general GPIO on common C3 boards | Not normally one of the main SuperMini header choices |
| GPIO12/13 | Not the C3 USB pair | Native USB D− / D+ |
| GPIO18/19 | Native USB D− / D+; normally not on the header | Can be exposed as general/peripheral pins on common layouts; verify the actual board |
| GPIO20/21 | UART0 RX / TX by default | Good general-purpose GPIO choices |
| GPIO16/17 | Not part of the common C3 SuperMini exposed set | UART0 TX / RX on common C6 SuperMini boards |
If you need the complete board maps, use the dedicated ESP32-C3 SuperMini pinout and safe GPIO guide and ESP32-C6 SuperMini pinout and safe GPIO guide. They are better references when designing the final wiring than a comparison table.
ADC and sensor wiring
For analog sensors, the C3 has useful ADC1 channels on GPIO0–4, but GPIO2 is boot-sensitive and GPIO4 may be reserved if external JTAG is needed. For a new Wi-Fi sensor, GPIO0, GPIO1, GPIO3 or GPIO4 are sensible starting points.
The C6 provides ADC1 channels on GPIO0–6. On a SuperMini, GPIO0–3 are especially convenient because they avoid the C6 strapping roles on GPIO4 and GPIO5 and the JTAG role on GPIO6. That makes the C6 easier to allocate when a project has several analog and digital inputs.
Both chips use 3.3 V GPIO logic. The USB-C connector providing 5 V power does not make the GPIO 5 V tolerant. Use a divider, level shifter or suitable interface for a 5 V signal.
USB: both have native programming, but on different pins
Both chips contain Espressif’s fixed-function USB Serial/JTAG controller. This is why a SuperMini can be programmed directly through USB-C without a CH340 or CP2102 USB-to-UART bridge.
| Board | USB D− | USB D+ |
|---|---|---|
| ESP32-C3 SuperMini | GPIO18 | GPIO19 |
| ESP32-C6 SuperMini | GPIO12 | GPIO13 |
This controller provides flashing, serial-console access and JTAG debugging. It is not the same as a general-purpose USB OTG peripheral. Do not buy either board expecting to turn it into an arbitrary USB HID, mass-storage or host device simply because it has a USB-C connector.
Why the C6 needs more USB awareness
On the common C3 SuperMini layout, GPIO18 and GPIO19 normally run directly between the ESP32-C3 and the USB-C connector and are not part of the ordinary header. That makes them difficult to misuse accidentally.
On common C6 SuperMini boards, GPIO12 and GPIO13 are exposed. They can technically be reconfigured as normal GPIOs, but doing that disables the native USB Serial/JTAG function. A sketch can therefore work perfectly and then make the board appear to “vanish” from the computer after those pins are reassigned.
For most C6 projects, leave GPIO12 and GPIO13 alone and use the many easier pins elsewhere on the board. There is rarely a good reason to sacrifice USB on a SuperMini just to gain two more GPIOs.
Recovering a board after USB disappears
If firmware has broken the normal USB connection, manual download mode is the first recovery step. On both common SuperMini boards, GPIO9 is associated with BOOT. Hold BOOT, reset or reconnect the board as appropriate, then retry the upload. Once corrected firmware is installed, normal native USB should return.
Also check the obvious failure: many USB-C charging cables contain power conductors but no data pair. A board that powers up but never creates a port may simply be connected with a charge-only cable.
ESPHome support in 2026: C3 is mature, C6 is now genuinely useful
ESPHome supports both chips directly. The current ESPHome platform documentation recommends specifying the variant rather than relying on a third-party SuperMini board definition. That is particularly useful here because there is no single official “SuperMini” PlatformIO board.
ESPHome now defaults to ESP-IDF for ESP32 builds. The important difference is that the C3 can still use the Arduino framework if a project needs it, while ESPHome requires ESP-IDF for the C6.
ESP32-C3 SuperMini ESPHome configuration
esphome:
name: c3-supermini
friendly_name: C3 SuperMini
esp32:
variant: esp32c3
framework:
type: esp-idf
logger:
api:
ota:
- platform: esphome
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
For a clean C3 I²C sensor node, GPIO0 and GPIO1 are easy choices:
i2c:
sda: GPIO0
scl: GPIO1
scan: true
If an older ESPHome configuration uses board: esp32-c3-devkitm-1, it can still be valid, but current ESPHome documentation says the explicit board field is no longer the preferred way to identify a generic chip target. Using variant: esp32c3 avoids pretending the SuperMini is an official DevKitM board.
ESP32-C6 SuperMini ESPHome configuration
esphome:
name: c6-supermini
friendly_name: C6 SuperMini
esp32:
variant: esp32c6
framework:
type: esp-idf
logger:
api:
ota:
- platform: esphome
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
A useful C6 I²C allocation is:
i2c:
sda: GPIO22
scl: GPIO23
scan: true
This keeps the USB pins, boot pins and UART pair clear and leaves GPIO0–3 available for analog inputs or other sensors.
C6 advantage: ESPHome can now use Thread and Zigbee
This is the strongest Home Assistant reason to choose the C6. Its IEEE 802.15.4 radio is not just a theoretical chip feature anymore: current ESPHome supports OpenThread on ESP32-C6 and added native ESP32-C6 Zigbee support to core in 2026.
OpenThread
ESPHome’s OpenThread component supports ESP32 devices with an 802.15.4 radio, including the C6, when using ESP-IDF. A Thread border router is required to connect the Thread mesh to the Home Assistant network.
That means a C6 SuperMini can run an ESPHome node over Thread instead of Wi-Fi. This can be attractive for low-bandwidth sensors and switches, especially where a Thread mesh already exists.
Zigbee
ESPHome’s Zigbee component now supports ESP32-C6 hardware. It can expose supported ESPHome entities to Zigbee coordinators such as ZHA or Zigbee2MQTT. However, this is newer than conventional Wi-Fi ESPHome support, and ESPHome’s own documentation currently notes reports of some C6 boards having poorer Zigbee reliability than ESP32-H2 hardware.
So the correct conclusion is not “C6 automatically replaces every Zigbee board”. The useful conclusion is that the C6 gives you an extra radio and an increasingly capable software path that the C3 simply does not have.
Thread, Zigbee and Matter are also not interchangeable words. The C6 contains the 802.15.4 radio required by Zigbee and Thread. Thread provides the IP-based mesh transport; Matter is a higher-level application protocol. Buying a C6 does not automatically turn an arbitrary ESPHome YAML file into a Matter device.
Which board is easier for ESPHome?
For a simple Wi-Fi ESPHome node, the answer is still the C3. It has been supported for longer, its typical SuperMini wiring is well understood, and its restricted pin count rarely matters for a temperature sensor, BLE proxy, relay or small MQTT device.
The C6 is the better platform when the extra options will actually be used. It offers more easy GPIOs, more peripheral flexibility and the 802.15.4 radio, but the software stack is more firmly tied to ESP-IDF and the newer Zigbee/Thread features deserve more testing before being treated like a mature Wi-Fi sensor node.
| Project | Better choice | Why |
|---|---|---|
| Basic Wi-Fi temperature sensor | C3 | Cheap, mature and more than fast enough |
| BLE proxy / BLE sensor node | C3 | No need to pay for unused 802.15.4 hardware |
| Several wired sensors on one tiny board | C6 | More comfortable GPIO allocation |
| Wi-Fi 6 project | C6 | C6 supports 2.4 GHz 802.11ax |
| ESPHome Thread node | C6 | Integrated 802.15.4 and supported OpenThread path |
| ESPHome Zigbee experiment | C6 | Native Zigbee support exists in current ESPHome |
| Lowest-cost compact relay node | C3 | C6 features add little value |
| New smart-home board to keep for future projects | C6 | Broader radio and GPIO capability |
Practical pin allocations
C3 SuperMini: simple Home Assistant sensor
| Function | Suggested GPIO |
|---|---|
| I²C SDA | GPIO0 |
| I²C SCL | GPIO1 |
| Relay / output | GPIO3 |
| Extra digital input | GPIO10 |
| UART RX | GPIO20 |
| UART TX | GPIO21 |
C6 SuperMini: expandable Home Assistant sensor
| Function | Suggested GPIO |
|---|---|
| I²C SDA | GPIO22 |
| I²C SCL | GPIO23 |
| Relay / output | GPIO14 |
| Digital inputs | GPIO20 / GPIO21 |
| Analog input | GPIO0 |
| Extra ADC | GPIO1 / GPIO2 / GPIO3 |
| UART TX | GPIO16 |
| UART RX | GPIO17 |
These are deliberately conservative allocations. ESP32 pin matrices are flexible, so many peripherals can be moved elsewhere, but a good first design avoids boot pins and USB pins instead of trying to use every last pad.
Common migration problems
| Problem | Likely cause | First check |
|---|---|---|
| C6 disappears from USB after firmware starts | GPIO12/13 were reassigned | Remove those GPIO assignments and recover with BOOT mode |
| Old C3 ESPHome YAML will not compile for C6 | Arduino framework or wrong board target | Use variant: esp32c6 and ESP-IDF |
| Board only boots with a sensor disconnected | External circuit is loading a strapping pin | Check GPIO2/8/9 on C3 or GPIO4/5/8/9/15 on C6 |
| Onboard LED behaves differently | C3 and C6 SuperMini LED circuits differ | Verify the actual board revision and LED type |
| UART device stops logging normally | Default UART pins were reused | C3 uses GPIO20/21; common C6 boards use GPIO16/17 |
| C6 Zigbee range is disappointing | PCB antenna / board revision / current C6 stack limitations | Compare placement and hardware before assuming YAML is wrong |
C3 SuperMini or C6 SuperMini: which should you buy?
Buy the ESP32-C3 SuperMini when the project is fundamentally a small Wi-Fi/BLE ESP32 device. It remains one of the best-value tiny boards for ESPHome sensors, BLE proxies, relay controllers, ESP-NOW nodes and simple embedded projects. Four or five carefully chosen GPIOs are enough for a surprising number of designs.
Buy the ESP32-C6 SuperMini when you want a similarly tiny board without locking the project into Wi-Fi/BLE only. Its extra clean GPIO choices are useful immediately, while Wi-Fi 6 and 802.15.4 create options for Thread and Zigbee later. For a new Home Assistant hardware box that may evolve, that flexibility is valuable.
The C6 is therefore the stronger all-round board, but not automatically the better purchase. If a £3 C3 already does everything the project needs, the C6 does not make the temperature reading more accurate or the relay switch faster.
Related ESP32 guides
- ESP32-C3 SuperMini Pinout + Safe GPIOs — detailed C3 wiring, ADC, boot pins and troubleshooting.
- ESP32-C6 SuperMini Pinout + Safe GPIOs — full C6 SuperMini pin allocation and practical GPIO recipes.
- ESP32-C3 vs ESP32-C6: Which One Should You Use? — chip-level comparison beyond the SuperMini boards.
- ESP32-C3 Boards & Versions Compared — official DevKits, XIAO, LOLIN and SuperMini alternatives.
Datasheets and external references
The USB and ESPHome details in this comparison were checked against current Espressif and ESPHome documentation in September 2026. SuperMini PCB details should still be verified against the actual board because the format is manufactured by multiple third parties.
- Espressif ESP32-C3 USB Serial/JTAG documentation — GPIO18/19 USB mapping, flashing and recovery behaviour.
- Espressif ESP32-C6 built-in USB/JTAG documentation — GPIO12/13 USB mapping.
- Espressif ESP32-C6 GPIO documentation — USB, flash and strapping-pin restrictions.
- ESPHome ESP32 platform documentation — current variant syntax, framework support and C3/C6 capabilities.
- ESPHome OpenThread component — Thread support on ESP32-C6 and other 802.15.4-capable ESP32 variants.
- ESPHome Zigbee component — current ESP32-C6 Zigbee support and limitations.
Final recommendation
The C3 SuperMini is still the sensible default for a tiny low-cost Wi-Fi/BLE node. Its mature ESPHome support, simple native USB and low price make it difficult to beat when the project only needs a few sensors or outputs.
The C6 SuperMini is the better choice when starting a more ambitious smart-home project. It has more comfortable GPIO allocation, Wi-Fi 6 and an 802.15.4 radio that current ESPHome can use for Thread and Zigbee. Just remember the two C6 rules that prevent most problems: leave GPIO12/13 alone when you need USB, and use ESP-IDF in ESPHome.