The ESP32-C3 SuperMini is a ultra-compact, 14-pin development board built around Espressif’s single-core RISC-V ESP32-C3 chip. Unlike the original dual-core ESP32, the C3 variant trades raw processing power for a smaller footprint, native USB, and lower cost, making it ideal for dense IoT sensor nodes. However, its pinout is not a 1:1 match with standard ESP32 DevKits. Below is the exact pin mapping, followed by the hardware traps that routinely brick boards on the workbench.

The Complete ESP32-C3 SuperMini Pinout Table

The standard SuperMini board breaks out 14 pins (7 on the left, 7 on the right when oriented with the USB-C port facing up). Use this reference table to map the physical silk screen labels to the internal ESP32-C3 GPIO matrix.

Silk Label GPIO Number Primary Function ADC / Special Notes & Constraints
5V N/A Power Input/Output N/A Tied to USB VBUS. Can power 5V sensors. Do NOT feed >5.5V.
GND N/A Ground Reference N/A Common ground for all logic and power.
3V3 N/A 3.3V Regulated Out N/A Output of the onboard LDO. Max draw typically 500mA.
TX GPIO 21 UART0 TX None Default hardware serial transmit.
RX GPIO 20 UART0 RX None Default hardware serial receive.
D8 / GPIO8 GPIO 8 General I/O None Strapping Pin: Must be HIGH on boot for SPI flash.
D9 / GPIO9 GPIO 9 General I/O None Strapping Pin: Must be LOW on boot for SPI boot.
D2 / GPIO2 GPIO 2 General I/O ADC1_CH2 Strapping Pin: Must be LOW on boot. Has 12-bit ADC.
D3 / GPIO3 GPIO 3 General I/O ADC1_CH3 Safe for analog reads (12-bit).
D4 / GPIO4 GPIO 4 General I/O / SPI ADC1_CH4 Safe for analog reads. Often used for SPI SS.
D5 / GPIO5 GPIO 5 General I/O / SPI None No ADC. Safe for digital I2C/SPI.
D6 / GPIO6 GPIO 6 General I/O / SPI None Default SPI SCK (Clock).
D7 / GPIO7 GPIO 7 General I/O / SPI None Default SPI MOSI.
D10 / GPIO10 GPIO 10 General I/O / SPI None Default SPI MISO.

Rows People Get Wrong (And How to Avoid Bricking Your Board)

When migrating from the original ESP32 or an Arduino Nano, makers consistently trip over three hardware realities specific to the ESP32-C3 architecture. Understanding these will save you hours of debugging.

1. The Strapping Pin Boot Loop Trap

GPIO 2, GPIO 8, and GPIO 9 are strapping pins. During reset, the ESP32-C3 samples these pins to determine boot mode. According to the Espressif ESP32-C3 Datasheet, GPIO 8 must be HIGH, while GPIO 2 and GPIO 9 must be LOW to boot from the internal SPI flash. If you wire a sensor that pulls GPIO 8 LOW (like an active-low interrupt pin) or GPIO 2 HIGH, the chip will enter download mode or fail to boot entirely. Fix: Never use strapping pins for sensors that drive the line on startup. If you must use them, add a 10kΩ pull-up/pull-down resistor to enforce the correct boot state, and ensure the sensor only drives the pin after the board has fully booted.

2. The ADC Channel Illusion

The original ESP32 had 18 ADC channels across two internal ADC units. The ESP32-C3 only has ADC1, and it is strictly limited to GPIO 0, 1, 2, 3, and 4. If you try to run analogRead() on GPIO 5 through 10, you will get garbage data or a hard fault. Furthermore, the C3’s ADC is 12-bit (0-4095) but operates on a 0-2.5V range internally, not 3.3V. Always use a voltage divider for 3.3V analog signals.

⚠️ 5V Logic Warning: The 5V pin on the SuperMini is directly tied to the USB-C VBUS. It is strictly for powering external 5V modules (like a 5V relay or WS2812B strip). The ESP32-C3 silicon operates at 3.3V. Feeding 5V into any GPIO (including RX/TX) will permanently destroy the RISC-V core. Use a logic level shifter if interfacing with 5V I2C/SPI devices.

Board Variants, Faded Silk Screens, and Wiring Standards

The "SuperMini" moniker is applied to several clone boards manufactured in Shenzhen. While the 14-pin layout is standard, you may encounter variants with different USB-C controllers or missing silk screen labels. Here is how to navigate the physical and standard variations.

Safe Interpretation When Markings are Faded or Missing

Cheap clone boards often have silk screen text that rubs off after a few breadboard insertions. If you lose your pin references, use a multimeter to safely re-map the board:

  • Find GND: Set your meter to continuity mode. Probe the outer metal shell of the USB-C connector. The pin that beeps continuously is GND.
  • Find 5V: Power the board via USB. Set your meter to DC Voltage. Probe against your known GND. The pin reading 4.8V–5.2V is 5V.
  • Find 3V3: Using the same voltage setup, the pin reading 3.2V–3.4V is the 3V3 LDO output.
  • Identify TX/RX: The remaining pins on that side of the board are GPIOs. TX and RX are typically the two pins immediately below 3V3.

Standard Wiring Color Codes for Sensor Harnesses

When building permanent harnesses for your SuperMini (e.g., connecting to an I2C BME280 or SPI SD card module), adhering to standard wire color codes prevents catastrophic reverse-polarity mistakes. While the PCB itself doesn't follow regional electrical codes, the harness wiring should align with established DC electronics standards.

Function IEC 60446 / Modern EU Standard US / Legacy Hobbyist Standard
DC Power Positive (5V) Red Red
DC Power Positive (3.3V) Orange Orange or Yellow
Ground (GND) Blue (DC) or Black Black
I2C SDA / SPI MISO Green Green or Blue
I2C SCL / SPI SCK Yellow Yellow or Purple

Note: Always verify harness continuity with a multimeter before plugging it into the SuperMini. A swapped VCC/GND wire will instantly short the onboard LDO.

Frequently Asked Questions

Does the ESP32-C3 SuperMini have native USB or a serial bridge?

It depends on the specific manufacturing batch. The ESP32-C3 silicon supports native USB via GPIO 18 (D-) and GPIO 19 (D+). However, many early or ultra-cheap SuperMini boards route the USB-C port through an external CH340 or CP2102 UART bridge chip to save on firmware configuration headaches. If your board has a tiny 16-pin SOIC chip near the USB port, it uses a serial bridge. If the USB-C port connects directly to the main shielded can with only a few passive components nearby, it is using native USB. For native USB boards, you must enable "USB CDC On Boot" in the Arduino IDE Tools menu to get serial monitor output.

Why does my ESP32-C3 SuperMini fail to enter download mode automatically?

Unlike larger DevKits, the SuperMini often lacks the automatic boot-mode RC circuit tied to the DTR/RTS lines of the serial bridge. If the Arduino IDE fails to upload code and throws a "Failed to connect to ESP32-C3: Timed out waiting for packet header" error, you must manually force download mode. Hold the BOOT button (sometimes labeled 0 or EN depending on the silkscreen) on the board, press and release the RESET button, and then release the BOOT button. The IDE should immediately catch the connection and begin flashing.

Can I use I2C on any pins of the ESP32-C3 SuperMini?

Yes, but with a caveat. The ESP32-C3 does not have dedicated hardware I2C pins mapped by default in the Arduino core like the SDA=21/SCL=22 on the original ESP32. You must explicitly define your I2C pins in your setup code using the Wire library. For example, Wire.begin(GPIO4, GPIO5); will assign SDA to GPIO 4 and SCL to GPIO 5. Always use 4.7kΩ pull-up resistors to 3.3V on both lines, as the internal pull-ups are too weak (~45kΩ) for reliable I2C communication at 400kHz, especially in environments with high EMI.