Espressif ESP32-C3-DevKitM-1

Compact official ESP32-C3 dev board with RISC-V core - perfect for secure, low-power IoT and BLE applications.

Micro-USB
Espressif ESP32-C3-DevKitM-1 board
38.91 × 25.4 mm
ESP32-C3
RISC-V MCU
160MHz
clock
4MB
flash
400KB
SRAM
15· 6 ADC
GPIO
BLE 5.0+ WiFi
radio
On this page

Espressif ESP32-C3-DevKitM-1 Pinout

30 pins · 2.54 mm pitch
Espressif ESP32-C3-DevKitM-1 pinout diagram, high resolution: all 30 pins, with GPIO numbers, ADC channels and strapping pins
Espressif ESP32-C3-DevKitM-1 pinout, drawn by ESPboards from the ESP32-C3 Series Datasheet v2.4.
Espressif ESP32-C3-DevKitM-1 pinout diagram
PinGPIOLabelsStatusCapabilitiesNotes
1-GNDground-Ground
2-3V33.3Vpower-3.3V regulated output
3-3V33.3Vpower-3.3V regulated output
42IO2A2strappingadc · pwmADC1_CH2; FSPIQ
53IO3A3safeadc · pwmADC1_CH3
6-GNDground-Ground
7-RSTENcontrol-Chip reset (active low)
8-GNDground-Ground
90IO0A0safeadc · pwmADC1_CH0; RTC; XTAL_32K
101IO1A1safeadc · pwmADC1_CH1; RTC; XTAL_32K
1110IO10safepwmGeneral-purpose GPIO; FSPICS0
12-GNDground-Ground
13-5Vpower-5V input (from USB) / output
14-5Vpower-5V input (from USB) / output
15-GNDground-Ground
16-GNDground-Ground
1721IO21TXuartuart · pwmUART0 TX
1820IO20RXuartuart · pwmUART0 RX
19-GNDground-Ground
209IO9SCLstrappingi2c · pwmBOOT button; default I2C SCL
218IO8SDAstrappingi2c · pwmOnboard RGB LED; default I2C SDA
22-GNDground-Ground
237IO7SSstrappingspi · pwmSPI SS; JTAG MTDO
246IO6MOSIstrappingspi · pwmSPI MOSI; JTAG MTCK
255IO5A5MISOstrappingadc · spi · pwmADC2_CH0; SPI MISO; JTAG MTDI
264IO4A4SCKstrappingadc · spi · pwmADC1_CH4; SPI SCK; JTAG MTMS
27-GNDground-Ground
2818IO18uartpwmUSB D- (native USB Serial/JTAG)
2919IO19uartpwmUSB D+ (native USB Serial/JTAG)
30-GNDground-Ground
Download the Espressif ESP32-C3-DevKitM-1 pinout Free to use and share for non-commercial work, as long as you credit espboards.dev. License.
15 GPIOs broken out 4 free · 9 need care · 2 to avoid

Start with these

4 pins with no boot or system involvement
IO3IO0IO1IO10

Freely assignable - no strapping, flash, USB or JTAG duties. Ideal first picks for buttons, sensors and LEDs.

Fine - with a little care

9 pins · 9 things to know
IO2 Strapping pin, but it does not select the boot mode - GPIO9 does. Espressif only recommend pulling it up against reset-time glitches. Floating by default. Strapping

A strapping pin: Espressif recommend an external pull-up against glitches at reset, so avoid heavy capacitive loads or a strong low drive here. It does not put the chip into download mode (that is GPIO9).

IO21 UART0 TXD (default serial output) UART

Used as UART0 transmit (console/bootloader); repurposing may disable serial console output and printing

IO20 UART0 RXD (default serial input) UART

Used as UART0 receive (console/bootloader); repurposing may disable serial programming and debug logs

IO9 Bootstrapping pin; selects boot mode (HIGH = SPI flash boot, LOW = UART download) Strapping

Controls boot mode on reset (HIGH for normal flash boot, LOW enters serial download mode)

IO8 Bootstrapping pin (needs HIGH at reset); also gates ROM boot message printing (UART_PRINT_CONTROL efuse) Strapping

Must be held high during reset (if low, UART flashing/boot may not work)

IO7 Bootstrapping pin; JTAG TDO; Flash data (FSPID in internal-flash models) JTAG

Used during boot; JTAG TDO for debugging; acts as Quad-SPI flash IO (data line) in internal-flash variants

IO6 Bootstrapping pin; JTAG TCK; Flash clock (FSPICLK in internal-flash models) JTAG

Used during boot; JTAG TCK for debugging; provides flash clock in internal-flash variants

IO5 Bootstrapping pin; JTAG TDI; Flash data (FSPIWP in internal-flash models) JTAG

Used during boot; JTAG TDI for debugging; acts as Quad-SPI flash IO (write-protect data line) in internal-flash variants

IO4 Bootstrapping pin; JTAG TMS; Flash data (FSPIHD in internal-flash models) JTAG

Used during boot; JTAG TMS for debugging; acts as Quad-SPI flash IO (hold data line) in internal-flash variants

Only if you know the tricks

2 pins · 2 things to know
IO18 USB D- line (USB Serial/JTAG interface) USB

By default connected to on-chip USB Serial/JTAG controller; to use as GPIO it must be reconfigured from its USB function

IO19 USB D+ line (USB Serial/JTAG interface) USB

By default connected to on-chip USB Serial/JTAG controller; not available for GPIO use unless USB functionality is disabled or remapped

These are recommendations, not hard rules - with the right pull-ups, timing and boot-state awareness most pins can be made to work. When in doubt, start green.

The Espressif ESP32-C3-DevKitM-1 pinout brings out 30 pins at a 2.54 mm pitch - 15 usable GPIO alongside the GND, 3V3 and 5V power rails.

Peripheral wiring is straightforward: I²C is mapped to SDA on GPIO8 and SCL on GPIO9; the SPI bus (MOSI, MISO, SCK, SS) is broken out in full; TX/RX on GPIO21 and GPIO20 cover serial logging and flashing.

Beyond plain digital I/O you get 6 ADC-capable pins for sensors and battery monitoring and PWM on every GPIO.

9 of the exposed pins carry boot-time or system duties on the ESP32-C3 (IO2, IO21, IO20 and 6 more) - check the guidance above before wiring anything to them. IO3, IO0, IO1 and IO10 are free of any such role - the safest first picks.

Getting started

flash your first firmware in ~2 minutes
Tool:
1
Connect over USB
Install your USB-serial driver (CH340 / CP210x) if no port appears. Not detected? Hold BOOT while plugging in.
2
Match & flash
Set the Tools options shown, then click Upload.
3
Verify it runs
GPIO3 toggles - wire an LED and resistor to it, or change the pin to your board's own LED.
Set these in Tools · leave everything else at default
Arduino IDE 2.x - Tools Copy
Board: "ESP32C3 Dev Module"▸
Flash Size: "4MB (32Mb)"▸
Flash Mode: "DIO"▸
Partition Scheme: "Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)" (default)▸
Upload Speed: "921600"▸
▸ every other Tools option - leave at default
Board: ESP32C3 Dev Module
Flash Size: 4MB (32Mb)
Flash Mode: DIO
Partition Scheme: Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
Upload Speed: 921600
Find it: Tools ▸ Board ▸ ESP32 Arduino ▸ ESP32C3 Dev Module
blink.ino Copy
// toggle GPIO3 - wire an LED and resistor to it
void setup() {
  pinMode(3, OUTPUT);
}
void loop() {
  digitalWrite(3, HIGH); delay(500);
  digitalWrite(3, LOW);  delay(500);
}
board to selectesp32-c3-devkitm-1⧉ copy
platformio.ini Copy
[env:esp32-c3-devkitm-1]
platform = espressif32
board = esp32-c3-devkitm-1
framework = arduino
monitor_speed = 115200
upload_speed = 921600
Find it: PlatformIO Home ▸ Boards, search esp32-c3-devkitm-1 - or type it after board =.
board to selectesp32-c3-devkitm-1⧉ copy
device.yaml Copy
esp32:
  board: esp32-c3-devkitm-1
  variant: esp32c3
  framework:
    type: esp-idf

# blink - GPIO3
output:
  - platform: gpio
    pin: 3
    id: led_out
light:
  - platform: binary
    name: "LED"
    output: led_out
Find it: search ESPHome's board list for esp32-c3-devkitm-1 (same ids as PlatformIO).
esptool doesn't pick board settings - a prebuilt .bin already has them baked in. This is just the raw flash command.
terminal Copy
esptool.py --chip esp32c3 --port /dev/ttyACM0 \
  --baud 921600 write_flash 0x0 firmware.bin
--port = your /dev/tty* (macOS/Linux) or COMx (Windows).

Downloads

Free for non-commercial use, credit espboards.dev · License
Espressif ESP32-C3-DevKitM-1 board illustration, front

Board illustration

The bare Espressif ESP32-C3-DevKitM-1 board drawn to scale at 38.91 × 25.4 mm, with no pin labels on it. Made for slide decks, wiring diagrams and project write-ups where a photo is too busy. Take the scalable SVG for print or editing, the high-resolution PNG to drop straight in, or the transparent PNG when you need it with no background behind it.

Espressif ESP32-C3-DevKitM-1 pinout diagram

Pinout diagram

Every pin on both sides of the board with its functions, drawn by ESPboards from the ESP32-C3 Series Datasheet v2.4 - the same sheet shown at the top of this page. The PNG is a high-resolution image for screens, the SVG is vector so it stays sharp at any size, and the PDF is laid out to print on A4 or Letter.

Free for non-commercial use, with the credit line kept.

Embed the Espressif ESP32-C3-DevKitM-1 pinout

Paste this where you want the diagram. Keep the credit line - it is what the licence asks for, and it is the only thing we want in return.

<figure>
  <img src="https://cdn.espboards.net/boards/esp32-c3-devkitm-1/diagram-1600.png"
       alt="Espressif ESP32-C3-DevKitM-1 pinout diagram" width="1600" loading="lazy">
  <figcaption>
    Espressif ESP32-C3-DevKitM-1 pinout by
    <a href="https://www.espboards.dev/esp32/esp32-c3-devkitm-1/">ESPboards</a>,
    <a href="https://creativecommons.org/licenses/by-nc/4.0/">CC BY-NC 4.0</a>
  </figcaption>
</figure>

Using it commercially? Ask us first - it takes one email.

Yours to use, share and adapt for non-commercial work, as long as you credit espboards.dev - the full terms and ready-made credit lines are here.

Specifications

ESP32-C3 · 38.91 × 25.4 mm · vs other ESP32 chips →
Compute
MCU
ESP32-C3 · RISC-V
Clock
160 MHz
SRAM · Flash
400 KB · 4MB
Radio
Wi-Fi
802.11 b/g/n
Bluetooth
5.0 LE
Antenna
PCB
I/O
GPIO · ADC
15 · 6
UART · I²C · SPI
2 · 1 · 1
PWM
6 channels
Power
USB
Micro-USB
Serial
CP2102N
Boot address
0x0
Flashing
Upload · OTA
esptool_py · esp_ota
Flash · Boot mode
DIO · DIO
Sketch · Data
- · 320 KB

Dimensions

Espressif ESP32-C3-DevKitM-1 board, drawn to scale
25.4 mm38.91 mm
38.91 × 25.4 mm · pin pitch 2.54 mm
The Espressif ESP32-C3-DevKitM-1 uses esptool_py for firmware uploads, esp_ota for over-the-air (OTA) updates. Flash mode is DIO with DIO boot mode.

About this board

Inside sits the ESP32-C3 - a single-core RISC-V and the budget low-power pick.

The $10.00 price tag is typical for an ESP32-C3 board.

Around the module: an addressable RGB LED (GPIO8) and Boot/Reset buttons.

Where to buy

prices are typical street prices
Espressif ESP32-C3-DevKitM-1
Espressif ESP32-C3-DevKitM-1
$10.00per unit, typical
As an Amazon Associate, ESPboards earns from qualifying purchases.

Resources

Similar boards