The ESP32-C3 is a single-core RISC-V 32-bit microcontroller featuring Wi-Fi 4 and Bluetooth 5. It operates strictly at 3.3V logic. Feeding 5V into any GPIO will permanently destroy the silicon. Below is the complete pinout reference for the 22 available GPIOs, mapped to their primary and alternate functions.
The Complete ESP32-C3 Pinout Reference Table
| GPIO | Primary Function | Alternate / Peripheral Functions | Boot / Strapping Role |
|---|---|---|---|
| GPIO0 | ADC1_CH0 | UART0_TX, SPI2_CS | None |
| GPIO1 | ADC1_CH1 | UART0_RX, SPI2_MOSI | None |
| GPIO2 | ADC1_CH2 | SPI2_MISO, I2S_MCLK | Strapping: SPI Flash Voltage (HIGH=3.3V) |
| GPIO3 | ADC1_CH3 | SPI2_CLK | None |
| GPIO4 | ADC1_CH4 | MTMS, I2S_BCLK | None |
| GPIO5 | Digital I/O | MTCK, I2S_WS | None |
| GPIO6 | Digital I/O | MTDO, I2S_DOUT | None |
| GPIO7 | Digital I/O | MTDI, I2S_DIN | None |
| GPIO8 | I2C_SDA (Default) | SPI2_CS1, UART1_TX | Strapping: Boot Mode (HIGH=Flash, LOW=USB) |
| GPIO9 | I2C_SCL (Default) | SPI2_HD, UART1_RX | Strapping: Log Print (HIGH=Enable) |
| GPIO10 | SPI2_CS0 | FSPICS0 | None |
| GPIO11 | SPI2_MOSI | FSPID | None |
| GPIO12 | SPI2_MISO | FSPIQ | None |
| GPIO13 | SPI2_CLK | FSPICLK | None |
| GPIO14 | Digital I/O | NC (Not bonded on some modules) | None |
| GPIO15 | Digital I/O | NC (Not bonded on some modules) | None |
| GPIO16 | Digital I/O | NC (Not bonded on some modules) | None |
| GPIO17 | Digital I/O | NC (Not bonded on some modules) | None |
| GPIO18 | USB D- | Native USB Serial / JTAG | None |
| GPIO19 | USB D+ | Native USB Serial / JTAG | None |
| GPIO20 | UART0_TX | Default Serial Debug (via USB-UART bridge) | None |
| GPIO21 | UART0_RX | Default Serial Debug (via USB-UART bridge) | None |
Board Variants: SuperMini vs. DevKitM-1 vs. Bare Module
Unlike mains wiring where NEC and IEC dictate color codes, microcontroller pinouts are dictated by the specific board manufacturer's layout. The ESP32-C3 silicon is identical across boards, but the broken-out pins vary wildly.
| Feature | ESP32-C3-DevKitM-1 (Official) | ESP32-C3-SuperMini (Clone) | ESP32-C3-MINI-1 (Bare Module) |
|---|---|---|---|
| Form Factor | Standard breadboard width | Ultra-compact, single-row headers | SMD castellated pads + antenna |
| 5V Pin Available? | Yes (labeled 5V) | Yes (labeled 5V, but often unregulated VBUS) | No (3.3V input only) |
| GPIOs Broken Out | All 22 GPIOs + Power | 15 GPIOs + Power (hides GPIO14-17) | All 22 GPIOs (requires SMD soldering) |
| USB Interface | Native USB + UART Bridge (CH340) | Native USB only (No UART bridge chip) | None (Requires external programmer) |
| Best For | Prototyping, 5V sensor integration | Wearables, battery-powered IoT | Custom PCB manufacturing |
Safe Interpretation: If you are using a SuperMini clone, assume the '5V' pin is directly connected to the USB Type-C VBUS line. If you power the board via the 3.3V pin (bypassing USB), the 5V pin will output 0V. The DevKitM-1 handles this more gracefully via its onboard LDO routing.
Rows People Get Wrong: Strapping Pins & ADC Limits
When debugging a bricked boot sequence or a failing sensor, 90% of issues trace back to misinterpreting three specific rows in the table above.
1. The ADC1 Illusion (GPIO0 - GPIO4 Only)
Unlike the original dual-core ESP32 which featured ADCs on nearly two dozen pins, the C3 restricts Analog-to-Digital conversion strictly to GPIO0, GPIO1, GPIO2, GPIO3, and GPIO4. If you wire a potentiometer or analog moisture sensor to GPIO5 and call analogRead(5), you will read a flat 0 or random noise. The C3 has no DAC (Digital-to-Analog) pins whatsoever.
2. GPIO8: The Boot Mode Trap
GPIO8 controls the boot mode.
- HIGH at boot: Normal SPI flash execution (Standard operation).
- LOW at boot: Enters USB DFU (Device Firmware Upgrade) mode.
3. GPIO9: The Log Print Pin
GPIO9 outputs the bootloader log at 115200 baud on startup. If you use GPIO9 as an input with a pull-down resistor, the bootloader's TX current will fight your resistor, causing brownouts or erratic boot behavior. Leave GPIO9 unconnected during the boot sequence if using it for peripheral inputs.
Wire.begin(GPIO4, GPIO5); to avoid boot conflicts.
Faded Silkscreen? How to Safely Identify Pins Without Markings
Cheap clone boards frequently suffer from rubbed-off silkscreen, or you might be salvaging an ESP32-C3 module from a broken commercial PCB. Here is the bench procedure to identify power and ground safely without guessing and shorting the LDO.
- Find GND (Ground): Set your multimeter to continuity mode (the diode/beep setting). Place one probe on the metal shield of the USB Type-C port. Probe the header pins. The pin that beeps is GND. On bare modules, the large thermal pad on the bottom and the metal RF shield are also GND.
- Find 5V / VBUS: Keep the black probe on the USB shield. Move the red probe to the USB port's VBUS pin (the outermost pin inside the USB-C receptacle). Now, probe the header pins with the red probe. The pin that beeps is your raw 5V USB input.
- Find 3.3V: Locate the voltage regulator (LDO) near the USB port. It is usually a SOT-223 (3 large pins, 1 tab) or SOT-23-5 package. Pin 1 is Input (5V), Pin 2 is GND, and Pin 3 is Output (3.3V). Use continuity from Pin 3 to the headers to find your regulated 3.3V rail.
- Find TX/RX: If you need the UART pins and markings are gone, trace the copper pour from the TX/RX resistors near the USB-UART bridge chip (if present) back to the headers. If using native USB, GPIO18 and GPIO19 will trace directly to the center two data pins of the USB-C port.
Decision Tree: Which ESP32-C3 Board Should You Buy?
Stop guessing which variant to add to your cart. Follow this decision path to select the exact hardware for your build.
| Your Project Requirement | Condition | Concrete Pick |
|---|---|---|
| Need to power 5V peripherals? | If using WS2812B LEDs, 5V relays, or standard 5V I2C sensors directly from the board's 5V pin. | Buy: ESP32-C3-DevKitM-1 (Official Espressif or Ai-Thinker). It has a robust 5V bus and handles USB-to-5V routing correctly. |
| Need ultra-compact size & battery power? | If building a wearable, a hidden IoT sensor, or running strictly on a 3.7V LiPo via the 3.3V pin. | Buy: ESP32-C3-SuperMini. It sheds the UART bridge chip, saving space and reducing quiescent current draw. |
| Designing a custom PCB? | If you are ordering from JLCPCB/PCBWay and need to minimize BOM count and board footprint. | Buy: ESP32-C3-MINI-1 bare module (with integrated PCB trace antenna). Do not use the dev boards for final production. |
| Need all 22 GPIOs for a complex matrix? | If building a macro keyboard, a large LED matrix, or need every possible interrupt pin. | Buy: ESP32-C3-DevKitM-1. The SuperMini physically omits GPIO14, 15, 16, and 17 from the headers. |
Default Recommendation: If you are a hobbyist prototyping on a breadboard and have no strict size constraints, buy the ESP32-C3-DevKitM-1. The presence of the onboard UART bridge chip (CH340 or CP2102) makes serial debugging vastly more reliable on older operating systems compared to the native-only USB implementation on the SuperMini clones.
For exact electrical characteristics, thermal derating curves, and deep-sleep current consumption figures, always cross-reference your specific board's schematic with the official Espressif ESP32-C3 Datasheet and the ESP-IDF Hardware Reference.






