Pinout
Tap any pin, or any part on the board, to see what it does. Use the filters to find pins with a particular capability, and the flip button to see the underside.
Top side
On the board
Pin positions follow the rev 2 design files. The tables below read top to bottom with USB-C at the bottom of the board.
Left Header
| Pin | Function | Notes |
|---|---|---|
| 3V3 | 3.3 V out | Regulated 3.3 V from the onboard 600 mA regulator. Shared with the ESP32-S3, the sensors and the matrix. Don't feed voltage in. |
| GND | Ground | |
| RST | Reset | Also called EN or CHIP_PU. Pull to GND to reset; release to restart. 10 kΩ pull-up and 1 µF cap onboard. Only ever pull low. |
| 43 | UART0 TX | The ESP32-S3 prints its boot log here at every reset |
| 5 | GPIO | ADC1_CH4 · Touch5 · wake |
| 6 | GPIO | ADC1_CH5 · Touch6 · wake |
| 7 | GPIO | ADC1_CH6 · Touch7 · wake |
| 15 | GPIO | ADC2_CH4 · wake |
| 16 | GPIO | ADC2_CH5 · wake |
| 17 | UART1 TX | Serial1 transmit · ADC2_CH6 · wake |
| 18 | UART1 RX | Serial1 receive · ADC2_CH7 · wake |
| 8 | GPIO | ADC1_CH7 · Touch8 · wake |
| 46 | GPIO | Strapping pin, sampled at reset. Keep unconnected or low during boot |
| 9 | GPIO | ADC1_CH8 · Touch9 · wake |
| 10 | GPIO | ADC1_CH9 · Touch10 · wake |
| 11 | GPIO | ADC2_CH0 · Touch11 · wake |
| 12 | GPIO | ADC2_CH1 · Touch12 · wake |
| SCL | I2C clock (GPIO13) | Onboard I2C bus, 4.7 kΩ pull-up · ADC2_CH2 · Touch13 · wake |
| SDA | I2C data (GPIO14) | Onboard I2C bus, 4.7 kΩ pull-up · ADC2_CH3 · Touch14 · wake |
| 5V | USB 5 V | Output while USB is plugged in, or an input that powers and charges the board |
Right Header
| Pin | Function | Notes |
|---|---|---|
| 3V3 | 3.3 V out | Same supply as the left-side 3V3 pin. Don't feed voltage in. |
| 5V | USB 5 V | Same as the left-side 5V pin |
| 1 | GPIO | ADC1_CH0 · Touch1 · wake |
| 2 | GPIO | ADC1_CH1 · Touch2 · wake |
| 42 | JTAG MTMS | Free by default — the ESP32-S3 debugs over USB |
| 41 | JTAG MTDI | Free by default |
| 40 | JTAG MTDO | Free by default |
| 39 | JTAG MTCK | Free by default |
| 38 | GPIO | |
| 37 | GPIO | Free to use on this module (N8R2) |
| 36 | GPIO | Free to use on this module (N8R2) |
| 35 | GPIO | Free to use on this module (N8R2) |
| 0 | BOOT | Connected to the BOOT button, 10 kΩ pull-up. Strapping pin · wake |
| INT | IMU interrupt (GPIO21) | ICM-42670 INT1, 10 kΩ pull-up, active low · wake |
| GND | Ground | |
| 44 | UART0 RX | |
| 45 | GPIO | Strapping pin — sets flash voltage at reset. Keep unconnected or low during boot |
| PIX OUT | Pixel data out | Data output of the last pixel in the matrix. Chain more LEDs from pixel 26 |
| BAT+ | LiPo positive | 3.0–4.2 V. Never connect to a GPIO |
| GND | Ground |
Rules Worth Knowing
Analog with Wi-Fi on
Use GPIO1, 2, or 5–10. These are on ADC1. The ADC2 pins (11–18) stop reading while Wi-Fi is active.
Waking from deep sleep
GPIO0–21 can wake the board and hold their state while it sleeps. Pins above 21 cannot.
Strapping pins
GPIO0, 45 and 46 are sampled at reset. Keep them unconnected or undriven while the board resets, or it may not boot normally. GPIO45 in particular sets the flash voltage — getting it wrong can stop the board booting at all.
Touch
GPIO1–14 support capacitive touch.
BAT+ reaches 4.2 V. It is higher than the ESP32-S3 can tolerate — never connect it to a GPIO. It's for powering servos or motor drivers directly from the LiPo.
Don't connect a 5 V supply to the 5V pin while USB is also plugged in. Use one source or the other.
Adding Your Own I2C Devices
Wire them to SCL/SDA on the header or to the Qwiic port — they are the same bus, already pulled up with 4.7 kΩ resistors.
Avoid these addresses, which the onboard sensors use:
| Address | Device |
|---|---|
0x68 | ICM-42670 IMU |
0x76 / 0x77 | SPL07-003 barometer |
0x7C | QMC6309 compass |
Extending The LED Chain
PIX OUT carries the data signal leaving pixel 25, so external WS2812-style LEDs continue the chain from pixel 26.
External pixels need their own power supply. The onboard LED power switch (GPIO47) only feeds the 5×5 matrix.
