Opens in a new tab

ESP32-C5-DevKitC-1 Pinout

ESP32-C5-DevKitC-1 is the official Espressif development board with the ESP32-C5 chip. It is the first in the ESP32 family to support dual-band Wi-Fi 6 (2.4 and 5 GHz), along with Bluetooth LE and an IEEE 802.15.4 radio for Zigbee, Thread and Matter. The 5 GHz band is useful where 2.4 GHz is congested.

The board has two USB-C connectors (native USB and a USB-UART converter) and an addressable RGB LED.

Specifications

  • ESP32-C5: RISC-V up to 240 MHz + 48 MHz low-power core, 384 kB SRAM
  • ESP32-C5-WROOM-1 module with PCB antenna
  • Wi-Fi 6 (2.4 and 5 GHz), Bluetooth LE, Zigbee and Thread (802.15.4)
  • 22 GPIO on the headers (21 on the module with PSRAM), 6 analog inputs (ADC1)
  • UART, I2C, SPI, PWM, I2S, 2× CAN FD (TWAI), USB Serial/JTAG
  • 2× USB-C (native USB and UART via CP2102N), RGB LED on GPIO27
  • 53.6 × 25.4 mm (the module with antenna overhangs)

Headers J1 and J3 have pin 1 next to the module and pin 16 next to the USB connectors – this is also how Espressif’s tables number them. The pinout applies to board version v1.2; the first version, v1.1, had a different header layout.

GPIO0–6 are also LP GPIO: they are controlled by the low-power core and can wake the chip from deep sleep. Arduino IDE support is available from arduino-esp32 core 3.3.

Pinout and pin table

Hover over a pin in the diagram or a table row; use the filter to highlight a bus. You can download the pinout as PNG or SVG.

Pin names:
ESP32-C5-DevKitC-1 – pinoutESP32-C5-DevKitC-1 – pinoutchiptron.eu · CC BY 4.0USB-CUSB-CUSBUARTBOOTRESETRGBJ5ESP32-C5-WROOM-1 16 NC 15 GND 14 GPIO13 USB D− 13 GPIO14 USB D+ 12 GND 11 GPIO28 BOOT button 10 NC 9 GPIO5 ADC1_CH4 8 GPIO4 ADC1_CH3 7 GPIO27 RGB LED 6 GPIO15 5 GPIO23 4 GPIO24 3 GPIO12 RX 2 GPIO11 TX 1 GND 16 NC 15 GND 14 5V ↔ 5 V from USB, or 5 V power input 13 GPIO25 12 GPIO26 11 GPIO10 SCK 10 GPIO9 MISO 9 GPIO8 MOSI 8 GPIO7 7 GPIO6 ADC1_CH5 SS 6 GPIO1 ADC1_CH0 SCL 5 GPIO0 SDA 4 GPIO3 ADC1_CH2 3 GPIO2 ADC1_CH1 2 RST ← Reset (CHIP_PU, RESET button) – logic 0 turns the chip off 1 3V3 → 3.3 V output from the converter (via jumper J5) GPIO UART I2C SPI ADC (analog) Power Ground (GND) Control / reset Not connected Strapping pin
Download:PNGSVG
Pin table – ESP32-C5-DevKitC-1
PinNameDirectionUARTI2CSPIADCNote
J3-1GND–
J3-2GPIO11input/outputTXUART0 TX – to the USB-UART converter (UART connector)
J3-3GPIO12input/outputRXUART0 RX – to the USB-UART converter (UART connector)
J3-4GPIO24input/output
J3-5GPIO23input/output
J3-6GPIO15input/outputOnly on modules without PSRAM – with PSRAM it is SPICS1 and not connected on the header
J3-7GPIO27input/outputWS2812B RGB LED – data goes through a level shifter to 5 V. Strapping pin: must be logic 1 at boot (10 kΩ pull-up on the board), otherwise the program does not start from flash; logic 0 also disables ROM output on UART0.
J3-8GPIO4input/outputADC1_CH3JTAG MTCK, fixed LP UART RX
J3-9GPIO5input/outputADC1_CH4JTAG MTDO, fixed LP UART TX
J3-10NC–
J3-11GPIO28input/outputBOOT button. Strapping pin: logic 1 at boot (internal pull-up) = run program from flash, logic 0 = download mode via USB or UART. Auto-download from the USB-UART converter toggles it automatically.
J3-12GND–
J3-13GPIO14input/outputUSB D+ (native USB, USB connector) – usable as GPIO only without USB
J3-14GPIO13input/outputUSB D− (native USB, USB connector) – usable as GPIO only without USB
J3-15GND–
J3-16NC–
J1-13V3output3.3 V output from the SY8088 DC/DC converter (1 A). Jumper J5 sits between the converter and the module – open it to measure the module's current draw with an ammeter.
J1-2RSTinputReset (CHIP_PU, RESET button) – logic 0 turns the chip off
J1-3GPIO2input/outputADC1_CH1Strapping pin (no effect on boot). JTAG MTMS, fixed LP I2C SDA
J1-4GPIO3input/outputADC1_CH2Strapping pin (SDIO slave timing) – normally no effect. JTAG MTDI, fixed LP I2C SCL
J1-5GPIO0input/outputSDA32.768 kHz crystal input (XTAL_32K_P) for accurate timekeeping in sleep; a regular GPIO without the crystal. LP GPIO0 – can wake from deep sleep. Arduino uses it as the default I2C SDA.
J1-6GPIO1input/outputSCLADC1_CH032.768 kHz crystal input (XTAL_32K_N); a regular GPIO without the crystal. LP GPIO1. Arduino uses it as the default I2C SCL.
J1-7GPIO6input/outputSSADC1_CH5
J1-8GPIO7input/outputStrapping pin (JTAG source) – has no effect unless set in eFuse
J1-9GPIO8input/outputMOSI
J1-10GPIO9input/outputMISO
J1-11GPIO10input/outputSCK
J1-12GPIO26input/outputStrapping pin: GPIO26 to GPIO28 select the boot mode. UART and SDIO download mode (Joint Download Boot 1) occurs only with logic 0 on all three, so GPIO26 normally does not affect boot.
J1-13GPIO25input/outputStrapping pin (SDIO slave timing) – normally no effect
J1-145Vinput/output5 V from both USB connectors (through Schottky diodes on the board). It can also power the board – voltage will not flow back into USB.
J1-15GND–
J1-16NC–

Pins used on the board

These chip pins are used by parts on the board and are not broken out:

PinFunction on the board
GPIO16Flash modulu (SPICS0)
GPIO17Flash modulu (SPIQ)
GPIO18Flash modulu (SPIWP)
GPIO19Flash power (VDD_SPI)
GPIO20Flash modulu (SPIHD)
GPIO21Flash modulu (SPICLK)
GPIO22Flash modulu (SPID)

What to watch out for

  • The GPIO are not 5V tolerant.
  • GPIO28 is the BOOT button and a strapping pin – logic 0 at boot starts download mode.
  • GPIO27 is the RGB LED and also a strapping pin – it must be at logic 1 at boot, otherwise the program won’t start.
  • GPIO13 and GPIO14 are taken by native USB – use them as GPIO only without the USB port.
  • GPIO11 and GPIO12 (UART0) go to the USB-UART converter.
  • GPIO15 is on the header only with the module without PSRAM; with PSRAM, the module uses it for the memory.
  • The chip has no ADC2, DAC or touch inputs.

ESP32-C5 on chiptron.eu/

Projects and guides on chiptron.eu/:

More pinouts

See all pinouts on the Pinouts page.

Related Articles