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.
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
| Pin | GPIO | Chip pin | Functions | Notes |
|---|---|---|---|---|
| GND | — | GND | ||
| 3V3 | — | 3V3 | 3.3 V from the on-board regulator. You can feed 3.3 V in here instead of USB, but never both at once. | |
| 3V3 | — | 3V3 | Same 3.3 V rail as the other 3V3 pin. | |
| 2 | 2 | GPIO, ADC1_CH2, FSPIQ | Strapping pin: should be HIGH at reset. Do not let a part pull it LOW while the board starts. | |
| 3 | 3 | GPIO, ADC1_CH3 | ||
| GND | — | GND | ||
| RST | — | CHIP_PU | Reset. Pulling it LOW restarts the chip (same as the RST button). | |
| GND | — | GND | ||
| 0 | 0 | GPIO, ADC1_CH0, XTAL_32K_P | ||
| 1 | 1 | GPIO, ADC1_CH1, XTAL_32K_N | ||
| 10 | 10 | GPIO, FSPICS0 | ||
| GND | — | GND | ||
| 5V | — | 5V | 5 V from the micro-USB port. You can power the board here with 5 V instead of USB, but never both at once. | |
| 5V | — | 5V | Same 5 V rail as the other 5V pin. | |
| GND | — | GND | ||
| GND | — | GND | ||
| TX | 21 | GPIO21 | GPIO, U0TXD | USB serial TX through the CP2102N. Used for uploading and the serial monitor. |
| RX | 20 | GPIO20 | GPIO, U0RXD | USB serial RX through the CP2102N. Used for uploading and the serial monitor. |
| GND | — | GND | ||
| 9 | 9 | GPIO, 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. | |
| 8 | 8 | GPIO, 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 | ||
| 7 | 7 | GPIO, FSPID, MTDO, SPI_CS (default) | ||
| 6 | 6 | GPIO, FSPICLK, MTCK, SPI_MOSI (default) | ||
| 5 | 5 | GPIO, 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. | |
| 4 | 4 | GPIO, ADC1_CH4, FSPIHD, MTMS, SPI_SCK (default) | ||
| GND | — | GND | ||
| 18 | 18 | GPIO, 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. | |
| 19 | 19 | GPIO, 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 BoardPilotSources
- ESP32-C3-DevKitM-1 user guide, Header Block (J1, J3) and footnote on strapping pins GPIO2, 8, 9; Description of Components
- ESP32-C3-DevKitM-1 schematic V1 (2020-09-15), CP2102N-A02 bridge, micro-USB, RGB LED on GPIO8, BOOT on GPIO9
- ESP32-C3-DevKitM-1 dimensions (DXF V1 2020-09-15), Board outline 38.91 x 25.40 mm, header pad centres, component outlines
- ESP32-C3 Series Datasheet v2.4, 3 Boot Configurations (Tables 3-1, 3-3); 2.3 IO pins: GPIO18/19 USB_PU note
- ESP-IDF Programming Guide (ESP32-C3), ADC Oneshot: Hardware Limitations (ADC2 oneshot not supported, results not stable; see ESP32-C3 errata)
- arduino-esp32 variants/esp32c3/pins_arduino.h, SDA 8, SCL 9, SS 7, MOSI 6, MISO 5, SCK 4, TX 21, RX 20, PIN_RGB_LED 8
- Board data file and source notes on GitHub