Internal SPI Flash & Optional Quad/Octal PSRAM
QSPI
Chip Pad: GPIO29
Quad MSPI on GPIO26–32; -R8 Octal PSRAM additionally uses GPIO33–37 (Pins 28–30)
Leave Pins 28–30 unconnected on -R8 modules.
Built around the dual-core 240 MHz ESP32-S3 SoC, 40 MHz crystal, 4/8/16 MB Quad SPI flash, and optional 2 MB Quad (-R2) or 8 MB Octal (-R8) PSRAM, ESP32-S3-WROOM-1 (18.0×25.5 mm PCB antenna) and ESP32-S3-WROOM-1U (18.0×19.2 mm U.FL) expose 36 bidirectional 3.3 V GPIOs on a 40+1 pad 1.27 mm footprint. On 8 MB Octal PSRAM (-N8R8 / -N16R8) modules, Pins 28–30 (IO35, IO36, IO37) are occupied internally by the Octal MSPI bus leaving 33 free GPIOs.
Leave Pins 28–30 unconnected on -R8 modules.
Connect an external 50Ω 2.4 GHz antenna before transmitting.
Add the peripherals you need and plan the pin assignments
| Pin # | Label | Type | Functions | Warnings & Notes |
|---|---|---|---|---|
| 1 | GND | ground | GND |
Module system ground (0V)
|
| 2 | 3V3 | power | 3V3 |
[CAUTION] 3.0V–3.6V supply only (>=500 mA current capability + 10 µF & 0.1 µF decoupling)
Wi-Fi TX bursts draw high peak current. Exceeding 3.6V permanently damages the SoC and onboard flash.
Main 3.3V module power supply input (3.0V–3.6V; >=500 mA regulator recommended)
|
| 3 | EN 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)
|
| 4 | IO4 GPIO4 | mixed | GPIO4 ADC1_CH3 TOUCH4 |
General-purpose 3.3V GPIO4 (NOT 5V tolerant)
|
| 5 | IO5 GPIO5 | mixed | GPIO5 ADC1_CH4 TOUCH5 |
General-purpose 3.3V GPIO5 (NOT 5V tolerant)
|
| 6 | IO6 GPIO6 | mixed | GPIO6 ADC1_CH5 TOUCH6 |
General-purpose 3.3V GPIO6 (NOT 5V tolerant)
|
| 7 | IO7 GPIO7 | mixed | GPIO7 ADC1_CH6 TOUCH7 |
General-purpose 3.3V GPIO7 (NOT 5V tolerant)
|
| 8 | IO15 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)
|
| 9 | IO16 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)
|
| 10 | IO17 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)
|
| 11 | IO18 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)
|
| 12 | IO8 GPIO8 | mixed | GPIO8 ADC1_CH7 TOUCH8 |
General-purpose 3.3V GPIO8 (NOT 5V tolerant)
|
| 13 | IO19 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)
|
| 14 | IO20 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)
|
| 15 | IO3 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)
|
| 16 | IO46 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)
|
| 17 | IO9 GPIO9 | mixed | GPIO9 ADC1_CH8 TOUCH9 |
General-purpose 3.3V GPIO9 (NOT 5V tolerant)
|
| 18 | IO10 GPIO10 | mixed | GPIO10 ADC1_CH9 TOUCH10 FSPICS0 |
General-purpose 3.3V GPIO10 (NOT 5V tolerant)
|
| 19 | IO11 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)
|
| 20 | IO12 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)
|
| 21 | IO13 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)
|
| 22 | IO14 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)
|
| 23 | IO21 GPIO21 | digital | GPIO21 |
General-purpose 3.3V GPIO21 (NOT 5V tolerant)
|
| 24 | IO47 GPIO47 | digital | GPIO47 |
General-purpose 3.3V GPIO47 (NOT 5V tolerant)
|
| 25 | IO48 GPIO48 | digital | GPIO48 |
General-purpose 3.3V GPIO48 (NOT 5V tolerant)
|
| 26 | IO45 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)
|
| 27 | IO0 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)
|
| 28 | IO35 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.
[CAUTION] Occupied by internal Octal PSRAM on -N8R8 / -N16R8 modules — DO NOT use on -R8!
Usable as GPIO on Quad flash/PSRAM (-N4, -N8, -N16, -N4R2, -N8R2) modules, but wired internally to 8 MB Octal SPI PSRAM on -N8R8 and -N16R8 modules.
General-purpose 3.3V GPIO35 (NOT 5V tolerant)
|
| 29 | IO36 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.
[CAUTION] Occupied by internal Octal PSRAM on -N8R8 / -N16R8 modules — DO NOT use on -R8!
Usable as GPIO on Quad flash/PSRAM (-N4, -N8, -N16, -N4R2, -N8R2) modules, but wired internally to 8 MB Octal SPI PSRAM on -N8R8 and -N16R8 modules.
General-purpose 3.3V GPIO36 (NOT 5V tolerant)
|
| 30 | IO37 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.
[CAUTION] Occupied by internal Octal PSRAM on -N8R8 / -N16R8 modules — DO NOT use on -R8!
Usable as GPIO on Quad flash/PSRAM (-N4, -N8, -N16, -N4R2, -N8R2) modules, but wired internally to 8 MB Octal SPI PSRAM on -N8R8 and -N16R8 modules.
General-purpose 3.3V GPIO37 (NOT 5V tolerant)
|
| 31 | IO38 GPIO38 | digital | GPIO38 |
General-purpose 3.3V GPIO38 (NOT 5V tolerant)
|
| 32 | IO39 GPIO39 | digital | GPIO39 MTCK |
General-purpose 3.3V GPIO39 (NOT 5V tolerant)
|
| 33 | IO40 GPIO40 | digital | GPIO40 MTDO |
General-purpose 3.3V GPIO40 (NOT 5V tolerant)
|
| 34 | IO41 GPIO41 | digital | GPIO41 MTDI |
General-purpose 3.3V GPIO41 (NOT 5V tolerant)
|
| 35 | IO42 GPIO42 | digital | GPIO42 MTMS |
General-purpose 3.3V GPIO42 (NOT 5V tolerant)
|
| 36 | RXD0 GPIO44 | digital | GPIO44 U0RXD |
General-purpose 3.3V GPIO44 (NOT 5V tolerant)
|
| 37 | TXD0 GPIO43 | digital | GPIO43 U0TXD |
General-purpose 3.3V GPIO43 (NOT 5V tolerant)
|
| 38 | IO2 GPIO2 | mixed | GPIO2 ADC1_CH1 TOUCH2 |
General-purpose 3.3V GPIO2 (NOT 5V tolerant)
|
| 39 | IO1 GPIO1 | mixed | GPIO1 ADC1_CH0 TOUCH1 |
General-purpose 3.3V GPIO1 (NOT 5V tolerant)
|
| 40 | GND | ground | GND |
Module system ground (0V)
|
| 41 | EPAD | ground | GND |
Underside exposed thermal & RF ground pad (connect to host GND plane)
|