Aziz Bench

ESP32-C3 SuperMini pinout

The SuperMini brings out 13 GPIOs of the ESP32-C3 on a thumb-sized board. Tap a pin to see what it can do, or list the pins of your project: the planner flags strapping pins, the LED pin and ADC2.

ESP32-C3 SuperMini · 16 pins
  • Free to use
  • Use with care
  • Power and control
Add pin

My pin plan

    No pins yet. Pick a pin on the map, or add one with the form.

    Ready to paste at the top of a sketch or in an issue.

    Which pins are free

    GPIO 0, 1, 3, 4, 5, 6, 7 and 10 have no boot role. GPIO 4 to 7 are also the JTAG pins, which you need only with an external debugger, because the board programs and debugs over the chip’s own USB. GPIO 18 and 19 carry that USB link and are not on the header.

    GPIO 2, 8 and 9: strapping pins

    The ESP32-C3 reads these three pins at reset. GPIO9 has a pull-up and goes to the BOOT button: held LOW at reset, it starts download mode. GPIO8 must be HIGH for download mode and drives the blue LED on most boards. Espressif recommends keeping GPIO2 HIGH at reset. All three work as normal pins once the program runs; just don’t connect anything that forces them LOW at power-up.

    GPIODefault at resetWhat it selectsIn practice
    2FloatingNot part of the boot choice, but Espressif recommends a pull-upKeep it HIGH at reset
    8FloatingMust be HIGH to enter download modeDon’t hold it LOW at power-up
    9Weak pull-up (HIGH)Boot mode: HIGH runs the program, LOW enters download modeBOOT button; nothing else may hold it LOW

    GPIO 20 and 21: UART0

    They are the chip’s UART0, RX and TX. Uploads go through the native USB port, and whether Serial uses USB or these pins depends on the “USB CDC On Boot” option of Arduino-ESP32. The ROM boot messages come out on GPIO21 at reset.

    Analog inputs and deep sleep

    ADC1 is on GPIO 0 to 4. GPIO5 is on ADC2, which ESP-IDF and Arduino-ESP32 don’t support on the ESP32-C3, so plan analog readings on GPIO 0 to 4: they also work with Wi-Fi on. Only GPIO 0 to 5 can wake the chip from deep sleep.

    Power and clones

    The board takes 5 V from USB-C or from the 5V pin and has a small 3.3 V regulator. There is no circuit that keeps the two 5 V sources apart, so don’t connect both at once. The regulator and its current differ between makers, with figures from 250 to 500 mA in sellers’ documents, so give heavy loads their own supply. Many boards also have a weak ceramic antenna: if Wi-Fi range is poor, the antenna is usually the cause, not the chip.

    The drawing follows each row from the USB end. The labels are printed on the back, so which row looks left or right depends on the side you are looking at: check the labels on your board.

    Full ESP32-C3 SuperMini pin table

    PinGPIOStatusAnalogFunctionsNotes
    L8GPIO0Free to useADC1_CH0RTC_GPIO0, PWM (LEDC), XTAL_32K_P32 kHz crystal
    L7GPIO1Free to useADC1_CH1RTC_GPIO1, PWM (LEDC), XTAL_32K_N32 kHz crystal
    L6GPIO2Use with careADC1_CH2RTC_GPIO2, PWM (LEDC)strapping
    L5GPIO3Free to useADC1_CH3RTC_GPIO3, PWM (LEDC)No restrictions
    L4GPIO4Free to useADC1_CH4RTC_GPIO4, PWM (LEDC), MTMS (JTAG)JTAG, SPI SCK
    R1GPIO5Free to useADC2_CH0RTC_GPIO5, PWM (LEDC), MTDI (JTAG)ADC2 not supported, JTAG, SPI MISO (RX)
    R2GPIO6Free to useNoPWM (LEDC), MTCK (JTAG)JTAG, SPI MOSI (TX)
    R3GPIO7Free to useNoPWM (LEDC), MTDO (JTAG)JTAG, SPI CS
    R4GPIO8Use with careNoPWM (LEDC)strapping, LED, I²C SDA
    R5GPIO9Use with careNoPWM (LEDC)strapping, BOOT button, I²C SCL
    R6GPIO10Free to useNoPWM (LEDC)No restrictions
    R7GPIO20Use with careNoPWM (LEDC), U0RXDUART0, UART RX
    R8GPIO21Use with careNoPWM (LEDC), U0TXDUART0, UART TX

    Default pins of the SuperMini in Arduino-ESP32: I²C on 8 (SDA) and 9 (SCL), SPI on 4 (SCK), 5 (MISO), 6 (MOSI) and 7 (SS), UART on 20 (RX) and 21 (TX). Through the GPIO matrix you can move them to any pin.

    Frequently asked questions

    Which GPIO is the LED on the ESP32-C3 SuperMini?

    GPIO8 on most boards. It lights when the pin is LOW, so digitalWrite(8, LOW) switches it on. GPIO8 is also a strapping pin, which is fine for an LED. Clones differ, so check yours with a blink sketch.

    How do I put the ESP32-C3 SuperMini in download mode?

    Hold BOOT (GPIO9), press and release RESET, then release BOOT. If uploads fail because your sketch crashed or reconfigured USB, this brings the chip back to its bootloader.

    Which ESP32-C3 SuperMini pins are analog?

    GPIO 0 to 4, on ADC1. GPIO5 is on ADC2, which isn’t supported on the ESP32-C3, so it can’t be used for analog readings.

    What are the I2C and SPI pins of the ESP32-C3 SuperMini?

    In Arduino-ESP32 the SuperMini board uses GPIO8 for SDA and GPIO9 for SCL, and GPIO 4, 5, 6 and 7 for SCK, MISO, MOSI and SS. GPIO 8 and 9 are strapping pins, but the I²C pull-ups keep them HIGH, which is what a normal boot needs.

    Are the ESP32-C3 SuperMini pins 5 V tolerant?

    No. The ESP32-C3 GPIOs work at 3.3 V and are not rated for 5 V. Use a level shifter or a resistor divider for 5 V signals.