Aziz Bench

XIAO ESP32S3 pinout

The XIAO ESP32S3 maps its pads D0 to D10 to ESP32-S3 GPIOs that are almost all free of boot roles. Tap a pad to see its GPIO, ADC and touch channel, or list the pins of your project to check them.

XIAO ESP32S3 · 14 pads
  • 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.

    D-names and GPIO numbers

    D0 to D5 are GPIO 1 to 6, D6 and D7 are GPIO 43 and 44 (UART), and D8 to D10 are GPIO 7 to 9 (default SPI). Nine of the eleven pads have both an ADC1 channel and a touch channel, so analog readings work with Wi-Fi on. GPIO3 (D2) is a strapping pin, but it matters only when an eFuse selects the JTAG source.

    LED, BOOT button and the Sense board

    The user LED is on GPIO21 and the BOOT button on GPIO0, which is not on the pads. On the XIAO ESP32S3 Sense the camera board adds a microSD slot whose CS is also GPIO21, a microphone on GPIO 41 and 42, and two extra pads, D11 and D12, that Seeed says you can free only by cutting a trace. The camera uses its own GPIOs, not the D pads.

    Power

    The board runs from USB-C, and Seeed rates its 3V3 pad at up to 700 mA. The pins work at 3.3 V and are not rated for 5 V.

    Full XIAO ESP32S3 pin table

    PinGPIOStatusAnalogFunctionsNotes
    D0GPIO1Free to useADC1_CH0TOUCH1, RTC_GPIO1, PWM (LEDC)No restrictions
    D1GPIO2Free to useADC1_CH1TOUCH2, RTC_GPIO2, PWM (LEDC)No restrictions
    D2GPIO3Free to useADC1_CH2TOUCH3, RTC_GPIO3, PWM (LEDC)strapping (JTAG source)
    D3GPIO4Free to useADC1_CH3TOUCH4, RTC_GPIO4, PWM (LEDC)No restrictions
    D4GPIO5Free to useADC1_CH4TOUCH5, RTC_GPIO5, PWM (LEDC)I²C SDA
    D5GPIO6Free to useADC1_CH5TOUCH6, RTC_GPIO6, PWM (LEDC)I²C SCL
    D8GPIO7Free to useADC1_CH6TOUCH7, RTC_GPIO7, PWM (LEDC)SPI SCK
    D9GPIO8Free to useADC1_CH7TOUCH8, RTC_GPIO8, PWM (LEDC)SPI MISO (RX)
    D10GPIO9Free to useADC1_CH8TOUCH9, RTC_GPIO9, PWM (LEDC)SPI MOSI (TX)
    D6GPIO43Use with careNoPWM (LEDC), U0TXDUART0, UART TX
    D7GPIO44Use with careNoPWM (LEDC), U0RXDUART0, UART RX

    Arduino-ESP32 defaults for the XIAO ESP32S3: I²C on D4 (SDA) and D5 (SCL), SPI on D8 (SCK), D9 (MISO) and D10 (MOSI), UART on D6 (TX) and D7 (RX). The GPIO matrix can move them to other pads.

    Frequently asked questions

    Which GPIO is the LED on the XIAO ESP32S3?

    GPIO21, defined as LED_BUILTIN in Arduino-ESP32. On the Sense, GPIO21 is also the chip select of the microSD card, so you can’t use the LED and the card independently.

    Which XIAO ESP32S3 pins are analog?

    D0 to D5 and D8 to D10 (GPIO 1 to 9) are on ADC1, so they also work with Wi-Fi on. D6 and D7 (GPIO 43 and 44) have no ADC.

    Does the XIAO ESP32S3 have touch pins?

    Yes: the same nine pads, GPIO 1 to 9, are capacitive touch inputs TOUCH1 to TOUCH9.

    How do I use D11 and D12 on the XIAO ESP32S3 Sense?

    They are GPIO42 and GPIO41, used by the microphone by default. Seeed says to cut the trace between J1 and J2 to free them, and to use the GPIO numbers in code because the D11 and D12 constants aren’t defined.

    Are the XIAO ESP32S3 pins 5 V tolerant?

    No. The ESP32-S3 GPIOs work at 3.3 V; use a level shifter for 5 V signals.