The Complete ESP32-C3 Super Mini Pinout Reference
The standard commercial "Super Mini" variant breaks out 14 pins (7 per side). Unlike the original dual-core ESP32, the C3 variant uses a RISC-V architecture and features native USB on specific pins, which changes how you handle serial debugging and bootloading.| Physical Pin | GPIO Number | Silkscreen Label | Primary Function | ADC / PWM / Special Notes |
|---|---|---|---|---|
| Left 1 | N/A | 5V | Power Input | USB VBUS input. Do not use as a high-current 5V output. |
| Left 2 | N/A | GND | Ground | Common ground for logic and power. |
| Left 3 | N/A | 3V3 | Power Output | Onboard LDO output. Max draw ~500mA depending on LDO variant. |
| Left 4 | GPIO2 | 2 | General I/O | ADC1_CH2. Strapping pin: must be LOW for SPI flash boot. |
| Left 5 | GPIO3 | 3 | General I/O | ADC1_CH3. Analog input capable. |
| Left 6 | GPIO4 | 4 | General I/O | ADC1_CH4. Often used for I2C SDA. |
| Left 7 | GPIO5 | 5 | General I/O | ADC1_CH5. Often used for I2C SCL. |
| Right 1 | GPIO21 | TX | UART0 TX | Default hardware serial transmit. Not routed to USB. |
| Right 2 | GPIO20 | RX | UART0 RX | Default hardware serial receive. Not routed to USB. |
| Right 3 | GPIO10 | 10 | General I/O | SPI FSPICS0. Good for SPI display chip select. |
| Right 4 | GPIO9 | 9 | Boot / I/O | Strapping pin: Pull LOW during reset to enter USB download mode. |
| Right 5 | GPIO8 | 8 | General I/O | SPI SPICS0 / Built-in RGB LED (on some revisions). |
| Right 6 | GPIO7 | 7 | General I/O | SPI FSPID / MOSI. |
| Right 7 | GPIO6 | 6 | General I/O | SPI FSPICLK / SCK. |
Wiring Standards & Peripheral Color Codes
When connecting the ESP32-C3 Super Mini to external sensors, relay modules, or AC mains interfaces, you must adhere to established wiring color standards. While the microcontroller itself operates at 3.3V DC, the peripherals it controls often cross into higher voltages. Misinterpreting a wire color when wiring a 5V relay module or a 120V/230V AC contactor can result in a fried RISC-V core or a severe shock hazard.| Application | IEC 60446 (EU / UK / AU) | NEC / US Standard | Common Hobbyist / Dupont Wire |
|---|---|---|---|
| Low Voltage DC Ground (GND) | Black or Blue | Black | Black |
| Low Voltage DC Positive (3.3V / 5V) | Red or Brown | Red | Red |
| I2C Data (SDA) | Yellow (Recommended) | Yellow | Orange or Yellow |
| I2C Clock (SCL) | Green (Recommended) | Green | Green or Blue |
| AC Mains Earth Ground | Green/Yellow Stripe | Green or Bare Copper | N/A (Never use Dupont) |
| AC Mains Neutral | Blue | White or Gray | N/A |
| AC Mains Line (Hot) | Brown | Black or Red | N/A |
Rows Makers Get Wrong (And How to Avoid Bricking Your Board)
The ESP32-C3 is not a drop-in replacement for the original ESP32. The architecture and strapping pin behaviors are fundamentally different. Here are the specific rows from the pinout table that cause the most field failures.
1. The Missing UART-to-USB Bridge (GPIO20 / GPIO21)
Unlike the 30-pin DevKit, the Super Mini does not have an onboard CP2102 or CH340 USB-to-UART bridge chip. The USB-C port is wired directly to the ESP32-C3's native USB peripheral on GPIO18 (D-) and GPIO19 (D+), which are not broken out on the side headers. The pins labeled TX (GPIO21) and RX (GPIO20) are strictly hardware UART. If you are trying to view serial monitor output, you must use the native USB CDC interface in your code, not the hardware UART pins, unless you are wiring an external FTDI adapter.
2. The Bootloader Trap (GPIO9)
Because the board uses native USB, the Arduino IDE or ESP-IDF often fails to auto-reset the board into download mode. If your upload hangs at "Connecting...", you must manually pull GPIO9 to GND, press the reset button (or unplug/replug the USB cable), and then release GPIO9. For permanent installations, wire a 10k pull-up resistor on GPIO9 and a tactile switch to GND to act as a manual "Boot" button.
3. The 5V Pin Misconception
The pin labeled 5V is directly connected to the USB-C VBUS line. It is an input, not a robust output. While you can use it to power a single 5V I2C sensor that draws 10mA, attempting to power a 5V relay module or a strip of WS2812 LEDs from this pin will cause a brownout on the USB bus, resetting the C3 core and potentially tripping your computer's USB overcurrent protection. Always power high-current 5V peripherals from a dedicated external buck converter.
Frequently Asked Questions
What is the maximum current draw per GPIO on the ESP32-C3 Super Mini?
The absolute maximum rating per GPIO is 40mA, but Espressif strongly recommends limiting continuous current to 20mA per pin, with a total aggregate current across all GPIOs not exceeding 80mA. If you need to drive a 5V relay or a high-power MOSFET gate, use a logic-level N-channel MOSFET (like the 2N7000) or an optocoupler. Never source a relay coil directly from a C3 GPIO.
Can I use the ESP32-C3 Super Mini for deep sleep battery projects?
Yes, the ESP32-C3 silicon itself supports deep sleep currents around 5µA. However, the "Super Mini" board features an onboard 3.3V LDO voltage regulator and a USB-C power path management circuit that have a quiescent current draw of roughly 5mA to 15mA. This parasitic draw will kill a lithium cell quickly. For true ultra-low-power battery projects, you must either physically desolder the onboard LDO and feed 3.3V directly into the 3V3 pin, or switch to a bare ESP32-C3 module without the dev-board overhead.
Why does my ESP32-C3 Super Mini not show up in the Arduino IDE port list?
This is almost always caused by the native USB bootloader state. The board requires the Arduino ESP32 Core (version 2.0.14 or newer) with "USB CDC On Boot" enabled in the Tools menu. If the firmware currently on the chip has disabled USB CDC or crashed before initializing the USB stack, the PC will not enumerate the device. Hold the BOOT button (or pull GPIO9 low), plug in the USB cable, and the board will enumerate as an ESP32-C3 USB device, allowing you to flash a corrected sketch.
How noisy is the ADC on the ESP32-C3 compared to the original ESP32?
The ESP32-C3 features a 12-bit SAR ADC, but bench tests consistently show a noise floor of ±15 to ±20 LSBs when reading floating analog pins or high-impedance voltage dividers. For precision analog readings (like a load cell or NTC thermistor), you must place a 100nF ceramic capacitor directly between the analog input pin and GND to filter high-frequency RISC-V clock noise. For critical measurements, bypass the internal ADC entirely and use an external I2C ADC like the ADS1115.
For deeper architectural details on the RISC-V core and strapping pin logic thresholds, refer to the official Espressif ESP32-C3 Technical Reference Manual.






