Espressif's ESP32-S3 pairs dual 240 MHz Xtensa LX7 cores (with SIMD vector instructions for edge AI/DSP) and a ULP RISC-V/FSM coprocessor with 512 KB SRAM, 384 KB ROM, Wi-Fi 4, and Bluetooth 5.0 LE in a 7×7 mm QFN-56 package. All 45 GPIOs (GPIO0–21, GPIO26–48; GPIO22–25 do not exist) are bidirectional—including GPIO46—and support 3× UART, SPI2/SPI3, 2× I2C, 2× I2S, LCD/Camera parallel interfaces, TWAI, LEDC, 2× MCPWM, 20× 12-bit SAR ADC inputs, 14× touch channels, and dual-mode USB OTG + USB Serial/JTAG on GPIO19/20.
Pin Assignment Planner
Add the peripherals you need and plan the pin assignments
Full Pin Reference (57 Pins)
| Pin # | Label | Type | Functions | Warnings & Notes |
|---|---|---|---|---|
| 1 | LNA_IN | special | LNA_IN |
[INFO] 2.4 GHz Wi-Fi 4 & BLE 5.0 RF antenna input/output
50Ω RF port requiring external impedance matching.
2.4 GHz RF antenna input/output
|
| 2 | VDD3P3 | power | VDD3P3 |
Analog PA power supply (3.0V–3.6V)
|
| 3 | VDD3P3 | power | VDD3P3 |
Analog PA power supply (3.0V–3.6V)
|
| 4 | CHIP_PU | reset | CHIP_PU |
[CAUTION] Active-HIGH chip enable / reset — never leave floating
Add an external 10 kΩ pull-up to 3.3V and 1 µF delay capacitor to GND.
Active-HIGH chip enable / reset input (EN / CHIP_PU)
|
| 5 | GPIO0 | digital | GPIO0 |
[CAUTION] Boot mode strapping pin (weak pull-up: HIGH=SPI Boot, LOW=Download Boot)
Pulling GPIO0 LOW with GPIO46 LOW at reset enters Joint Download Boot (USB Serial/JTAG + USB OTG DFU + UART0).
General-purpose 3.3V GPIO0 (NOT 5V tolerant)
|
| 6 | GPIO1 | mixed | GPIO1 ADC1_CH0 TOUCH1 |
General-purpose 3.3V GPIO1 (NOT 5V tolerant)
|
| 7 | GPIO2 | mixed | GPIO2 ADC1_CH1 TOUCH2 |
General-purpose 3.3V GPIO2 (NOT 5V tolerant)
|
| 8 | GPIO3 | mixed | GPIO3 ADC1_CH2 TOUCH3 |
[INFO] JTAG signal source strapping pin (floating at reset unless eFuse-configured)
Sampled at reset to select USB Serial/JTAG vs pad JTAG (GPIO39–42) when eFuse JTAG_SEL_ENABLE is set.
General-purpose 3.3V GPIO3 (NOT 5V tolerant)
|
| 9 | GPIO4 | mixed | GPIO4 ADC1_CH3 TOUCH4 |
General-purpose 3.3V GPIO4 (NOT 5V tolerant)
|
| 10 | GPIO5 | mixed | GPIO5 ADC1_CH4 TOUCH5 |
General-purpose 3.3V GPIO5 (NOT 5V tolerant)
|
| 11 | GPIO6 | mixed | GPIO6 ADC1_CH5 TOUCH6 |
General-purpose 3.3V GPIO6 (NOT 5V tolerant)
|
| 12 | GPIO7 | mixed | GPIO7 ADC1_CH6 TOUCH7 |
General-purpose 3.3V GPIO7 (NOT 5V tolerant)
|
| 13 | GPIO8 | mixed | GPIO8 ADC1_CH7 TOUCH8 |
General-purpose 3.3V GPIO8 (NOT 5V tolerant)
|
| 14 | GPIO9 | mixed | GPIO9 ADC1_CH8 TOUCH9 |
General-purpose 3.3V GPIO9 (NOT 5V tolerant)
|
| 15 | GPIO10 | mixed | GPIO10 ADC1_CH9 TOUCH10 FSPICS0 |
General-purpose 3.3V GPIO10 (NOT 5V tolerant)
|
| 16 | GPIO11 | mixed | GPIO11 ADC2_CH0 TOUCH11 FSPID |
[CAUTION] ADC2 channel unavailable while Wi-Fi / BLE radio uses SAR ADC2 arbiter
Prefer ADC1 (GPIO1–GPIO10) for reliable analog measurements during wireless operation.
General-purpose 3.3V GPIO11 (NOT 5V tolerant)
|
| 17 | GPIO12 | mixed | GPIO12 ADC2_CH1 TOUCH12 FSPICLK |
[CAUTION] ADC2 channel unavailable while Wi-Fi / BLE radio uses SAR ADC2 arbiter
Prefer ADC1 (GPIO1–GPIO10) for reliable analog measurements during wireless operation.
General-purpose 3.3V GPIO12 (NOT 5V tolerant)
|
| 18 | GPIO13 | mixed | GPIO13 ADC2_CH2 TOUCH13 FSPIQ |
[CAUTION] ADC2 channel unavailable while Wi-Fi / BLE radio uses SAR ADC2 arbiter
Prefer ADC1 (GPIO1–GPIO10) for reliable analog measurements during wireless operation.
General-purpose 3.3V GPIO13 (NOT 5V tolerant)
|
| 19 | GPIO14 | mixed | GPIO14 ADC2_CH3 TOUCH14 |
[CAUTION] ADC2 channel unavailable while Wi-Fi / BLE radio uses SAR ADC2 arbiter
Prefer ADC1 (GPIO1–GPIO10) for reliable analog measurements during wireless operation.
General-purpose 3.3V GPIO14 (NOT 5V tolerant)
|
| 20 | VDD3P3_RTC | power | VDD3P3_RTC |
RTC and low-power I/O domain power supply (3.0V–3.6V)
|
| 21 | GPIO15 | mixed | GPIO15 ADC2_CH4 XTAL_32K_P |
[CAUTION] ADC2 channel unavailable while Wi-Fi / BLE radio uses SAR ADC2 arbiter
Prefer ADC1 (GPIO1–GPIO10) for reliable analog measurements during wireless operation.
General-purpose 3.3V GPIO15 (NOT 5V tolerant)
|
| 22 | GPIO16 | mixed | GPIO16 ADC2_CH5 XTAL_32K_N |
[CAUTION] ADC2 channel unavailable while Wi-Fi / BLE radio uses SAR ADC2 arbiter
Prefer ADC1 (GPIO1–GPIO10) for reliable analog measurements during wireless operation.
General-purpose 3.3V GPIO16 (NOT 5V tolerant)
|
| 23 | GPIO17 | mixed | GPIO17 ADC2_CH6 U1TXD |
[CAUTION] ADC2 channel unavailable while Wi-Fi / BLE radio uses SAR ADC2 arbiter
Prefer ADC1 (GPIO1–GPIO10) for reliable analog measurements during wireless operation.
General-purpose 3.3V GPIO17 (NOT 5V tolerant)
|
| 24 | GPIO18 | mixed | GPIO18 ADC2_CH7 U1RXD |
[CAUTION] ADC2 channel unavailable while Wi-Fi / BLE radio uses SAR ADC2 arbiter
Prefer ADC1 (GPIO1–GPIO10) for reliable analog measurements during wireless operation.
General-purpose 3.3V GPIO18 (NOT 5V tolerant)
|
| 25 | GPIO19 | mixed | GPIO19 ADC2_CH8 USB_D- |
[CAUTION] ADC2 channel unavailable while Wi-Fi / BLE radio uses SAR ADC2 arbiter
Prefer ADC1 (GPIO1–GPIO10) for reliable analog measurements during wireless operation.
[INFO] Native Full-Speed USB OTG & USB Serial/JTAG differential pair (D- / D+)
Reconfiguring GPIO19/GPIO20 as GPIO disconnects native USB CDC/JTAG/DFU.
General-purpose 3.3V GPIO19 (NOT 5V tolerant)
|
| 26 | GPIO20 | mixed | GPIO20 ADC2_CH9 USB_D+ |
[CAUTION] ADC2 channel unavailable while Wi-Fi / BLE radio uses SAR ADC2 arbiter
Prefer ADC1 (GPIO1–GPIO10) for reliable analog measurements during wireless operation.
[INFO] Native Full-Speed USB OTG & USB Serial/JTAG differential pair (D- / D+)
Reconfiguring GPIO19/GPIO20 as GPIO disconnects native USB CDC/JTAG/DFU.
General-purpose 3.3V GPIO20 (NOT 5V tolerant)
|
| 27 | GPIO21 | digital | GPIO21 |
General-purpose 3.3V GPIO21 (NOT 5V tolerant)
|
| 28 | SPICS1 GPIO26 | digital | GPIO26 SPICS1 |
[CAUTION] SPICS1 — occupied by PSRAM CE# on all PSRAM-equipped S3 variants (-R2 / -R8)
Available as GPIO26 only on flash-only (-N4/-N8/-N16) configurations without PSRAM.
General-purpose 3.3V GPIO26 (NOT 5V tolerant)
|
| 29 | VDD_SPI | power | VDD_SPI |
[CAUTION] MSPI flash/PSRAM power output (3.3V or 1.8V selected by GPIO45 strap)
Outputs 3.3V when GPIO45=LOW at reset, or 1.8V internal LDO when GPIO45=HIGH (used by 1.8V Octal PSRAM/Flash).
Configurable 1.8V / 3.3V MSPI flash & PSRAM power rail
|
| 30 | SPIHD GPIO27 | digital | GPIO27 SPIHD |
[DANGER] Dedicated MSPI Flash/PSRAM bus — do not use for general I/O
Connected to primary SPI0/1 XIP flash and PSRAM.
General-purpose 3.3V GPIO27 (NOT 5V tolerant)
|
| 31 | SPIWP GPIO28 | digital | GPIO28 SPIWP |
[DANGER] Dedicated MSPI Flash/PSRAM bus — do not use for general I/O
Connected to primary SPI0/1 XIP flash and PSRAM.
General-purpose 3.3V GPIO28 (NOT 5V tolerant)
|
| 32 | SPICS0 GPIO29 | digital | GPIO29 SPICS0 |
[DANGER] Dedicated MSPI Flash/PSRAM bus — do not use for general I/O
Connected to primary SPI0/1 XIP flash and PSRAM.
General-purpose 3.3V GPIO29 (NOT 5V tolerant)
|
| 33 | SPICLK GPIO30 | digital | GPIO30 SPICLK |
[DANGER] Dedicated MSPI Flash/PSRAM bus — do not use for general I/O
Connected to primary SPI0/1 XIP flash and PSRAM.
General-purpose 3.3V GPIO30 (NOT 5V tolerant)
|
| 34 | SPIQ GPIO31 | digital | GPIO31 SPIQ |
[DANGER] Dedicated MSPI Flash/PSRAM bus — do not use for general I/O
Connected to primary SPI0/1 XIP flash and PSRAM.
General-purpose 3.3V GPIO31 (NOT 5V tolerant)
|
| 35 | SPID GPIO32 | digital | GPIO32 SPID |
[DANGER] Dedicated MSPI Flash/PSRAM bus — do not use for general I/O
Connected to primary SPI0/1 XIP flash and PSRAM.
General-purpose 3.3V GPIO32 (NOT 5V tolerant)
|
| 36 | SPICLK_N GPIO48 | digital | GPIO48 |
General-purpose 3.3V GPIO48 (NOT 5V tolerant)
|
| 37 | SPICLK_P GPIO47 | digital | GPIO47 |
General-purpose 3.3V GPIO47 (NOT 5V tolerant)
|
| 38 | GPIO33 | digital | GPIO33 SPIIO4 |
[CAUTION] Octal MSPI bus (SPIIO4–SPIIO7 / SPIDQS) — occupied on -R8 Octal PSRAM or Octal Flash variants!
Freely usable on Quad flash / Quad PSRAM (-N4, -N8, -N16, -R2) parts, but internally occupied on 8 MB Octal PSRAM (-R8 / N8R8 / N16R8) or Octal Flash parts.
General-purpose 3.3V GPIO33 (NOT 5V tolerant)
|
| 39 | GPIO34 | digital | GPIO34 SPIIO5 |
[CAUTION] Octal MSPI bus (SPIIO4–SPIIO7 / SPIDQS) — occupied on -R8 Octal PSRAM or Octal Flash variants!
Freely usable on Quad flash / Quad PSRAM (-N4, -N8, -N16, -R2) parts, but internally occupied on 8 MB Octal PSRAM (-R8 / N8R8 / N16R8) or Octal Flash parts.
General-purpose 3.3V GPIO34 (NOT 5V tolerant)
|
| 40 | GPIO35 | digital | GPIO35 SPIIO6 |
[CAUTION] Octal MSPI bus (SPIIO4–SPIIO7 / SPIDQS) — occupied on -R8 Octal PSRAM or Octal Flash variants!
Freely usable on Quad flash / Quad PSRAM (-N4, -N8, -N16, -R2) parts, but internally occupied on 8 MB Octal PSRAM (-R8 / N8R8 / N16R8) or Octal Flash parts.
General-purpose 3.3V GPIO35 (NOT 5V tolerant)
|
| 41 | GPIO36 | digital | GPIO36 SPIIO7 |
[CAUTION] Octal MSPI bus (SPIIO4–SPIIO7 / SPIDQS) — occupied on -R8 Octal PSRAM or Octal Flash variants!
Freely usable on Quad flash / Quad PSRAM (-N4, -N8, -N16, -R2) parts, but internally occupied on 8 MB Octal PSRAM (-R8 / N8R8 / N16R8) or Octal Flash parts.
General-purpose 3.3V GPIO36 (NOT 5V tolerant)
|
| 42 | GPIO37 | digital | GPIO37 SPIDQS |
[CAUTION] Octal MSPI bus (SPIIO4–SPIIO7 / SPIDQS) — occupied on -R8 Octal PSRAM or Octal Flash variants!
Freely usable on Quad flash / Quad PSRAM (-N4, -N8, -N16, -R2) parts, but internally occupied on 8 MB Octal PSRAM (-R8 / N8R8 / N16R8) or Octal Flash parts.
General-purpose 3.3V GPIO37 (NOT 5V tolerant)
|
| 43 | GPIO38 | digital | GPIO38 |
General-purpose 3.3V GPIO38 (NOT 5V tolerant)
|
| 44 | MTCK GPIO39 | digital | GPIO39 MTCK |
General-purpose 3.3V GPIO39 (NOT 5V tolerant)
|
| 45 | MTDO GPIO40 | digital | GPIO40 MTDO |
General-purpose 3.3V GPIO40 (NOT 5V tolerant)
|
| 46 | VDD3P3_CPU | power | VDD3P3_CPU |
CPU and digital I/O domain power supply (3.0V–3.6V)
|
| 47 | MTDI GPIO41 | digital | GPIO41 MTDI |
General-purpose 3.3V GPIO41 (NOT 5V tolerant)
|
| 48 | MTMS GPIO42 | digital | GPIO42 MTMS |
General-purpose 3.3V GPIO42 (NOT 5V tolerant)
|
| 49 | U0TXD GPIO43 | digital | GPIO43 U0TXD |
General-purpose 3.3V GPIO43 (NOT 5V tolerant)
|
| 50 | U0RXD GPIO44 | digital | GPIO44 U0RXD |
General-purpose 3.3V GPIO44 (NOT 5V tolerant)
|
| 51 | GPIO45 | digital | GPIO45 |
[DANGER] VDD_SPI flash voltage strap (weak pull-down: LOW=3.3V, HIGH=1.8V)
Pulling GPIO45 HIGH at reset switches VDD_SPI to 1.8V, causing boot failure on 3.3V flash/PSRAM parts.
General-purpose 3.3V GPIO45 (NOT 5V tolerant)
|
| 52 | GPIO46 | digital | GPIO46 |
[CAUTION] Boot mode & ROM log strapping pin (weak pull-down; bidirectional I/O on ESP32-S3)
Keep LOW or floating at reset for normal SPI boot or Joint Download Boot. Unlike ESP32-S2, GPIO46 IS a full bidirectional GPIO on ESP32-S3.
General-purpose 3.3V GPIO46 (NOT 5V tolerant)
|
| 53 | XTAL_N | clock | XTAL_N |
[INFO] 40 MHz RF crystal negative pin
Dedicated 40 MHz ±10 ppm reference crystal terminal.
External 40 MHz crystal oscillator negative pin
|
| 54 | XTAL_P | clock | XTAL_P |
[INFO] 40 MHz RF crystal positive pin
Dedicated 40 MHz ±10 ppm reference crystal terminal.
External 40 MHz crystal oscillator positive pin
|
| 55 | VDDA | power | VDDA |
Analog, PLL, and crystal oscillator power supply (3.0V–3.6V)
|
| 56 | VDDA | power | VDDA |
Analog, PLL, and crystal oscillator power supply (3.0V–3.6V)
|
| 57 | GND | ground | GND |
Exposed central thermal and RF ground pad (0V)
|