Skip to content
My Account

Guide

ESP32-C3-MINI-1 Pinout

The complete pin reference for the ESP32-C3-MINI-1 module: a single RISC-V core, Wi-Fi and Bluetooth LE, and the exact pins you can safely reuse.

  • Single-core RISC-V
  • Wi-Fi + Bluetooth LE
  • 15 GPIOs
  • 4 MB flash
ESP32-C3-MINI-1 module, front view
No ratings yet, be the first.

Overview

This guide covers the ESP32-C3-MINI-1 module: a small, shielded module with the flash memory embedded inside the chip package itself rather than on a separate external chip. It’s the module most ESP32-C3 “Super Mini”-style development boards are built around, but the pin functions below apply to the module itself, independent of any specific board.

No 802.15.4 radio on this chip, so Thread and Zigbee aren’t possible here: that needs an ESP32-C6 or H2 instead. (Only badges for protocols this exact chip actually supports are shown, no Wi-Fi 6/7 either: this is 802.11 b/g/n.)

Flash built in The MINI-1 module embeds the flash chip inside the package, so unlike the WROOM-32D, no GPIOs are reserved for an external flash bus.
Not every GPIO is equal GPIO2, GPIO8 and GPIO9 are strapping pins, check their boot-time state before using them as outputs.
Wakes from deep sleep GPIO0–GPIO5 can trigger a wake-up from deep sleep, ideal for battery projects.

Getting started

Most people using this module have it on a “Super Mini”-style development board, not the bare module by itself, and the three steps below assume that. If you’re wiring the bare module directly, see “Flashing pins” further down for how to connect a USB-to-serial adapter instead.

1. What you need A USB cable that fits your board (usually Micro-USB or USB-C) and a computer. No extra power supply needed, USB power is enough.
2. Install the software Install the free Arduino IDE, then add ESP32 support via Boards Manager (search “esp32”, by Espressif Systems).
3. Upload your first sketch Open File → Examples → Basics → Blink, pick your board and port, then click Upload. If it hangs on “Connecting…”, hold the BOOT button until it starts.

Hello World: blink an LED

The microcontroller equivalent of “Hello World”: GPIO10 toggles once a second, shown here in two different environments. Wire an LED (with a resistor) to GPIO10, a plain general-purpose pin with no other job on this module.

#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"

#define LED_PIN GPIO_NUM_10

void app_main(void)
{
    gpio_reset_pin(LED_PIN);
    gpio_set_direction(LED_PIN, GPIO_MODE_OUTPUT);

    while (1) {
        gpio_set_level(LED_PIN, 1);
        vTaskDelay(pdMS_TO_TICKS(1000));
        gpio_set_level(LED_PIN, 0);
        vTaskDelay(pdMS_TO_TICKS(1000));
    }
}

ESP-IDF: build and flash with idf.py build flash monitor. Arduino IDE: install ESP32 board support first, see “Getting started” above. Many of these boards also carry an onboard addressable RGB LED on GPIO8, that one needs a WS2812/NeoPixel library instead of a plain digitalWrite.

Specifications

Official Espressif specifications for the ESP32-C3 chip and the ESP32-C3-MINI-1 module.

Compute

ChipESP32-C3
CPUSingle-core RISC-V, up to 160 MHz
SRAM400 KB
Flash4 MB, embedded in the module package

Radio

Wi-Fi802.11 b/g/n, 2.4 GHz
Bluetooth5 LE (+ mesh)
AntennaOn-board PCB

Physical

Operating voltage3.0V – 3.6V
Dimensions13.2 × 16.6 × 2.4 mm
Dev board size25.4 × 40.1 mm
Operating temperature−40°C – +85°C
GPIOs15 programmable
ESP32-C3-MINI-1 development board dimensioned front and side view: 25.4 by 40.1 mm, 32-pin header at 2.54 mm pitch, RF shield can, PCB antenna and two USB-C connectors
The development board version of the module: 25.4 × 40.1 mm, 32-pin header at 2.54 mm pitch, two USB-C connectors.

Pinout diagram

The 30-pin layout used on most ESP32-C3 “Super Mini”-style development boards. The bare module itself exposes fewer pins, boards add extra breakout pins (like the second 5V/GND pair) beyond that.

ESP32-C3-MINI-1 pinout diagram

GPIO quick reference

This chip only has ADC1 and ADC2, no DAC or capacitive touch peripheral, unlike the classic ESP32.

GPIO Special function ADC Boot state
0 ADC1_0 ADC1 Free
1 ADC1_1 ADC1 Free
2 ADC1_2 ADC1 Strapping
3 ADC1_3, SPI CS ADC1 Free
4 ADC1_4, SPI SCK ADC1 Free
5 ADC2_0, SPI MISO ADC2 Free
6 SPI MOSI Free
7 Free
8 I2C SDA, onboard RGB LED on most boards Strapping
9 I2C SCL Strapping
10 Free
18 USB D− Free
19 USB D+ Free
20 UART0 RX (default) Free
21 UART0 TX (default) Free
Strapping pins GPIO2, GPIO8, GPIO9
Default I2C SDA: GPIO8, SCL: GPIO9
Default SPI MOSI: GPIO6, MISO: GPIO5, SCK: GPIO4, CS: GPIO3
Default UART TX: GPIO21, RX: GPIO20
USB Serial/JTAG D−: GPIO18, D+: GPIO19
RTC / wake-capable GPIO0–GPIO5

Flashing pins (UART0)

Used by a USB-to-serial adapter (or the onboard one) to upload firmware.

Function Pin Description
TXD0 GPIO21 ESP32-C3 → PC (output)
RXD0 GPIO20 PC → ESP32-C3 (input)
EN EN pin Resets the chip
BOOT GPIO9 Hold low at reset to enter UART download mode

Safety notes

Before you wire anything up

  • GPIO2, GPIO8 and GPIO9 are strapping pins, check their boot-time state before using them as outputs.
  • GPIO18 and GPIO19 are the USB Serial/JTAG D−/D+ pins, avoid reassigning them if you rely on the built-in USB console for flashing or logging.
  • The flash memory is embedded inside the module package, unlike the WROOM-32D none of the exposed GPIOs are reserved for it.
  • Stay within the datasheet’s absolute maximum current rating per GPIO, don’t assume it matches the classic ESP32’s figure, this is a different chip.
Advertisement

More guides

Keep building.

From ESP32 HomeKit accessories to Arduino and ATtiny reference guides, there’s more where this came from.

All guides