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

GPIOPrimary FunctionAlternate / Peripheral FunctionsBoot / Strapping Role
GPIO0ADC1_CH0UART0_TX, SPI2_CSNone
GPIO1ADC1_CH1UART0_RX, SPI2_MOSINone
GPIO2ADC1_CH2SPI2_MISO, I2S_MCLKStrapping: SPI Flash Voltage (HIGH=3.3V)
GPIO3ADC1_CH3SPI2_CLKNone
GPIO4ADC1_CH4MTMS, I2S_BCLKNone
GPIO5Digital I/OMTCK, I2S_WSNone
GPIO6Digital I/OMTDO, I2S_DOUTNone
GPIO7Digital I/OMTDI, I2S_DINNone
GPIO8I2C_SDA (Default)SPI2_CS1, UART1_TXStrapping: Boot Mode (HIGH=Flash, LOW=USB)
GPIO9I2C_SCL (Default)SPI2_HD, UART1_RXStrapping: Log Print (HIGH=Enable)
GPIO10SPI2_CS0FSPICS0None
GPIO11SPI2_MOSIFSPIDNone
GPIO12SPI2_MISOFSPIQNone
GPIO13SPI2_CLKFSPICLKNone
GPIO14Digital I/ONC (Not bonded on some modules)None
GPIO15Digital I/ONC (Not bonded on some modules)None
GPIO16Digital I/ONC (Not bonded on some modules)None
GPIO17Digital I/ONC (Not bonded on some modules)None
GPIO18USB D-Native USB Serial / JTAGNone
GPIO19USB D+Native USB Serial / JTAGNone
GPIO20UART0_TXDefault Serial Debug (via USB-UART bridge)None
GPIO21UART0_RXDefault Serial Debug (via USB-UART bridge)None
Voltage Warning: The ESP32-C3 is a 3.3V device. The '5V' or 'VIN' pins on development boards are power inputs/outputs tied to the USB VBUS or onboard regulator. Never route 5V into GPIO0-GPIO21.

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.

FeatureESP32-C3-DevKitM-1 (Official)ESP32-C3-SuperMini (Clone)ESP32-C3-MINI-1 (Bare Module)
Form FactorStandard breadboard widthUltra-compact, single-row headersSMD castellated pads + antenna
5V Pin Available?Yes (labeled 5V)Yes (labeled 5V, but often unregulated VBUS)No (3.3V input only)
GPIOs Broken OutAll 22 GPIOs + Power15 GPIOs + Power (hides GPIO14-17)All 22 GPIOs (requires SMD soldering)
USB InterfaceNative USB + UART Bridge (CH340)Native USB only (No UART bridge chip)None (Requires external programmer)
Best ForPrototyping, 5V sensor integrationWearables, battery-powered IoTCustom 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.
If you wire a push-button or a low-side NPN transistor to GPIO8 and it pulls the pin LOW during power-on, your code will never run. Always use a 10kΩ pull-up resistor to 3.3V on GPIO8 if attaching external circuitry.

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.

Pro Tip: For I2C, the Arduino core defaults to SDA=GPIO8 and SCL=GPIO9. Because these are strapping pins, it is significantly safer to remap I2C in your setup function: 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.

  1. 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.
  2. 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.
  3. 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.
  4. 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 RequirementConditionConcrete 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.