ESP32-C3-DevKitM-1 pinout

Espressif's small ESP32-C3 board with Wi-Fi, Bluetooth LE, a RISC-V core and an RGB LED. Breadboard friendly, 3.3 V logic.

ESP32-C3-DevKitM-1 pinoutESP32-C3-MINI-1GNDGND3V33V33V33V32ADC1_CH23ADC1_CH3GNDGNDRSTCHIP_PUGNDGND0ADC1_CH01ADC1_CH110FSPICS0GNDGND5V5V5V5VGNDGNDGNDGNDTX · GPIO21U0TXDRX · GPIO20U0RXDGNDGND9I2C_SCL8RGB_LEDGNDGND7FSPID6FSPICLK5ADC2_CH04ADC1_CH4GNDGND18USB_D-19USB_D+GNDGND
Top view, USB connector on the left. Colors: red power, grey ground, green GPIO, yellow analog, orange USB serial, blue I2C.

At a glance

Chip
ESP32-C3 (ESP32-C3-MINI-1)
Processor
Single-core 32-bit RISC-V at 160 MHz, 400 KB SRAM, 4 MB flash in the chip package, Wi-Fi and Bluetooth LE
Logic level
3.3 V. Not 5 V tolerant unless marked below.
Flashing tool
esptool
Arduino board (FQBN)
esp32:esp32:esp32c3
Live pin view in BoardPilot
Yes (diagnostic agent available)

Pins to avoid or use with care

Strapping pins: 2, 9, 8

Their level at reset changes how the board boots. Usually fine after boot.

USB serial: TX (GPIO21), RX (GPIO20)

Used for uploading and the serial monitor. Anything connected here can break uploads.

Good pins for LEDs, buttons and signals

4, 5, 6, 7, 10, 3, 0, 1

Default pins in Arduino

I2C
SDA = 8, SCL = 9. Any output-capable pins work with Wire.begin(sda, scl). Any GPIO can be I2C on the ESP32-C3. Arduino's defaults, GPIO 8 (SDA) and GPIO 9 (SCL), are strapping pins and GPIO 8 also drives the RGB LED.
SPI
MOSI = 6, MISO = 5, SCK = 4, CS = 7.
Analog inputs
0, 1, 3, 4, 2 (0–3.3 V)

How to flash it

If uploading does not start, hold BOOT, press and release RST, then release BOOT.

All 30 pins

PinGPIOChip pinFunctionsNotes
GND—GND
3V3—3V33.3 V from the on-board regulator. You can feed 3.3 V in here instead of USB, but never both at once.
3V3—3V3Same 3.3 V rail as the other 3V3 pin.
22GPIO, ADC1_CH2, FSPIQStrapping pin: should be HIGH at reset. Do not let a part pull it LOW while the board starts.
33GPIO, ADC1_CH3
GND—GND
RST—CHIP_PUReset. Pulling it LOW restarts the chip (same as the RST button).
GND—GND
00GPIO, ADC1_CH0, XTAL_32K_P
11GPIO, ADC1_CH1, XTAL_32K_N
1010GPIO, FSPICS0
GND—GND
5V—5V5 V from the micro-USB port. You can power the board here with 5 V instead of USB, but never both at once.
5V—5VSame 5 V rail as the other 5V pin.
GND—GND
GND—GND
TX21GPIO21GPIO, U0TXDUSB serial TX through the CP2102N. Used for uploading and the serial monitor.
RX20GPIO20GPIO, U0RXDUSB serial RX through the CP2102N. Used for uploading and the serial monitor.
GND—GND
99GPIO, I2C_SCL (default)Strapping pin wired to the BOOT button: LOW at reset starts upload mode instead of your program. Arduino's default I2C SCL.
88GPIO, RGB_LED, I2C_SDA (default)Strapping pin and the RGB LED data line. It must be HIGH at reset for uploading to work. Arduino's default I2C SDA.
GND—GND
77GPIO, FSPID, MTDO, SPI_CS (default)
66GPIO, FSPICLK, MTCK, SPI_MOSI (default)
55GPIO, ADC2_CH0, FSPIWP, MTDI, SPI_MISO (default)ADC2 on the ESP32-C3 gives unstable readings (chip errata) and is not supported by ESP-IDF. Use GPIO 0 to 4 for analog.
44GPIO, ADC1_CH4, FSPIHD, MTMS, SPI_SCK (default)
GND—GND
1818GPIO, USB_D-Native USB D- of the chip. This board's micro-USB port does not use it, so it is free, but it starts up in USB mode.
1919GPIO, USB_D+Native USB D+ of the chip. This board's micro-USB port does not use it, so it is free, but it has a USB pull-up at start-up.
GND—GND

Check your wiring with BoardPilot

BoardPilot shows this board in 3D, flags risky pins as you wire, and flashes it safely with a backup first.

Download BoardPilot

Sources

← All boards