ESP32-S3-WROOM-1
WROOM module · based on ESP32-S3 · Active
- Xtensa LX7
- 2× @ 240 MHz
- Wi-Fi 4
- BLE 5.x
- 4 / 8 / 16 MB flash
- 2 / 8 / 16 MB PSRAM
- 36 GPIO
- PCB antenna
As an affiliate we may earn from qualifying purchases. Prices and availability are set by AliExpress.
Interactive 3D model · drag to rotate
Figures here are compiled from Espressif's official datasheets, with the source linked on each page. Mistakes are possible, so if something looks off, please report it.
The ESP32-S3-WROOM-1 is a general-purpose Espressif module built on the ESP32-S3 dual-core Xtensa LX7 SoC clocked up to 240 MHz. It pairs 2.4 GHz Wi-Fi 4 and Bluetooth LE with up to 16 MB flash and up to 16 MB PSRAM, routes the radio to a PCB antenna, and breaks out 36 GPIO; the module measures 18 × 25.5 × 3.1 mm.
PSRAM together with the SoC's vector (AI) instructions makes it a strong fit for camera, audio and on-device ML projects. Secure boot and flash encryption are available for production security. Espressif lists target uses including Smart Home, Generic Low-power IoT Sensor Hubs, Industrial Automation, Generic Low-power IoT Data Loggers and Health Care.
Pinout
⚑ flag an error| # | Name | Type | Functions | |
|---|---|---|---|---|
| 1 | GND | P | Ground | ⚑ |
| 2 | 3V3 | P | Power supply | ⚑ |
| 3 | EN | I | Chip enable | ⚑ |
| 4 | IO4 | I/O/T | RTC_GPIO4, GPIO4, TOUCH4, ADC1_CH3 | ⚑ |
| 5 | IO5 | I/O/T | RTC_GPIO5, GPIO5, TOUCH5, ADC1_CH4 | ⚑ |
| 6 | IO6 | I/O/T | RTC_GPIO6, GPIO6, TOUCH6, ADC1_CH5 | ⚑ |
| 7 | IO7 | I/O/T | RTC_GPIO7, GPIO7, TOUCH7, ADC1_CH6 | ⚑ |
| 8 | IO15 | I/O/T | RTC_GPIO15, GPIO15, U0RTS, ADC2_CH4, XTAL_32K_P | ⚑ |
| 9 | IO16 | I/O/T | RTC_GPIO16, GPIO16, U0CTS, ADC2_CH5, XTAL_32K_N | ⚑ |
| 10 | IO17 | I/O/T | RTC_GPIO17, GPIO17, U1TXD, ADC2_CH6 | ⚑ |
| 11 | IO18 | I/O/T | RTC_GPIO18, GPIO18, U1RXD, ADC2_CH7, CLK_OUT3 | ⚑ |
| 12 | IO8 | I/O/T | RTC_GPIO8, GPIO8, TOUCH8, ADC1_CH7, SUBSPICS1 | ⚑ |
| 13 | IO19 | I/O/T | RTC_GPIO19, GPIO19, U1RTS, ADC2_CH8, CLK_OUT2, USB_D- | ⚑ |
| 14 | IO20 | I/O/T | RTC_GPIO20, GPIO20, U1CTS, ADC2_CH9, CLK_OUT1, USB_D+ | ⚑ |
| 15 | IO3 | I/O/T | RTC_GPIO3, GPIO3, TOUCH3, ADC1_CH2 | ⚑ |
| 16 | IO46 | I/O/T | GPIO46 | ⚑ |
| 17 | IO9 | I/O/T | RTC_GPIO9, GPIO9, TOUCH9, ADC1_CH8, FSPIHD, SUBSPIHD | ⚑ |
| 18 | IO10 | I/O/T | RTC_GPIO10, GPIO10, TOUCH10, ADC1_CH9, FSPICS0, FSPIIO4, SUBSPICS0 | ⚑ |
| 19 | IO11 | I/O/T | RTC_GPIO11, GPIO11, TOUCH11, ADC2_CH0, FSPID, FSPIIO5, SUBSPID | ⚑ |
| 20 | IO12 | I/O/T | RTC_GPIO12, GPIO12, TOUCH12, ADC2_CH1, FSPICLK, FSPIIO6, SUBSPICLK | ⚑ |
| 21 | IO13 | I/O/T | RTC_GPIO13, GPIO13, TOUCH13, ADC2_CH2, FSPIQ, FSPIIO7, SUBSPIQ | ⚑ |
| 22 | IO14 | I/O/T | RTC_GPIO14, GPIO14, TOUCH14, ADC2_CH3, FSPIWP, FSPIDQS, SUBSPIWP | ⚑ |
| 23 | IO21 | I/O/T | RTC_GPIO21, GPIO21 | ⚑ |
| 24 | IO47 | I/O/T | SPICLK_P_DIFF, GPIO47, SUBSPICLK_P_DIFF | ⚑ |
| 25 | IO48 | I/O/T | SPICLK_N_DIFF, GPIO48, SUBSPICLK_N_DIFF | ⚑ |
| 26 | IO45 | I/O/T | GPIO45 | ⚑ |
| 27 | IO0 | I/O/T | RTC_GPIO0, GPIO0 | ⚑ |
| 28 | IO35 | I/O/T | SPIIO6, GPIO35, FSPID, SUBSPID | ⚑ |
| 29 | IO36 | I/O/T | SPIIO7, GPIO36, FSPICLK, SUBSPICLK | ⚑ |
| 30 | IO37 | I/O/T | SPIDQS, GPIO37, FSPIQ, SUBSPIQ | ⚑ |
| 31 | IO38 | I/O/T | GPIO38, FSPIWP, SUBSPIWP | ⚑ |
| 32 | IO39 | I/O/T | MTCK, GPIO39, CLK_OUT3, SUBSPICS1 | ⚑ |
| 33 | IO40 | I/O/T | MTDO, GPIO40, CLK_OUT2 | ⚑ |
| 34 | IO41 | I/O/T | MTDI, GPIO41, CLK_OUT1 | ⚑ |
| 35 | IO42 | I/O/T | MTMS, GPIO42 | ⚑ |
| 36 | RXD0 | I/O/T | U0RXD, GPIO44, CLK_OUT2 | ⚑ |
| 37 | TXD0 | I/O/T | U0TXD, GPIO43, CLK_OUT1 | ⚑ |
| 38 | IO2 | I/O/T | RTC_GPIO2, GPIO2, TOUCH2, ADC1_CH1 | ⚑ |
| 39 | IO1 | I/O/T | RTC_GPIO1, GPIO1, TOUCH1, ADC1_CH0 | ⚑ |
| 40 | GND | P | Ground | ⚑ |
| 41 | EPAD | P | Ground | ⚑ |
Official datasheet pin-layout figure
Find a pin by function
Pick a capability to see which GPIOs provide it on the ESP32-S3.
Freely usable, no special role.
! Usable for general IO, but one function has a condition (e.g. ADC2 can't be read while Wi-Fi is on). See the note.
UART, I²C, SPI (master), I²S, PWM/LEDC and most digital peripherals route through the GPIO matrix, so assign them to any pin from "Safe GPIO". The categories above are the pins tied to a fixed function (analog, USB, crystal…) or that need care.
Strapping pins
⚑ flag an errorGPIOs sampled at reset; avoid driving these at power-up.
| Pin | Default | Bit | Function |
|---|---|---|---|
GPIO0 | pull-up | 1 | boot_mode |
GPIO3 | floating | — | jtag |
GPIO45 | pull-down | 0 | flash_voltage |
GPIO46 | pull-down | 0 | boot |
GPIO pin warnings
⚑ flag an errorOn the ESP32-S3, almost any peripheral can be routed to almost any GPIO through the IO MUX, so most pins are free to use. These are the exceptions: pins with a fixed role or a boot-time behaviour to design around.
| Pin | Why it needs care |
|---|---|
GPIO0 | strapping pin (affects boot) |
GPIO3 | strapping pin (affects boot) |
GPIO19 | native USB D± |
GPIO20 | native USB D± |
GPIO35 | used by octal PSRAM |
GPIO36 | used by octal PSRAM |
GPIO37 | used by octal PSRAM |
GPIO39 | JTAG |
GPIO40 | JTAG |
GPIO41 | JTAG |
GPIO42 | JTAG |
GPIO43 | UART0 console (boot log) |
GPIO44 | UART0 console (boot log) |
GPIO45 | strapping pin (affects boot) |
GPIO46 | strapping pin (affects boot) |
⚠ On octal-PSRAM variants (R8 / R16V), GPIO 35, 36, 37 connect to the in-package PSRAM and can't be used for anything else.
- The ADC2 channels share hardware with the Wi-Fi radio, so ADC2 readings are unavailable while Wi-Fi is active. Those GPIOs are still free for any digital function, and the ADC1 channels work for analog input alongside Wi-Fi.
- Power-up glitches: GPIO1 to GPIO18 emit a brief (~60 µs) low pulse at power-up, and GPIO18/19/20 also glitch high. Don't drive glitch-sensitive loads (relay coils, MOSFET gates) directly from these without a pull resistor, and prefer gpio_config() over gpio_reset_pin() to set the output state cleanly.
- GPIO21 has field reports of Wi-Fi interference on some modules. If you see Wi-Fi instability with a peripheral on GPIO21, try lowering Wi-Fi TX power to ~11–13 dBm or moving the peripheral elsewhere.
- GPIO47 and GPIO48 work at 1.8 V (not 3.3 V) on the "V" SKUs (e.g. N8R8V, N16R16V) where VDD_SPI is set to 1.8 V, since VDD_SPI also supplies these two pins. Level-shift any 3.3 V logic on them.
- GPIO33 and GPIO34 are not broken out on this module, and on octal-PSRAM/flash SKUs they carry internal PSRAM lines, so don't assign peripherals to them in software or probe them in a pin scan.
Compute & memory
⚑ flag an error| CPU | Xtensa LX7, 2-core |
|---|---|
| Max clock | 240 MHz |
| SRAM | 512 KB |
| ROM | 384 KB |
| Flash options | 4 / 8 / 16 MB |
| PSRAM | 2 / 8 / 16 MB |
| Co-processor | ULP-RISC-V |
Wireless
⚑ flag an error| Wi-Fi | Wi-Fi 4 |
|---|---|
| Wi-Fi bands | 2.4GHz |
| Bluetooth | BLE 5.x |
| 802.15.4 (Thread/Zigbee) | No |
| Antenna | PCB |
Peripherals & I/O
⚑ flag an error| Usable GPIO | 36 |
|---|---|
| ADC | 20× 12-bit |
| USB | USB-OTG |
| UART / SPI / I²C / I²S | 3 / 2 / 2 / 2 |
| TWAI (CAN) | Yes |
| SD/MMC | Yes |
| Ethernet MAC | No |
| Touch | 14 |
Power
⚑ flag an error| Operating voltage | 3.0-3.6 V |
|---|---|
| Deep sleep | 7 µA |
Physical
⚑ flag an error| Dimensions | 18 × 25.5 × 3.1 mm |
|---|---|
| Pin count | 41 |
| Temp range | -40 to 85 °C |
| Mounting | SMD castellated |
| Lifecycle | Active |
Security
⚑ flag an error| Secure boot | Yes |
|---|---|
| Flash encryption | Yes |
| Crypto | AES, SHA, RSA, HMAC, RNG |
| Digital signature | Yes |
| TRNG | Yes |
Ordering codes
⚑ flag an errorThe orderable part numbers and what each ships with, decoded from the suffix. Confirm against the latest datasheet before ordering.
| Part number | Flash | PSRAM | Temp |
|---|---|---|---|
ESP32-S3-WROOM-1-N4 | 4 MB | — | −40 to 85 °C |
ESP32-S3-WROOM-1-N8 | 8 MB | — | −40 to 85 °C |
ESP32-S3-WROOM-1-N16 | 16 MB | — | −40 to 85 °C |
ESP32-S3-WROOM-1-H4 | 4 MB | — | −40 to 105 °C |
ESP32-S3-WROOM-1-N4R2 | 4 MB | 2 MB (quad) | −40 to 85 °C |
ESP32-S3-WROOM-1-N8R2 | 8 MB | 2 MB (quad) | −40 to 85 °C |
ESP32-S3-WROOM-1-N16R2 | 16 MB | 2 MB (quad) | −40 to 85 °C |
ESP32-S3-WROOM-1-N4R8 | 4 MB | 8 MB (octal) | −40 to 85 °C |
ESP32-S3-WROOM-1-N8R8 | 8 MB | 8 MB (octal) | −40 to 85 °C |
ESP32-S3-WROOM-1-N16R8 | 16 MB | 8 MB (octal) | −40 to 85 °C |
ESP32-S3-WROOM-1-N16R16VA | 16 MB · 1.8V | 16 MB (octal) | −40 to 85 °C |
Schematics
Mechanical & CAD
Getting started
Frameworks: Arduino-ESP32 core (fully supported) · ESP-IDF 4.4+ (Espressif's official SDK) · MicroPython · Matter.
ESP-IDF target: idf.py set-target esp32s3.
The SoC has native USB-OTG, so it can flash over USB and act as a USB device or host.
- Give the module a 3.3 V supply rated for at least 500 mA. RF transmit bursts pull well above the average current.
- EN is only weakly pulled high internally (~2 MΩ), which often isn't reliable on its own. Add an external 100 kΩ pull-up, and for clean resets (especially with large bulk capacitance on the 3.3 V rail) use a reset-supervisor IC such as the MAX809 rather than just an RC network.
- Routing SPI (or most peripherals) through the GPIO matrix caps the SPI clock at 80 MHz; to run faster, use the dedicated IO_MUX pins.
Software & firmware
⚑ flag an errorPopular firmware and SDKs that run on the ESP32-S3, so they run on the ESP32-S3-WROOM-1 too.
Notable open-source software & firmware known to run on this chip. Support evolves, so check each project for its current board support.
Smart home & IoT
- Tasmota★ 24k
Mature open firmware for smart switches, plugs and sensors, with web UI, MQTT and rules.
- ESPHome★ 11k
Describe your device in YAML and get firmware that integrates straight into Home Assistant, no C required.
- OpenMQTTGateway★ 4.0k
Bridges BLE, 433 MHz, IR and more to MQTT; a flexible multi-protocol IoT gateway.
SDKs & languages
- MicroPython★ 22k
Run Python 3 directly on the chip with an interactive REPL, great for rapid prototyping.
- ESP-IDF★ 18k
Espressif's official IoT development framework (FreeRTOS-based, C/C++); the reference SDK for every modern ESP32-family chip.
- Arduino-ESP32★ 17k
The official Arduino core for ESP32 chips; the easiest on-ramp, built on top of ESP-IDF.
- esp-hal (esp-rs)★ 2.0k
Bare-metal Rust hardware-abstraction layer for Espressif chips, and the heart of the esp-rs ecosystem.
LED, display & UI
Security research
- ESP32 Marauder★ 11k
Wi-Fi/Bluetooth analysis and pen-testing suite for ESP32, for authorised testing and education.
- Bruce★ 5.8k
Predatory ESP32 firmware for offensive-security research on M5Stack and cheap-yellow-display boards.
Mesh & comms
- Meshtastic★ 7.8k
Long-range, off-grid LoRa mesh messaging firmware for ESP32-based radios.
Open-source projects using this module
Public GitHub projects whose KiCad design files reference the ESP32-S3-WROOM-1.
- skot/bitaxe ★ 1354
Open source ASIC Bitcoin miner hardware
- jniebuhr/gaggimate ★ 827
This project upgrades a Gaggia espresso machine with smart controls to improve your coffee-making experience. By adding a display and custom electronics, you can monitor and control the machine more easily.
- lilka-dev/lilka ★ 225
Схема та документація ігрової консолі Lilka
- AzonInc/Doorman ★ 205
ESP32-S3 based Intercom Gateway (TCS / Koch / Niko / Scantron / Analogue Systems)
- engmung/PatternFlow ★ 124
An open-source LED synthesizer. Play light patterns with your fingertips. A modern reinterpretation of Nam June Paik's Participation TV (1963).
- bread-modular/bread-modular ★ 63
Modular Synths for Everyone
- crnicholson/StratoSoar-MK3 ★ 38
StratoSoar MK3, an autonomous glider meant for high-altitudes, accessible to everyone
Frequently asked questions
Does the ESP32-S3-WROOM-1 have Wi-Fi and Bluetooth?
It provides 2.4 GHz Wi-Fi 4 and Bluetooth LE.
How much memory does the ESP32-S3-WROOM-1 have?
It comes with 4, 8, 16 MB flash options, up to 16 MB of PSRAM, and the ESP32-S3 has 512 KB of on-chip SRAM.
How many GPIO pins does the ESP32-S3-WROOM-1 have?
The module breaks out 36 GPIO, with up to 20 12-bit ADC channels. See the full pinout above.
Can I use the ESP32-S3-WROOM-1 with the Arduino IDE?
Yes. Install the Arduino-ESP32 core and pick an ESP32-S3-based board. You can also use ESP-IDF 4.4 or MicroPython.
How do I flash the ESP32-S3-WROOM-1?
The SoC has native USB-OTG, so it can flash over USB and act as a USB device or host.
Is the ESP32-S3-WROOM-1 5 V tolerant?
No. It runs at 3.0-3.6 V and its GPIO are not 5 V tolerant, so level-shift any 5 V signals.
Can I use an external antenna with the ESP32-S3-WROOM-1?
Most Espressif modules are also offered in a "-U" / "-1U" variant that swaps the on-board PCB antenna for a U.FL/IPEX connector, otherwise identical. Check this part's datasheet for the exact variant name.
Further reading
- ESP32-S3-WROOM-1 Datasheet
- ESP32-S3 modules
- Certificates for ESP32-S3-WROOM-1
- Espressif Product Selector
- ESP32-S3 Datasheet
- ESP32-S3 Technical Reference Manual
- ESP32-S3 product page
- ESP-IDF Programming Guide
- Hardware Design Guidelines
- ESP Dev-Kits documentation
- Espressif KiCad libraries (symbols/footprints/3D)