Integrated 3.3V Quad SPI XIP flash memory inside the RF shield can; flash bus pins are not routed to module perimeter pads.
Built around Espressif's 160 MHz 32-bit RISC-V ESP32-C3 SoC, 40 MHz crystal, and 4 MB of onboard Quad SPI flash, the ESP32-C3-WROOM-02 uses a clean 2-sided 1.5 mm-pitch castellated footprint in 18.0×20.0 mm PCB-antenna and 18.0×14.3 mm U.FL (WROOM-02U) sizes. Fifteen exposed 3.3 V GPIOs (IO0–IO10, IO18–IO21) support full GPIO Matrix routing for 2× UART, SPI2, I2C0, I2S0, TWAI (CAN), 6× LEDC PWM, and native USB Serial/JTAG on IO18/IO19. Five 12-bit SAR ADC1 channels cover IO0–IO4 across a 3.0 V–3.6 V supply (>=500 mA recommended; IO5 ADC2 is affected by silicon errata [ADC-183]). All pads are strictly non-5V-tolerant, and IO8/IO2 must stay HIGH when pulling IO9 LOW for Download Boot.
Onboard Peripherals & Internal Signals
Drives Wi-Fi 4 and Bluetooth 5 LE transceivers.
Pin Assignment Planner
Add the peripherals you need and plan the pin assignments
Full Pin Reference (19 Pins)
| Pin # | Label | Type | Functions | Warnings & Notes |
|---|---|---|---|---|
| 1 | 3V3 | power | 3V3 |
[CAUTION] 3.0V–3.6V supply only (provide >=500 mA regulator & local 10 µF + 0.1 µF decoupling)
Wi-Fi TX bursts require clean 3.3V delivery capable of at least 500 mA. Exceeding 3.6V permanently damages the ESP32-C3 and onboard flash.
Main 3.3V module power supply input (3.0V–3.6V; >=500 mA output capability recommended)
|
| 2 | EN CHIP_PU | reset | CHIP_EN |
[CAUTION] Active-HIGH chip enable/reset — never leave floating
High enables chip; Low powers off chip. Add an external RC delay circuit (10 kΩ pull-up to 3.3V and 1 µF capacitor to GND) to meet power-on reset timing.
High-enable / active-low chip reset input (CHIP_EN / EN)
|
| 3 | IO4 GPIO4 | mixed | GPIO4 ADC1_CH4 FSPIHD MTMS LEDC_CH4 |
[INFO] Dedicated JTAG MTMS pin if external JTAG probe is enabled
Free for ADC1_CH4, SPI2, or general GPIO when debugging over native USB Serial/JTAG (GPIO18/GPIO19).
RTC/Digital GPIO4, 12-bit ADC1_CH4, FSPIHD, and JTAG MTMS (3.3V max, NOT 5V tolerant)
|
| 4 | IO5 GPIO5 | mixed | GPIO5 ADC2_CH0 FSPIWP MTDI LEDC_CH5 |
[CAUTION] ADC2_CH0 affected by silicon errata [ADC-183] & Wi-Fi arbitration — prefer GPIO0–GPIO4 for analog
Hardware errata [ADC-183] disables continuous/DMA ADC2 operation on ESP32-C3, and ADC2 is shared with the Wi-Fi radio. Safe as a standard digital GPIO; use GPIO0–GPIO4 (ADC1) for reliable analog reads.
RTC/Digital GPIO5, ADC2_CH0 (see errata), FSPIWP, and JTAG MTDI
|
| 5 | IO6 GPIO6 | digital | GPIO6 FSPICLK MTCK LEDC_CH0 |
[INFO] Dedicated JTAG MTCK pin if external JTAG probe is enabled
Completely free for high-speed IO_MUX SPI2 SCK, I2C, or GPIO when using native USB Serial/JTAG.
Digital GPIO6, direct IO_MUX SPI2 SCK (FSPICLK), and JTAG MTCK (3.3V max, NOT 5V tolerant)
|
| 6 | IO7 GPIO7 | digital | GPIO7 FSPID MTDO LEDC_CH1 |
[INFO] Dedicated JTAG MTDO pin if external JTAG probe is enabled
Completely free for high-speed IO_MUX SPI2 MOSI, I2C, or GPIO when using native USB Serial/JTAG.
Digital GPIO7, direct IO_MUX SPI2 MOSI (FSPID), and JTAG MTDO (3.3V max, NOT 5V tolerant)
|
| 7 | IO8 GPIO8 | digital | GPIO8 LEDC_CH2 |
[CAUTION] Boot mode & ROM log strapping pin (floating at reset — MUST be HIGH for Download Boot)
Sampled at reset with no internal pull-up. Entering Joint Download Boot (GPIO9=LOW) strictly requires GPIO8=HIGH (GPIO8=0 & GPIO9=0 is an invalid boot state!). Add an external 10 kΩ pull-up if external circuitry could pull GPIO8 low at reset.
Digital GPIO8 (Download Boot gate & ROM UART0 print strapping pin)
|
| 8 | IO9 GPIO9 | digital | GPIO9 LEDC_CH3 |
[CAUTION] Boot mode strapping pin (weak internal pull-up: HIGH=SPI Boot, LOW=Download Boot)
Sampled at reset with internal ~45 kΩ pull-up enabled. Pulling GPIO9 LOW during reset while GPIO8=HIGH enters Joint Download Boot (USB Serial/JTAG + UART0). Avoid external loads that pull GPIO9 low at power-on.
Digital GPIO9 (BOOT button strapping pin with internal weak pull-up)
|
| 9 | GND | ground | GND |
Module system ground (0V)
|
| 10 | IO10 GPIO10 | digital | GPIO10 FSPICS0 LEDC_CH4 |
Digital GPIO10 and direct IO_MUX SPI2 CS0 (FSPICS0) (3.3V max, NOT 5V tolerant)
|
| 11 | RXD GPIO20 | digital | GPIO20 U0RXD LEDC_CH0 |
[INFO] Default ROM bootloader UART0 RX input (internal pull-up active during boot)
Used by the ROM serial bootloader alongside USB Serial/JTAG in Download Boot mode. Freely usable for UART0 RX or general GPIO after boot.
Digital GPIO20 and default UART0 RX (U0RXD) (3.3V max, NOT 5V tolerant)
|
| 12 | TXD GPIO21 | digital | GPIO21 U0TXD LEDC_CH1 |
[INFO] Default ROM bootloader UART0 TX output (emits 115200 baud boot log at reset)
Outputs ROM boot diagnostic messages on reset unless suppressed by GPIO8 / EFUSE_UART_PRINT_CONTROL. Freely usable for UART0 TX or general GPIO after boot.
Digital GPIO21 and default UART0 TX (U0TXD) (3.3V max, NOT 5V tolerant)
|
| 13 | IO18 GPIO18 | special | GPIO18 USB_D- U0RTS LEDC_CH4 |
[CAUTION] Native Full-Speed USB Serial/JTAG D− differential line
Enabled by default as USB D− for flashing, CDC console, and JTAG debugging. Reconfiguring GPIO18 as digital I/O disconnects native USB until reset.
Native USB 2.0 Full-Speed Serial/JTAG D− pad / Digital GPIO18
|
| 14 | IO19 GPIO19 | special | GPIO19 USB_D+ U0CTS LEDC_CH5 |
[CAUTION] Native Full-Speed USB Serial/JTAG D+ line (internal 1.5 kΩ USB pull-up active at reset)
Enabled by default with an internal USB D+ pull-up to 3.3V at reset. Reconfiguring GPIO19 as digital I/O disconnects native USB Serial/JTAG.
Native USB 2.0 Full-Speed Serial/JTAG D+ pad / Digital GPIO19
|
| 15 | IO3 GPIO3 | mixed | GPIO3 ADC1_CH3 LEDC_CH3 |
RTC/Digital GPIO3 and 12-bit ADC1_CH3 (3.3V max, NOT 5V tolerant)
|
| 16 | IO2 GPIO2 | mixed | GPIO2 ADC1_CH2 FSPIQ LEDC_CH2 |
[CAUTION] Boot strapping pin (must be HIGH during Download Boot)
Sampled at reset with no internal pull-up enabled. Keep GPIO2 HIGH (or add a 10 kΩ pull-up) when entering Joint Download Boot via GPIO9=LOW to prevent unintended glitch modes.
RTC/Digital GPIO2, 12-bit ADC1_CH2, direct IO_MUX SPI2 MISO (FSPIQ), and boot strapping pin
|
| 17 | IO1 GPIO1 | mixed | GPIO1 ADC1_CH1 XTAL_32K_N LEDC_CH1 |
RTC/Digital GPIO1, 12-bit ADC1_CH1, and 32.768 kHz crystal N (3.3V max, NOT 5V tolerant)
|
| 18 | IO0 GPIO0 | mixed | GPIO0 ADC1_CH0 XTAL_32K_P LEDC_CH0 |
RTC/Digital GPIO0, 12-bit ADC1_CH0, and 32.768 kHz crystal P (3.3V max, NOT 5V tolerant)
|
| 19 | EPAD | ground | GND |
Underside 3×3 exposed thermal & RF ground pad (connect to host ground plane via thermal vias)
|