XIAO Pinout

Explore both sides of your XIAO board with an interactive pinout viewer. Search for pins, check their functions, and find wiring notes and alternate functions.

Logic level
3.3V
5V tolerance
Not tolerant
3V3 budget
≤ 200 mA
VBUS
5V pin is USB VBUS in/out. Keep peripheral load under 500 mA.
Battery
No charger onboard; VIN pad on the back accepts 3.3–5V
#SilkArduinoChipADCI²CSPIUARTPWMOtherNote
1LLED_BUILTINPA17SCL1 SERCOM1 PAD1TCCLED on SAMD21User LED on SAMD21; SCL1 on SAMD21 Plus back header (D13).
2PPVBUS
3RSTRSTRESETNRESETActive-low reset. The board already pulls it up. Pulse it to ground to reboot.
4D0A0PA02AIN0 / A0TCCDAC0Only PA02 (D0 / A0) has a true DAC. Other analog pins are ADC-only.
5D1A1PA04AIN4 / A1TCCADC A1 (AIN4).
6D2A2PA10AIN10 / A2TCCInput voltage must not exceed 3.3V.
7D3A3PA11AIN11 / A3TCCInput voltage must not exceed 3.3V.
8D4SDAPA08AIN16 / A4SDA SERCOM0/2 PAD0TCCSAMD21 routes I2C / SPI / UART through SERCOM pads. The Arduino core already assigns the XIAO defaults; changing them means picking the matching PAD.
9D5SCLPA09AIN17 / A5SCL SERCOM0/2 PAD1TCCSAMD21 routes I2C / SPI / UART through SERCOM pads. The Arduino core already assigns the XIAO defaults; changing them means picking the matching PAD.
10D6TXPB08AIN2 / A6TX SERCOM4 PAD0TCCSAMD21 routes I2C / SPI / UART through SERCOM pads. The Arduino core already assigns the XIAO defaults; changing them means picking the matching PAD.
1TPIN_LED_TXLPA19
2RPIN_LED_RXLPA18
35V5VVBUSThis pad is USB VBUS. It sits near 5 V when USB is plugged in. Do not feed it back into a 3.3 V pin.
4GNDGND—Common ground. Connect every module ground here so signals have a return path.
53V33V33V3_OUTRegulated 3.3 V output. Current is limited; use a separate supply for hungry loads.
6D10MOSIPA06AIN6 / A10MOSI SERCOM0 PAD2TCCSAMD21 routes I2C / SPI / UART through SERCOM pads. The Arduino core already assigns the XIAO defaults; changing them means picking the matching PAD.
7D9MISOPA05AIN5 / A9MISO SERCOM0 PAD1TCCSAMD21 routes I2C / SPI / UART through SERCOM pads. The Arduino core already assigns the XIAO defaults; changing them means picking the matching PAD.
8D8SCKPA07AIN7 / A8SCK SERCOM0 PAD3TCCSAMD21 routes I2C / SPI / UART through SERCOM pads. The Arduino core already assigns the XIAO defaults; changing them means picking the matching PAD.
9D7RXPB09AIN3 / A7RX SERCOM4 PAD1TCCSAMD21 routes I2C / SPI / UART through SERCOM pads. The Arduino core already assigns the XIAO defaults; changing them means picking the matching PAD.
1SWCLKSWCLKPA30SWCLKSWD clock on PA30. Use with SWDIO to load firmware via a debug probe.
2GNDGND—Ground next to the SWD pads. Tie the debugger ground here.
3GNDGND—Ground next to VIN.
1SWDIOSWDIOPA31SWDIOSWD data on PA31.
3VINVINVBUSVIN / VBUS follows USB 5 V. The SAMD21 I/O is 3.3 V only.