Esp32-S3 Datasheet en
Esp32-S3 Datasheet en
Esp32-S3 Datasheet en
Including:
ESP32-S3
ESP32-S3FN8
ESP32-S3R2
ESP32-S3R8
ESP32-S3R8V
ESP32-S3R16V
ESP32-S3FH4R2
www.espressif.com
Product Overview
ESP32-S3 is a low-power MCU-based system on a chip (SoC) with integrated 2.4 GHz Wi-Fi and Bluetooth®
Low Energy (Bluetooth LE). It consists of high-performance dual-core microprocessor (Xtensa® 32-bit LX7), a
ULP coprocessor, a Wi-Fi baseband, a Bluetooth LE baseband, RF module, and numerous peripherals.
Fast RC
Cache SRAM
Transmitter
Bluetooth LE Link Controller
Synthesizer
Receiver
2.4 GHz
RF
Matrix Phase Lock
JTAG ROM Bluetooth LE Baseband
Loop
Peripherals Security
Power consumption
Normal
Low power consumption components capable of working in Deep-sleep mode
For more information on power consumption, see Section 4.1.3.5 Power Management Unit (PMU).
• IEEE 802.11b/g/n-compliant
• Simultaneous support for Infrastructure BSS in Station, SoftAP, or Station + SoftAP modes
Note that when ESP32-S3 scans in Station mode, the SoftAP channel will change along with the Station
channel
• Antenna diversity
• 802.11mc FTM
Bluetooth
• Advertising extensions
• Internal co-existence mechanism between Wi-Fi and Bluetooth to share the same antenna
• CoreMark® score:
• Five-stage pipeline
• L1 cache
• ROM: 384 KB
• SRAM: 512 KB
• SRAM in RTC: 16 KB
• Supported SPI protocols: SPI, Dual SPI, Quad SPI, Octal SPI, QPI and OPI interfaces that allow
connection to flash, external RAM, and other SPI devices
• 45 programmable GPIOs
– 4 strapping GPIOs
• Digital interfaces:
– LCD interface (8-bit ~ 16-bit parallel RGB, I8080 and MOTO6800), supporting conversion between
RGB565, YUV422, YUV420 and YUV411
– Three UARTs
– Two I2Cs
– Two I2Ss
– RMT (TX/RX)
– Pulse counter
– General DMA controller (GDMA), with 5 transmit channels and 5 receive channels
• Analog interfaces:
– Temperature sensor
• Timers:
• Fine-resolution power control through a selection of clock frequency, duty cycle, Wi-Fi operating modes,
and individual power control of internal components
• Four power modes designed for typical scenarios: Active, Modem-sleep, Light-sleep, Deep-sleep
– ULP-RISC-V coprocessor
– ULP-FSM coprocessor
Security
• Secure boot
• Flash encryption
– RSA
– HMAC
– Digital signature
Applications
With low power consumption, ESP32-S3 is an ideal choice for IoT devices in the following areas:
Note:
Check the link or the QR code to make sure that you use the latest version of this document:
https://www.espressif.com/documentation/esp32-s3_datasheet_en.pdf
Contents
Product Overview 2
Features 3
Applications 5
2 Pins 14
2.1 Pin Layout 14
2.2 Pin Overview 15
2.3 IO Pins 19
2.3.1 IO MUX Functions 19
2.3.2 RTC Functions 21
2.3.3 Analog Functions 22
2.3.4 Restrictions for GPIOs and RTC_GPIOs 24
2.4 Analog Pins 25
2.5 Power Supply 26
2.5.1 Power Pins 26
2.5.2 Power Scheme 26
2.5.3 Chip Power-up and Reset 27
2.6 Pin Mapping Between Chip and Flash/PSRAM 28
3 Boot Configurations 29
3.1 Chip Boot Mode Control 30
3.2 VDD_SPI Voltage Control 31
3.3 ROM Messages Printing Control 31
3.4 JTAG Signal Source Control 31
4 Functional Description 33
4.1 System 33
4.1.1 Microprocessor and Master 33
4.1.1.1 CPU 33
4.1.1.2 Processor Instruction Extensions (PIE) 33
4.1.1.3 Ultra-Low-Power Coprocessor (ULP) 34
4.1.1.4 GDMA Controller (GDMA) 34
5 Electrical Characteristics 63
5.1 Absolute Maximum Ratings 63
5.2 Recommended Power Supply Characteristics 63
5.3 VDD_SPI Output Characteristics 64
5.4 DC Characteristics (3.3 V, 25 °C) 64
5.5 ADC Characteristics 65
5.6 Current Consumption 65
5.6.1 RF Current Consumption in Active Mode 65
5.6.2 Current Consumption in Other Modes 66
5.7 Reliability 67
6 RF Characteristics 68
6.1 Wi-Fi Radio 68
6.1.1 Wi-Fi RF Transmitter (TX) Specifications 68
6.1.2 Wi-Fi RF Receiver (RX) Specifications 70
6.2 Bluetooth LE Radio 71
6.2.1 Bluetooth LE RF Transmitter (TX) Specifications 71
6.2.2 Bluetooth LE RF Receiver (RX) Specifications 73
7 Packaging 76
Revision History 80
List of Tables
1-1 ESP32-S3 Series Comparison 13
2-1 Pin Overview 15
2-2 Power-Up Glitches on Pins 17
2-3 Peripheral Signals Routed via IO MUX 19
2-4 IO MUX Pin Functions 20
2-5 RTC Peripheral Signals Routed via RTC IO MUX 22
2-6 RTC Functions 22
2-7 Analog Signals Routed to Analog Functions 23
2-8 Analog Functions 23
2-9 Analog Pins 25
2-10 Power Pins 26
2-11 Voltage Regulators 26
2-12 Description of Timing Parameters for Power-up and Reset 27
2-13 Pin Mapping Between Chip and In-package Flash/ PSRAM 28
3-1 Default Configuration of Strapping Pins 29
3-2 Description of Timing Parameters for the Strapping Pins 30
3-3 Chip Boot Mode Control 30
3-4 VDD_SPI Voltage Control 31
3-5 JTAG Signal Source Control 32
4-1 Components and Power Domains 41
5-1 Absolute Maximum Ratings 63
5-2 Recommended Power Characteristics 63
5-3 VDD_SPI Internal and Output Characteristics 64
5-4 DC Characteristics (3.3 V, 25 °C) 64
5-5 ADC Characteristics 65
5-6 ADC Calibration Results 65
5-7 Wi-Fi Current Consumption Depending on RF Modes 65
5-8 Current Consumption in Modem-sleep Mode 66
5-9 Current Consumption in Low-Power Modes 67
5-10 Reliability Qualifications 67
6-1 Wi-Fi Frequency 68
6-2 TX Power with Spectral Mask and EVM Meeting 802.11 Standards 68
6-3 TX EVM Test 68
6-4 RX Sensitivity 70
6-5 Maximum RX Level 70
6-6 RX Adjacent Channel Rejection 71
6-7 Bluetooth LE Frequency 71
6-8 Transmitter Characteristics - Bluetooth LE 1 Mbps 71
6-9 Transmitter Characteristics - Bluetooth LE 2 Mbps 72
6-10 Transmitter Characteristics - Bluetooth LE 125 Kbps 72
6-11 Transmitter Characteristics - Bluetooth LE 500 Kbps 72
6-12 Receiver Characteristics - Bluetooth LE 1 Mbps 73
6-13 Receiver Characteristics - Bluetooth LE 2 Mbps 74
List of Figures
1-1 ESP32-S3 Series Nomenclature 13
2-1 ESP32-S3 Pin Layout (Top View) 14
2-2 ESP32-S3 Power Scheme 27
2-3 Visualization of Timing Parameters for Power-up and Reset 27
3-1 Visualization of Timing Parameters for the Strapping Pins 30
4-1 Address Mapping Structure 35
4-2 Components and Power Domains 41
7-1 QFN56 (7×7 mm) Package 76
7-2 QFN56 (7×7 mm) Package (Only for ESP32-S3FH4R2) 77
1.1 Nomenclature
ESP32-S3 F H x R x V
PSRAM
Flash temperature
H: High temperature
N: Normal temperature
Flash
Chip series
1.2 Comparison
Ordering Code1 In-Package Flash2 In-Package PSRAM Ambient Temp.3 (°C) VDD_SPI Voltage4
ESP32-S3 — — 40 ∼ 105 3.3 V/1.8 V
ESP32-S3FN8 8 MB (Quad SPI)5 — 40 ∼ 85 3.3 V
ESP32-S3R2 — 2 MB (Quad SPI) 40 ∼ 85 3.3 V
ESP32-S3R8 — 8 MB (Octal SPI) 40 ∼ 65 3.3 V
ESP32-S3R8V — 8 MB (Octal SPI) 40 ∼ 65 1.8 V
ESP32-S3R16V — 16 MB (Octal SPI) 40 ∼ 65 1.8 V
ESP32-S3FH4R2 4 MB (Quad SPI) 2 MB (Quad SPI) 40 ∼ 85 3.3 V
1 For details on chip marking and packing, see Section 7 Packaging.
2 By default, the SPI flash on the chip operates at a maximum clock frequency of 80 MHz and does not support
the auto suspend feature. If you have a requirement for a higher flash clock frequency of 120 MHz or if you
need the flash auto suspend feature, please contact us.
3 Ambient temperature specifies the recommended temperature range of the environment immediately outside
an Espressif chip. For chips with Octal SPI PSRAM (ESP32-S3R8, ESP32-S3R8V, and ESP32-S3R16V), if the
PSRAM ECC function is enabled, the maximum ambient temperature can be improved to 85 °C, while the usable
size of PSRAM will be reduced by 1/16.
4 For more information on VDD_SPI, see Section 2.5 Power Supply.
5 For details about SPI modes, see Section 2.6 Pin Mapping Between Chip and Flash/PSRAM.
2 Pins
46 VDD3P3_CPU
52 GPIO46
51 GPIO45
43 GPIO38
53 XTAL_N
54 XTAL_P
50 U0RXD
49 U0TXD
48 MTMS
45 MTDO
44 MTCK
56 VDDA
55 VDDA
47 MTDI
LNA_IN 1 42 GPIO37
VDD3P3 2 41 GPIO36
VDD3P3 3 40 GPIO35
CHIP_PU 4 39 GPIO34
GPIO0 5 38 GPIO33
GPIO1 6 37 SPICLK_P
GPIO2 7 36 SPICLK_N
GPIO3 8 35 SPID
GPIO4 9
ESP32-S3 34 SPIQ
GPIO5 10 33 SPICLK
GPIO6 11 32 SPICS0
GPIO7 12 31 SPIWP
GPIO9 14 29 VDD_SPI
GPIO10 15
GPIO11 16
GPIO12 17
GPIO13 18
GPIO14 19
VDD3P3_RTC 20
XTAL_32K_P 21
XTAL_32K_N 22
GPIO17 23
GPIO18 24
GPIO19 25
GPIO20 26
GPIO21 27
SPICS1 28
All in all, the ESP32-S3 chip has the following types of pins:
– Each IO pin has predefined IO MUX functions – see Table 2-4 IO MUX Pin Functions
– Some IO pins have predefined RTC functions – see Table 2-6 RTC Functions
– Some IO pins have predefined analog functions – see Table 2-8 Analog Functions
Predefined functions means that each IO pin has a set of direct connections to certain on-chip
components. During run-time, the user can configure which component from a predefined set to
connect to a certain pin at a certain time via memory mapped registers (see
ESP32-S3 Technical Reference Manual > Chapter IO MUX and GPIO pins).
• Analog pins that have exclusively-dedicated analog functions – see Table 2-9 Analog Pins
• Power pins that supply power to the chip components and non-power pins – see Table 2-10 Power Pins
Table 2-1 Pin Overview gives an overview of all the pins. For more information, see the respective sections for
each pin type below, or Appendix A – ESP32-S3 Consolidated Pin Overview.
Pin Pin Pin Pin Providing Pin Settings 7 Pin Function Sets 1,2
No. Name Type 1 Power 3-6 At Reset After Reset IO MUX RTC Analog
1 LNA_IN Analog
2 VDD3P3 Power
3 VDD3P3 Power
4 CHIP_PU Analog VDD3P3_RTC
5 GPIO0 IO VDD3P3_RTC IE, WPU IE, WPU IO MUX RTC
6 GPIO1 IO VDD3P3_RTC IE IE IO MUX RTC Analog
7 GPIO2 IO VDD3P3_RTC IE IE IO MUX RTC Analog
8 GPIO3 IO VDD3P3_RTC IE IE IO MUX RTC Analog
9 GPIO4 IO VDD3P3_RTC IO MUX RTC Analog
10 GPIO5 IO VDD3P3_RTC IO MUX RTC Analog
11 GPIO6 IO VDD3P3_RTC IO MUX RTC Analog
12 GPIO7 IO VDD3P3_RTC IO MUX RTC Analog
13 GPIO8 IO VDD3P3_RTC IO MUX RTC Analog
14 GPIO9 IO VDD3P3_RTC IE IO MUX RTC Analog
15 GPIO10 IO VDD3P3_RTC IE IO MUX RTC Analog
16 GPIO11 IO VDD3P3_RTC IE IO MUX RTC Analog
17 GPIO12 IO VDD3P3_RTC IE IO MUX RTC Analog
18 GPIO13 IO VDD3P3_RTC IE IO MUX RTC Analog
Cont’d on next page
2. Bold marks the pin function set in which a pin has its default function in the default boot mode. For more information about the
boot mode see Section 3.1 Chip Boot Mode Control.
• Pin Providing Power (either VDD3P3_CPU or VDD_SPI) is decided by eFuse bit EFUSE_PIN_POWER_SELECTION (see
ESP32-S3 Technical Reference Manual > Chapter eFuse Controller) and can be configured via the
IO_MUX_PAD_POWER_CTRL bit (see ESP32-S3 Technical Reference Manual > Chapter IO MUX and GPIO pins).
5. For ESP32-S3R8V chip, as the VDD_SPI voltage has been set to 1.8 V, the working voltage for pins SPICLK_N and SPICLK_P
(GPIO47 and GPIO48) would also be 1.8 V, which is different from other GPIOs.
7. Column Pin Settings shows predefined settings at reset and after reset with the following abbreviations:
• IE – input enabled
• WPU – internal weak pull-up resistor enabled
• WPD – internal weak pull-down resistor enabled
• USB_PU – USB pull-up resistor enabled
– By default, the USB function is enabled for USB pins (i.e., GPIO19 and GPIO20), and the pin pull-up is decided by the
USB pull-up. The USB pull-up is controlled by USB_SERIAL_JTAG_DP/DM_PULLUP and the pull-up resistor value is
controlled by USB_SERIAL_JTAG_PULLUP_VALUE. For details, see ESP32-S3 Technical Reference Manual > Chapter
USB Serial/JTAG Controller).
– When the USB function is disabled, USB pins are used as regular GPIOs and the pin’s internal weak pull-up and
pull-down resistors are disabled by default (configurable by IO_MUX_FUN_
WPU/WPD). For details, see ESP32-S3 Technical Reference Manual > Chapter IO MUX and GPIO Matrix.
Some pins have glitches during power-up. See details in Table 2-2.
2.3 IO Pins
2.3.1 IO MUX Functions
The IO MUX allows multiple input/output signals to be connected to a single input/output pin. Each IO pin of
ESP32-S3 can be connected to one of the five signals (IO MUX functions, i.e., F0-F4), as listed in Table 2-4 IO
MUX Pin Functions.
• Some are routed via the GPIO Matrix (GPIO0, GPIO1, etc.), which incorporates internal signal routing
circuitry for mapping signals programmatically. It gives the pin access to almost any peripheral signals.
However, the flexibility of programmatic mapping comes at a cost as it might affect the latency of routed
signals. For details about connecting to peripheral signals via GPIO Matrix, see
ESP32-S3 Technical Reference Manual > Chapter IO MUX and GPIO Matrix.
• Some are directly routed from certain peripherals (U0TXD, MTCK, etc.), including UART0/1, JTAG,
SPI0/1, and SPI2 - see Table 2-3 Peripheral Signals Routed via IO MUX.
Table 2-4 IO MUX Pin Functions shows the IO MUX functions of IO pins.
• Either work as RTC GPIOs (RTC_GPIO0, RTC_GPIO1, etc.), connected to the ULP coprocessor
• Or connect to RTC peripheral signals (sar_i2c_scl_0, sar_i2c_sda_0, etc.) - see Table 2-5 RTC
Peripheral Signals Routed via RTC IO MUX
Table 2-6 RTC Functions shows the RTC functions of RTC IO pins.
figured with RTC GPIO registers that use RTC GPIO numbering.
2 Regarding highlighted cells, see Section 2.3.4 Restrictions for GPIOs
and RTC_GPIOs.
In tables of this chapter, some pin functions are highlighted . The non-highlighted GPIO or RTC_GPIO pins are
recommended for use first. If more pins are needed, the highlighted GPIOs or RTC_GPIOs should be chosen
carefully to avoid conflicts with important pin functions.
• GPIO – allocated for communication with in-package flash/PSRAM and NOT recommended for other
uses. For details, see Section 2.6 Pin Mapping Between Chip and Flash/PSRAM.
• GPIO – no restrictions, unless the chip is connected to flash/PSRAM using 8-line SPI mode. For details,
see Section 2.6 Pin Mapping Between Chip and Flash/PSRAM.
– Strapping pins – need to be at certain logic levels at startup. See Section 3 Boot Configurations.
– USB_D+/- – by default, connected to the USB Serial/JTAG Controller. To function as GPIOs, these
pins need to be reconfigured via the IO_MUX_MCU_SEL bit (see
ESP32-S3 Technical Reference Manual > Chapter IO MUX and GPIO Matrix for details).
– JTAG interface – often used for debugging. See Table 2-4 IO MUX Pin Functions. To free these
pins up, the pin functions USB_D+/- of the USB Serial/JTAG Controller can be used instead. See
also Section 3.4 JTAG Signal Source Control.
– UART interface – often used for debugging. See Table 2-4 IO MUX Pin Functions.
tST BL tRST
2.8 V
VDDA,
VDD3P3,
VDD3P3_RTC,
VDD3P3_CPU
VIL_nRST
CHIP_PU
For chip variants with in-package flash/PSRAM (see Table 1-1 ESP32-S3 Series Comparison), the pins allocated
for communication with in-package flash/PSRAM can be identified depending on the SPI mode used.
For more information on SPI controllers, see also Section 4.2.1.5 Serial Peripheral Interface (SPI).
Notice:
It is not recommended to use the pins connected to flash/PSRAM for any other purposes.
Table 2-13. Pin Mapping Between Chip and In-package Flash/ PSRAM
Pin Pin Name Single SPI Dual SPI Quad SPI / QPI Octal SPI / OPI
No. Flash PSRAM Flash PSRAM Flash PSRAM Flash PSRAM
33 SPICLK CLK CLK CLK CLK CLK CLK CLK CLK
32 SPICS0 1 CS# CS# CS# CS#
28 SPICS1 2 CE# CE# CE# CE#
35 SPID DI SI/SIO0 DI SI/SIO0 DI SI/SIO0 DQ0 DQ0
34 SPIQ DO SO/SIO1 DO SO/SIO1 DO SO/SIO1 DQ1 DQ1
31 SPIWP WP# SIO2 WP# SIO2 WP# SIO2 DQ2 DQ2
30 SPIHD HOLD# SIO3 HOLD# SIO3 HOLD# SIO3 DQ3 DQ3
38 GPIO33 DQ4 DQ4
39 GPIO34 DQ5 DQ5
40 GPIO35 DQ6 DQ6
41 GPIO36 DQ7 DQ7
42 GPIO37 DQS/DM DQS/DM
1 CS0 is for in-package flash
2 CS1 is for in-package PSRAM
3 Boot Configurations
The chip allows for configuring the following boot parameters through strapping pins and eFuse bits at
power-up or a hardware reset, without microcontroller interaction.
• VDD_SPI voltage
The default values of all the above eFuse bits are 0, which means that they are not burnt. Given that eFuse is
one-time programmable, once an eFuse bit is programmed to 1, it can never be reverted to 0. For how to
program eFuse bits, please refer to ESP32-S3 Technical Reference Manual > Chapter eFuse Controller.
The default values of the strapping pins, namely the logic levels, are determined by pins’ internal weak
pull-up/pull-down resistors at reset if the pins are not connected to any circuit, or connected to an external
high-impedance circuit.
To change the bit values, the strapping pins should be connected to external pull-down/pull-up resistances. If
the ESP32-S3 is used as a device by a host MCU, the strapping pin voltage levels can also be controlled by
the host MCU.
All strapping pins have latches. At system reset, the latches sample the bit values of their respective strapping
pins and store them until the chip is powered down or shut down. The states of latches cannot be changed in
any other way. It makes the strapping pin values available during the entire chip operation, and the pins are
freed up to be used as regular IO pins after reset.
The timing of signals connected to the strapping pins should adhere to the setup time and hold time
specifications in Table 3-2 and Figure 3-1.
tSU tH
VIL_nRST
CHIP_PU
VIH
Strapping pin
In SPI Boot mode, the ROM bootloader loads and executes the program from SPI flash to boot the
system.
In Joint Download Boot mode, users can download binary files into flash using UART0 or USB interface. It is
also possible to download binary files into SRAM and execute it from SRAM.
In addition to SPI Boot and Joint Download Boot modes, ESP32-S3 also supports SPI Download Boot mode.
For details, please see ESP32-S3 Technical Reference Manual > Chapter Chip Boot Control.
Depending on the value of EFUSE_VDD_SPI_FORCE, the voltage can be controlled in two ways.
• UART0
The ROM messages printing to UART or USB Serial/JTAG controller can be respectively disabled by configuring
registers and eFuse. For detailed information, please refer to ESP32-S3 Technical Reference Manual >
Chapter Chip Boot Control.
As Table 3-5 shows, GPIO3 is used in combination with EFUSE_DIS_PAD_JTAG, EFUSE_DIS_USB_JTAG, and
EFUSE_STRAP_JTAG_SEL.
4 Functional Description
4.1 System
This section describes the core of the chip’s operation, covering its microprocessor, memory organization,
system components, and security features.
4.1.1.1 CPU
Feature List
• 32-bit customized instruction set and 128-bit data bus that provide high computing performance
For information about the Xtensa® Instruction Set Architecture, please refer to
Xtensa® Instruction Set Architecture (ISA) Summary.
ESP32-S3 contains a series of new extended instruction set in order to improve the operation efficiency of
specific AI and DSP (Digital Signal Processing) algorithms.
Feature List
• 128-bit vector operations, e.g., complex multiplication, addition, subtraction, multiplication, shifting,
comparison, etc
• Saturation operation
For details, see ESP32-S3 Technical Reference Manual > Chapter Processor Instruction Extensions.
The ULP coprocessor is designed as a simplified, low-power replacement of CPU in sleep modes. It can be
also used to supplement the functions of the CPU in normal working mode. The ULP coprocessor and RTC
memory remain powered up during the Deep-sleep mode. Hence, the developer can store a program for the
ULP coprocessor in the RTC slow memory to access RTC GPIO, RTC peripheral devices, RTC timers and
internal sensors in Deep-sleep mode.
ESP32-S3 has two ULP coprocessors, one based on RISC-V instruction set architecture (ULP-RISC-V) and the
other on finite state machine (ULP-FSM). The clock of the coprocessors is the internal fast RC oscillator.
Feature List
• ULP-RISC-V:
• ULP-FSM:
– Support for common instructions including arithmetic, jump, and program control instructions
Note:
Note that these two coprocessors cannot work simultaneously.
For details, see ESP32-S3 Technical Reference Manual > Chapter ULP Coprocessor.
ESP32-S3 has a general-purpose DMA controller (GDMA) with five independent channels for transmitting and
another five independent channels for receiving. These ten channels are shared by peripherals that have DMA
feature, and support dynamic priority.
The GDMA controller controls data transfer using linked lists. It allows peripheral-to-memory and
memory-to-memory data transfer at a high speed. All channels can access internal and external RAM.
The ten peripherals on ESP32-S3 with DMA feature are SPI2, SPI3, UHCI0, I2S0, I2S1, LCD/CAM, AES, SHA,
ADC, and RMT.
For details, see ESP32-S3 Technical Reference Manual > Chapter GDMA Controller.
Note:
The memory space with gray background is not available to users.
The internal memory of ESP32-S3 refers to the memory integrated on the chip die or in the chip package,
including ROM, SRAM, eFuse, and flash.
Feature List
• 512 KB on-chip SRAM: for data and instructions, running at a configurable frequency of up to 240 MHz
• RTC FAST memory: 8 KB SRAM that supports read/write/instruction fetch by the main CPU (LX7
dual-core processor). It can retain data in Deep-sleep mode
• RTC SLOW Memory: 8 KB SRAM that supports read/write/instruction fetch by the main CPU (LX7
dual-core processor) or coprocessors. It can retain data in Deep-sleep mode
• 4 Kbit eFuse: 1792 bits are available for users, such as encryption key and device ID. See also Section
4.1.2.4 eFuse Controller
• In-package flash:
For details, see ESP32-S3 Technical Reference Manual > Chapter System and Memory.
ESP32-S3 supports SPI, Dual SPI, Quad SPI, Octal SPI, QPI, and OPI interfaces that allow connection to
multiple external flash and RAM.
The external flash and RAM can be mapped into the CPU instruction memory space and read-only data
memory space. The external RAM can also be mapped into the CPU data memory space. ESP32-S3 supports
up to 1 GB of external flash and RAM, and hardware encryption/decryption based on XTS-AES to protect users’
programs and data in flash and external RAM.
• External RAM mapped into 32 MB data space as individual blocks of 64 KB. 8-bit, 16-bit, 32-bit, and
128-bit reads and writes are supported. External flash can also be mapped into 32 MB data space as
individual blocks of 64 KB, but only supporting 8-bit, 16-bit, 32-bit and 128-bit reads.
Note:
After ESP32-S3 is initialized, firmware can customize the mapping of external RAM or flash into the CPU address space.
For details, see ESP32-S3 Technical Reference Manual > Chapter System and Memory.
4.1.2.3 Cache
ESP32-S3 has an instruction cache and a data cache shared by the two CPU cores. Each cache can be
partitioned into multiple banks.
Feature List
• Block size of 16 bytes or 32 bytes for both instruction cache and data cache
• Pre-load function
• Lock function
For details, see ESP32-S3 Technical Reference Manual > Chapter System and Memory.
ESP32-S3 contains a 4-Kbit eFuse to store parameters, which are burned and read by an eFuse
controller.
Feature List
• 4 Kbits in total, with 1792 bits reserved for users, e.g., encryption key and device ID
For details, see ESP32-S3 Technical Reference Manual > Chapter eFuse Controller.
The IO MUX and GPIO Matrix in the ESP32-S3 chip provide flexible routing of peripheral input and output
signals to the GPIO pins. These peripherals enhance the functionality and performance of the chip by allowing
the configuration of I/O, support for multiplexing, and signal synchronization for peripheral inputs.
Feature List
• GPIO Matrix:
– A full-switching matrix between the peripheral input/output signals and the GPIO pins
– 175 digital peripheral input signals can be sourced from the input of any GPIO pins
– The output of any GPIO pins can be from any of the 184 digital peripheral output signals
– Supports signal synchronization for peripheral inputs based on APB clock bus
• IO MUX:
– Provides one configuration register IO_MUX_GPIOn_REG for each GPIO pin. The pin can be
configured to
– Supports some high-speed digital signals (SPI, JTAG, UART) bypassing GPIO matrix for better
high-frequency digital performance (IO MUX is used to connect these pins directly to peripherals)
• RTC IO MUX:
For details, see ESP32-S3 Technical Reference Manual > Chapter IO MUX and GPIO Matrix.
4.1.3.2 Reset
ESP32-S3 provides four reset levels, namely CPU Reset, Core Reset, System Reset, and Chip Reset.
Feature List
– CPU Reset: only resets CPUx core. CPUx can be CPU0 or CPU1 here. Once such reset is released,
programs will be executed from CPUx reset vector. Each CPU core has its own reset logic. If CPU
Reset is from CPU0, the sensitive registers will be reset, too.
– Core Reset: resets the whole digital system except RTC, including CPU0, CPU1, peripherals, Wi-Fi,
Bluetooth® LE (BLE), and digital GPIOs.
For details, see ESP32-S3 Technical Reference Manual > Chapter Reset and Clock.
4.1.3.3 Clock
CPU Clock
• PLL clock
The application can select the clock source from the three clocks above. The selected clock source drives
the CPU clock directly, or after division, depending on the application. Once the CPU is reset, the default
clock source would be the external main crystal clock divided by 2.
Note:
ESP32-S3 is unable to operate without an external main crystal clock.
RTC Clock
The RTC slow clock is used for RTC counter, RTC watchdog and low-power controller. It has three possible
sources:
• Internal fast RC oscillator divided clock (derived from the internal fast RC oscillator divided by 256)
The RTC fast clock is used for RTC peripherals and sensor controllers. It has two possible sources:
For details, see ESP32-S3 Technical Reference Manual > Chapter Reset and Clock.
The interrupt matrix embedded in ESP32-S3 independently allocates peripheral interrupt sources to the two
CPUs’ peripheral interrupts, to timely inform CPU0 or CPU1 to process the interrupts once the interrupt signals
are generated.
Feature List
Note that the remaining six CPU0 interrupts and six CPU1 interrupts are internal interrupts.
For details, see ESP32-S3 Technical Reference Manual > Chapter Interrupt Matrix.
ESP32-S3 has an advanced Power Management Unit (PMU). It can be flexibly configured to power up
different power domains of the chip to achieve the best balance between chip performance, power
consumption, and wakeup latency.
The integrated Ultra-Low-Power (ULP) coprocessors allow ESP32-S3 to operate in Deep-sleep mode with
most of the power domains turned off, thus achieving extremely low-power consumption.
Configuring the PMU is a complex procedure. To simplify power management for typical scenarios, there are
the following predefined power modes that power up different combinations of power domains:
• Active mode – The CPU, RF circuits, and all peripherals are on. The chip can process data, receive,
transmit, and listen.
• Modem-sleep mode – The CPU is on, but the clock frequency can be reduced. The wireless
connections can be configured to remain active as RF circuits are periodically switched on when
required.
• Light-sleep mode – The CPU stops running, and can be optionally powered on. The RTC peripherals, as
well as the ULP coprocessor can be woken up periodically by the timer. The chip can be woken up via
all wake up mechanisms: MAC, RTC timer, or external interrupts. Wireless connections can remain active.
Some groups of digital peripherals can be optionally powered off.
• Deep-sleep mode – Only RTC is powered on. Wireless connection data is stored in RTC memory.
For power consumption in different power modes, see Section 5.6 Current Consumption.
Figure 4-2 Components and Power Domains and the following Table 4-1 show the distribution of chip
components between power domains and power subdomains .
CPU System
SPI0/1 I2C GPIO TWAI® Timer
Xtensa® Dual- JTAG
core 32-bit LX7 Camera USB Serial/ General-
I2S UART
Microprocessor Cache Interface JTAG purpose
Timers
World Interrupt Pulse LCD Flash
RMT
Controller Matrix Counter Interface Encryption
Main System
Watchdog
ROM SRAM DIG ADC RNG MCPWM LED PWM Timers
Power distribution
Power domain
Power subdomain
ESP32-S3 integrates a 52-bit system timer, which has two 52-bit counters and three comparators.
Feature List
• Read sleep time from RTC timer when the chip is awaken from Deep-sleep or Light-sleep mode
For details, see ESP32-S3 Technical Reference Manual > Chapter System Timer.
ESP32-S3 is embedded with four 54-bit general-purpose timers, which are based on 16-bit prescalers and
54-bit auto-reload-capable up/down-timers.
Feature List
For details, see ESP32-S3 Technical Reference Manual > Chapter Timer Group.
ESP32-S3 contains three watchdog timers: one in each of the two timer groups (called Main System
Watchdog Timers, or MWDT) and one in the RTC Module (called the RTC Watchdog Timer, or RWDT).
During the flash boot process, RWDT and the first MWDT are enabled automatically in order to detect and
recover from booting errors.
Feature List
• Four stages:
– Interrupt, CPU reset, core reset, or system reset occurs for RWDT
• Write protection, to prevent RWDT and MWDT configuration from being altered inadvertently
• Flash boot protection: If the boot process from an SPI flash does not complete within a predetermined
period of time, the watchdog will reboot the entire main system
For details, see ESP32-S3 Technical Reference Manual > Chapter Watchdog Timers.
When the XTAL32K watchdog timer detects the oscillation failure of XTAL32K_CLK, an oscillation failure
interrupt RTC_XTAL32K_DEAD_INT (for interrupt description, please refer to
ESP32-S3 Technical Reference Manual > Chapter Low-power Management) is generated. At this point, the
CPU will be woken up if in Light-sleep mode or Deep-sleep mode.
BACKUP32K_CLK
Once the XTAL32K watchdog timer detects the oscillation failure of XTAL32K_CLK, it replaces XTAL32K_CLK
with BACKUP32K_CLK (with a frequency of 32 kHz or so) derived from RTC_CLK as RTC’s SLOW_CLK, so as to
ensure proper functioning of the system.
For details, see ESP32-S3 Technical Reference Manual > Chapter XTAL32K Watchdog Timers.
In ESP32-S3, the Permission Control module is used to control access to the slaves (including internal
memory, peripherals, external flash, and RAM). The host can access its slave only if it has the right permission.
In this way, data and instructions are protected from illegitimate read or write.
The ESP32-S3 CPU can run in both Secure World and Non-secure World where independent permission
controls are adopted. The Permission Control module is able to identify which World the host is running and
then proceed with its normal operations.
Feature List
– CPU
– GDMA
– MMU
– SPI1
– GDMA
– All permission registers can be locked with the permission lock register. Once locked, the
permission register and the lock register cannot be modified, unless the CPU is reset.
– In case of illegitimate access, the permission monitor interrupt will be triggered and the CPU will be
informed to handle the interrupt.
For details, see ESP32-S3 Technical Reference Manual > Chapter Permission Control.
ESP32-S3 can divide the hardware and software resources into a Secure World and a Non-Secure World to
prevent sabotage or access to device information. Switching between the two worlds is performed by the
World Controller.
Feature List
For details, see ESP32-S3 Technical Reference Manual > Chapter World Controller.
ESP32-S3 system registers can be used to control the following peripheral blocks and core modules:
• Clock
• Software Interrupt
• Low-power management
• CPU Control
For details, see ESP32-S3 Technical Reference Manual > Chapter System Registers.
ESP32-S3 integrates an SHA accelerator, which is a hardware device that speeds up SHA algorithm
significantly.
Feature List
– SHA-1
– SHA-224
– SHA-256
– SHA-384
– SHA-512
– SHA-512/224
– SHA-512/256
– SHA-512/t
– Typical SHA
– DMA-SHA
For details, see ESP32-S3 Technical Reference Manual > Chapter SHA Accelerator.
ESP32-S3 integrates an Advanced Encryption Standard (AES) Accelerator, which is a hardware device that
speeds up AES algorithm significantly.
Feature List
* CTR (Counter)
For details, see ESP32-S3 Technical Reference Manual > Chapter AES Accelerator.
The RSA Accelerator provides hardware support for high precision computation used in various RSA
asymmetric cipher algorithms.
Feature List
For details, see ESP32-S3 Technical Reference Manual > Chapter RSA Accelerator.
Secure Boot feature uses a hardware root of trust to ensure only signed firmware (with RSA-PSS signature) can
be booted.
The Hash-based Message Authentication Code (HMAC) module computes Message Authentication Codes
(MACs) using Hash algorithm and keys as described in RFC 2104.
Feature List
• Hash result only accessible by configurable hardware peripheral (in downstream mode)
• Generates required keys for the Digital Signature (DS) peripheral (in downstream mode)
For details, see ESP32-S3 Technical Reference Manual > Chapter HMAC Accelerator.
A Digital Signature is used to verify the authenticity and integrity of a message using a cryptographic
algorithm.
Feature List
For details, see ESP32-S3 Technical Reference Manual > Chapter Digital Signature.
ESP32-S3 integrates an External Memory Encryption and Decryption module that complies with the XTS-AES
standard.
Feature List
• Encryption and decryption functions jointly determined by registers configuration, eFuse parameters,
and boot mode
For details, see ESP32-S3 Technical Reference Manual > Chapter External Memory Encryption and
Decryption.
The Clock Glitch Detection module on ESP32-S3 monitors input clock signals from XTAL_CLK. If it detects a
glitch with a width shorter than 3 ns, input clock signals from XTAL_CLK are blocked.
For details, see ESP32-S3 Technical Reference Manual > Chapter Clock Glitch Detection.
The random number generator (RNG) in ESP32-S3 generates true random numbers, which means random
number generated from a physical process, rather than by means of an algorithm. No number generated
within the specified range is more or less likely to appear than any other number.
For details, see ESP32-S3 Technical Reference Manual > Chapter Random Number Generator.
4.2 Peripherals
This section describes the chip’s peripheral capabilities, covering connectivity interfaces and on-chip sensors
that extend its functionality.
ESP32-S3 has three UART (Universal Asynchronous Receiver Transmitter) controllers, i.e., UART0, UART1, and
UART2, which support IrDA and asynchronous communication (RS232 and RS485) at a speed of up to 5
Mbps.
Feature List
• 1024 x 8-bit RAM shared by TX FIFOs and RX FIFOs of the three UART controllers
• Parity bit
• RS485 protocol
• IrDA protocol
For details, see ESP32-S3 Technical Reference Manual > Chapter UART Controller.
Pin Assignment
• UART0
– The pins U0TXD and U0RXD that are connected to transmit and receive signals are multiplexed with
GPIO43 ~ GPIO44 via IO MUX, and can also be connected to any GPIO via the GPIO Matrix.
– The pins U0RTS and U0CTS that are connected to hardware flow control signals are multiplexed
with GPIO15 ~ GPIO16, RTC_GPIO15 ~ RTC_GPIO16, XTAL_32K_P and XTAL_32K_N, and SAR ADC2
interface via IO MUX, and can also be connected to any GPIO via the GPIO Matrix.
– The pins U0DTR and U0DSR that are connected to hardware flow control signals can be chosen
from any GPIO via the GPIO Matrix.
• UART1
– The pins U1TXD and U1RXD that are connected to transmit and receive signals are multiplexed with
GPIO17 ~ GPIO18, RTC_GPIO17 ~ RTC_GPIO18, and SAR ADC2 interface via IO MUX, and can also be
connected to any GPIO via the GPIO Matrix.
– The pins U1RTS and U1CTS that are connected to hardware flow control signals are multiplexed with
GPIO19 ~ GPIO20, RTC_GPIO19 ~ RTC_GPIO20, USB_D- and USB_D+ pins, and SAR ADC2 interface
via IO MUX, and can also be connected to any GPIO via the GPIO Matrix.
– The pins U1DTR and U1DSR that are connected to hardware flow control signals can be chosen
from any GPIO via the GPIO Matrix.
• UART2: The pins used can be chosen from any GPIO via the GPIO Matrix.
For more information about the pin assignment, see Section 2.3 IO Pins and
ESP32-S3 Technical Reference Manual > Chapter IO MUX and GPIO Matrix.
ESP32-S3 has two I2C bus interfaces which are used for I2C master mode or slave mode, depending on the
user’s configuration.
Feature List
The hardware provides a command abstraction layer to simplify the usage of the I2C peripheral.
For details, see ESP32-S3 Technical Reference Manual > Chapter I2C Controller.
Pin Assignment
For I2C, the pins used can be chosen from any GPIOs via the GPIO Matrix.
For more information about the pin assignment, see Section 2.3 IO Pins and
ESP32-S3 Technical Reference Manual > Chapter IO MUX and GPIO Matrix.
ESP32-S3 includes two standard I2S interfaces. They can operate in master mode or slave mode, in
full-duplex mode or half-duplex communication mode, and can be configured to operate with an 8-bit, 16-bit,
24-bit, or 32-bit resolution as an input or output channel. BCK clock frequency, from 10 kHz up to 40 MHz, is
supported.
The I2S interface has a dedicated DMA controller. It supports TDM PCM, TDM MSB alignment, TDM LSB
alignment, TDM Phillips, and PDM interface.
Pin Assignment
For I2S, the pins used can be chosen from any GPIOs via the GPIO Matrix.
For more information about the pin assignment, see Section 2.3 IO Pins and
ESP32-S3 Technical Reference Manual > Chapter IO MUX and GPIO Matrix.
The LCD and Camera controller of ESP32-S3 consists of a LCD module and a camera module.
The LCD module is designed to send parallel video data signals, and its bus supports 8-bit ~ 16-bit parallel
RGB, I8080, and MOTO6800 interfaces. These interfaces operate at 40 MHz or lower, and support conversion
among RGB565, YUV422, YUV420, and YUV411.
The camera module is designed to receive parallel video data signals, and its bus supports an 8-bit ~ 16-bit
DVP image sensor, with clock frequency of up to 40 MHz. The camera interface supports conversion among
RGB565, YUV422, YUV420, and YUV411.
Pin Assignment
For LCD and Camera controller, the pins used can be chosen from any GPIOs via the GPIO Matrix.
For more information about the pin assignment, see Section 2.3 IO Pins and
ESP32-S3 Technical Reference Manual > Chapter IO MUX and GPIO Matrix.
• SPI0 used by ESP32-S3’s GDMA controller and cache to access in-package or off-package flash/PSRAM
• SPI2 is a general purpose SPI controller with access to a DMA channel allocated by the GDMA controller
• SPI3 is a general purpose SPI controller with access to a DMA channel allocated by the GDMA controller
Feature List
– Supports Single SPI, Dual SPI, Quad SPI, Octal SPI, QPI, and OPI modes
– 8-line SPI mode supports single data rate (SDR) and double data rate (DDR)
– Configurable clock frequency with a maximum of 120 MHz for 8-line SPI SDR/DDR modes
• SPI2:
– Supports Single SPI, Dual SPI, Quad SPI, Octal SPI, QPI, and OPI modes
– Configurable read and write data bit order: most-significant bit (MSB) first, or least-significant bit
(LSB) first
– As a master
* Full-duplex 8-line SPI mode supports single data rate (SDR) only
* Supports 1-, 2-, 4-, 8-line half-duplex communication with clock frequency up to 80 MHz
* Half-duplex 8-line SPI mode supports both single data rate (up to 80 MHz) and double data rate
(up to 40 MHz)
* Provides six SPI_CS pins for connection with six independent SPI slaves
– As a slave
* Supports 1-, 2-, 4-line half-duplex communication with clock frequency up to 60 MHz
* Full-duplex and half-duplex 8-line SPI mode supports single data rate (SDR) only
• SPI3:
– Supports Single SPI, Dual SPI, Quad SPI, and QPI modes
– Configurable read and write data bit order: most-significant bit (MSB) first, or least-significant bit
(LSB) first
– As a master
* Supports 1-, 2-, 4-line half-duplex communication with clock frequency up to 80 MHz
* Provides three SPI_CS pins for connection with three independent SPI slaves
– As a slave
* Supports 1-, 2-, 4-line half-duplex communication with clock frequency up to 60 MHz
For details, see ESP32-S3 Technical Reference Manual > Chapter SPI Controller.
Pin Assignment
• SPI0/1
– Via IO MUX:
* Interface 4a (see Table 2-4) is multiplexed with GPIO26 ~ GPIO32 via IO MUX. When used in
conjunction with 4b, it can operate as the lower 4 bits data line interface and the CLK, CS0, and
CS1 interfaces in 8-line SPI mode.
* Interface 4b (see Table 2-4) is multiplexed with GPIO33 ~ GPIO37 and SPI interfaces 4e and 4f
via IO MUX. When used in conjunction with 4a, it can operate as the higher 4 bits data line
interface and DQS interface in 8-line SPI mode.
* Interface 4d (see Table 2-4) is multiplexed with GPIO8 ~ GPIO14, RTC_GPIO8 ~ RTC_GPIO14,
Touch Sensor interface, SAR ADC interface, and SPI interfaces 4c and 4g via IO MUX. Note that
the fast SPI2 interface will not be available.
* Interface 4e (see Table 2-4) is multiplexed with GPIO33 ~ GPIO39, JTAG MTCK interface, and
SPI interfaces 4b and 4f via IO MUX. It is an alternative group of signal lines that can be used if
SPI0/1 does not use 8-line SPI connection.
– Via GPIO Matrix: The pins used can be chosen from any GPIOs via the GPIO Matrix.
• SPI2
– Via IO MUX:
* Interface 4c (see Table 2-4) is multiplexed with GPIO9 ~ GPIO14, RTC_GPIO9 ~ RTC_GPIO14,
Touch Sensor interface, SAR ADC interface, and SPI interfaces 4d and 4g via IO MUX. It is the
SPI2 main interface for fast SPI connection.
* (not recommended) Interface 4f (see Table 2-4) is multiplexed with GPIO33 ~ GPIO38, SPI
interfaces 4e and 4b via IO MUX. It is the alternative SPI2 interface if the main SPI2 is not
available. Its performance is comparable to SPI2 via GPIO matrix, so use the GPIO matrix
instead.
* (not recommended) Interface 4g (see Table 2-4) is multiplexed with GPIO10 ~ GPIO14,
RTC_GPIO10 ~ RTC_GPIO14, Touch Sensor interface, SAR ADC interface, and SPI interfaces 4c
and 4d via IO MUX. It is the alternative SPI2 interface signal lines for 8-line SPI connection.
– Via GPIO Matrix: The pins used can be chosen from any GPIOs via the GPIO Matrix.
• SPI3: The pins used can be chosen from any GPIOs via the GPIO Matrix.
For more information about the pin assignment, see Section 2.3 IO Pins and
ESP32-S3 Technical Reference Manual > Chapter IO MUX and GPIO Matrix.
The Two-Wire Automotive Interface (TWAI® ) is a multi-master, multi-cast communication protocol with error
detection and signaling as well as inbuilt message priorities and arbitration.
Feature List
• Standard frame format (11-bit ID) and extended frame format (29-bit ID)
– Normal
– Listen Only
– Error counters
For details, see ESP32-S3 Technical Reference Manual > Chapter Two-wire Automotive Interface.
Pin Assignment
For TWAI, the pins used can be chosen from any GPIOs via the GPIO Matrix.
For more information about the pin assignment, see Section 2.3 IO Pins and
ESP32-S3 Technical Reference Manual > Chapter IO MUX and GPIO Matrix.
ESP32-S3 features a full-speed USB OTG interface along with an integrated transceiver. The USB OTG
interface complies with the USB 2.0 specification.
General Features
– Slave mode
• Utilizing integrated transceiver with USB Serial/JTAG by time-division multiplexing when only integrated
transceiver is used
• Support USB OTG using one of the transceivers while USB Serial/JTAG using the other one when both
integrated transceiver or external transceiver are used
• Endpoint number 0 always present (bi-directional, consisting of EP0 IN and EP0 OUT)
• Maximum of five IN endpoints concurrently active at any time (including EP0 IN)
– A control pipe consists of two channels (IN and OUT), as IN and OUT transactions must be handled
separately. Only Control transfer type is supported.
– Each of the other seven channels is dynamically configurable to be IN or OUT, and supports Bulk,
Isochronous, and Interrupt transfer types.
• All channels share an RX FIFO, non-periodic TX FIFO, and periodic TX FIFO. The size of each FIFO is
configurable.
For details, see ESP32-S3 Technical Reference Manual > Chapter USB On-The-Go.
Pin Assignment
When using the on-chip PHY, the differential signal pins USB_D- and USB_D+ of the USB OTG are multiplexed
with GPIO19 ~ GPIO20, RTC_GPIO19 ~ RTC_GPIO20, UART1 interface, and SAR ADC2 interface via IO
MUX.
When using external PHY, the USB OTG pins are multiplexed with GPIO21, RTC_GPIO21, GPIO38 ~ GPIO42, and
SPI interface via IO MUX:
For more information about the pin assignment, see Section 2.3 IO Pins and
ESP32-S3 Technical Reference Manual > Chapter IO MUX and GPIO Matrix.
Feature List
• Can be configured to either use internal USB PHY of ESP32-S3 or external PHY via GPIO matrix.
• Fixed function device, hardwired for CDC-ACM (Communication Device Class - Abstract Control Model)
and JTAG adapter functionality.
• Two OUT Endpoints, three IN Endpoints in addition to Control Endpoint 0; Up to 64-byte data payload
size.
• Internal PHY, so no or very few external components needed to connect to a host computer.
• JTAG interface allows fast communication with CPU debug core using a compact representation of JTAG
instructions.
• CDC-ACM supports host controllable chip reset and entry into download mode.
For details, see ESP32-S3 Technical Reference Manual > Chapter USB Serial/JTAG Controller.
Pin Assignment
When using the on-chip PHY, the differential signal pins USB_D- and USB_D+ of the USB Serial/JTAG
controller are multiplexed with GPIO19 ~ GPIO20, RTC_GPIO19 ~ RTC_GPIO20, UART1 interface, and SAR ADC2
interface via IO MUX.
When using external PHY, the USB Serial/JTAG controller pins are multiplexed with GPIO38 ~ GPIO42 and SPI
interface via IO MUX:
For more information about the pin assignment, see Section 2.3 IO Pins and
ESP32-S3 Technical Reference Manual > Chapter IO MUX and GPIO Matrix.
Feature List
• Multimedia Cards (MMC version 4.41, eMMC version 4.5 and version 4.51)
– 1-bit
– 4-bit (supports two SD/SDIO/MMC 4.41 cards, and one SD card operating at 1.8 V in 4-bit mode)
– 8-bit
For details, see ESP32-S3 Technical Reference Manual > Chapter SD/MMC Host Controller.
Pin Assignment
For SD/MMC Host, the pins used can be chosen from any GPIOs via the GPIO Matrix.
For more information about the pin assignment, see Section 2.3 IO Pins and
ESP32-S3 Technical Reference Manual > Chapter IO MUX and GPIO Matrix.
The LED PWM controller can generate independent digital waveforms on eight channels.
Feature List
• Can generate a digital waveform with configurable periods and duty cycle. The duty cycle resolution can
be up to 14 bits within a 1 ms period
• Multiple clock sources, including APB clock and external main crystal clock
• Gradual increase or decrease of duty cycle, useful for the LED RGB color-fading generator
For details, see ESP32-S3 Technical Reference Manual > Chapter LED PWM Controller.
Pin Assignment
For LED PWM, the pins used can be chosen from any GPIOs via the GPIO Matrix.
For more information about the pin assignment, see Section 2.3 IO Pins and
ESP32-S3 Technical Reference Manual > Chapter IO MUX and GPIO Matrix.
ESP32-S3 integrates two MCPWMs that can be used to drive digital motors and smart light. Each MCPWM
peripheral has one clock divider (prescaler), three PWM timers, three PWM operators, and a capture module.
PWM timers are used for generating timing references. The PWM operators generate desired waveform based
on the timing references. Any PWM operator can be configured to use the timing references of any PWM
timers. Different PWM operators can use the same PWM timer’s timing references to produce related PWM
signals. PWM operators can also use different PWM timers’ values to produce the PWM signals that work
alone. Different PWM timers can also be synchronized together.
For details, see ESP32-S3 Technical Reference Manual > Chapter Motor Control PWM.
Pin Assignment
For MCPWM, the pins used can be chosen from any GPIOs via the GPIO Matrix.
For more information about the pin assignment, see Section 2.3 IO Pins and
ESP32-S3 Technical Reference Manual > Chapter IO MUX and GPIO Matrix.
The Remote Control Peripheral (RMT) is designed to send and receive infrared remote control signals.
Feature List
• Four TX channels
• Four RX channels
• Wrap TX mode
• Wrap RX mode
• Continuous TX mode
For details, see ESP32-S3 Technical Reference Manual > Chapter Remote Control Peripheral.
Pin Assignment
For RMT, the pins used can be chosen from any GPIOs via the GPIO Matrix.
For more information about the pin assignment, see Section 2.3 IO Pins and
ESP32-S3 Technical Reference Manual > Chapter IO MUX and GPIO Matrix.
The pulse count controller (PCNT) captures pulse and counts pulse edges through multiple modes.
Feature List
• Each unit consists of two independent channels sharing one pulse counter
• All channels have input pulse signals (e.g. sig_ch0_un) with their corresponding control signals (e.g.
ctrl_ch0_un)
• Independently filter glitches of input pulse signals (sig_ch0_un and sig_ch1_un) and control signals
(ctrl_ch0_un and ctrl_ch1_un) on each unit
1. Selection between counting on positive or negative edges of the input pulse signal
2. Configuration to Increment, Decrement, or Disable counter mode for control signal’s high and low
states
For details, see ESP32-S3 Technical Reference Manual > Chapter Pulse Count Controller.
Pin Assignment
For pulse count controller, the pins used can be chosen from any GPIOs via the GPIO Matrix.
For more information about the pin assignment, see Section 2.3 IO Pins and
ESP32-S3 Technical Reference Manual > Chapter IO MUX and GPIO Matrix.
ESP32-S3 integrates two 12-bit SAR ADCs and supports measurements on 20 channels (analog-enabled pins).
For power-saving purpose, the ULP coprocessors in ESP32-S3 can also be used to measure voltage in sleep
modes. By using threshold settings or other methods, we can awaken the CPU from sleep modes.
Note:
Please note that the ADC2_CH… analog functions (see Table 2-8 Analog Functions) cannot be used with Wi-Fi simul-
taneously.
For more details, see ESP32-S3 Technical Reference Manual > Chapter On-Chip Sensors and Analog Signal
Processing.
Pin Assignment
The pins for the SAR ADC are multiplexed with GPIO1 ~ GPIO20, RTC_GPIO1 ~ RTC_GPIO20, Touch Sensor
interface, SPI interface, UART interface, and USB_D- and USB_D+ pins via IO MUX.
For more information about the pin assignment, see Section 2.3 IO Pins and
ESP32-S3 Technical Reference Manual > Chapter IO MUX and GPIO Matrix.
The temperature sensor generates a voltage that varies with temperature. The voltage is internally converted
via an ADC into a digital value.
The temperature sensor has a range of 20 °C to 110 °C. It is designed primarily to sense the temperature
changes inside the chip. The temperature value depends on factors such as microcontroller clock frequency
or I/O load. Generally, the chip’s internal temperature is higher than the ambient temperature.
For more details, see ESP32-S3 Technical Reference Manual > Chapter On-Chip Sensors and Analog Signal
Processing.
ESP32-S3 has 14 capacitive-sensing GPIOs, which detect variations induced by touching or approaching the
GPIOs with a finger or other objects. The low-noise nature of the design and the high sensitivity of the circuit
allow relatively small pads to be used. Arrays of pads can also be used, so that a larger area or more points
can be detected. The touch sensing performance can be further enhanced by the waterproof design and
digital filtering feature.
Note:
ESP32-S3 touch sensor has not passed the Conducted Susceptibility (CS) test for now, and thus has limited application
scenarios.
For more details, see ESP32-S3 Technical Reference Manual > Chapter On-Chip Sensors and Analog Signal
Processing.
Pin Assignment
The pins for touch sensor are multiplexed with GPIO1 ~ GPIO14, RTC_GPIO1 ~ RTC_GPIO14, SAR ADC interface,
and SPI interface via IO MUX.
For more information about the pin assignment, see Section 2.3 IO Pins and
ESP32-S3 Technical Reference Manual > Chapter IO MUX and GPIO Matrix.
4.3.1 Radio
This subsection describes the fundamental radio technology embedded in the chip that facilitates wireless
communication and data exchange.
The 2.4 GHz receiver demodulates the 2.4 GHz RF signal to quadrature baseband signals and converts them
to the digital domain with two high-resolution, high-speed ADCs. To adapt to varying signal channel
conditions, ESP32-S3 integrates RF filters, Automatic Gain Control (AGC), DC offset cancelation circuits, and
baseband filters.
The 2.4 GHz transmitter modulates the quadrature baseband signals to the 2.4 GHz RF signal, and drives the
antenna with a high-powered CMOS power amplifier. The use of digital calibration further improves the linearity
of the power amplifier.
To compensate for receiver imperfections, additional calibration methods are built into the chip,
including:
• RF nonlinearities suppression
• Antenna matching
These built-in calibration routines reduce the cost and time to the market for your product, and eliminate the
need for specialized testing equipment.
The clock generator produces quadrature clock signals of 2.4 GHz for both the receiver and the transmitter. All
components of the clock generator are integrated into the chip, including inductors, varactors, filters,
regulators, and dividers.
The clock generator has built-in calibration and self-test circuits. Quadrature clock phases and phase noise
are optimized on chip with patented calibration algorithms which ensure the best performance of the receiver
and the transmitter.
4.3.2 Wi-Fi
This subsection describes the chip’s Wi-Fi capabilities, which facilitate wireless communication at a high data
rate.
The ESP32-S3 Wi-Fi radio and baseband support the following features:
• 802.11b/g/n
• 802.11n MCS32
• Antenna diversity:
ESP32-S3 supports antenna diversity with an external RF switch. This switch is controlled by one or
more GPIOs, and used to select the best antenna to minimize the effects of channel imperfections.
ESP32-S3 implements the full 802.11b/g/n Wi-Fi MAC protocol. It supports the Basic Service Set (BSS) STA
and SoftAP operations under the Distributed Control Function (DCF). Power management is handled
automatically with minimal host interaction to minimize the active duty period.
The ESP32-S3 Wi-Fi MAC applies the following low-level protocol functions automatically:
• Simultaneous Infrastructure BSS Station mode, SoftAP mode, and Station + SoftAP mode
• TXOP
• WMM
• 802.11mc FTM
Users are provided with libraries for TCP/IP networking, ESP-WIFI-MESH networking, and other networking
protocols over Wi-Fi. TLS 1.2 support is also provided.
4.3.3 Bluetooth LE
This subsection describes the chip’s Bluetooth capabilities, which facilitate wireless communication for
low-power, short-range applications. ESP32-S3 includes a Bluetooth Low Energy subsystem that integrates a
hardware link layer controller, an RF/modem block and a feature-rich software protocol stack. It supports the
core features of Bluetooth 5 and Bluetooth mesh.
• 1 Mbps PHY
• 2 Mbps PHY for high transmission speed and high data throughput
• Coded PHY for high RX sensitivity and long range (125 Kbps and 500 Kbps)
• LE advertising extensions, to enhance broadcasting capacity and broadcast more intelligent data
• LE privacy 1.2
• LE Ping
5 Electrical Characteristics
1 To get better DNL results, you can sample multiple times and
apply a filter, or calculate the average value.
2 kSPS means kilo samples-per-second.
The calibrated ADC results after hardware calibration and software calibration are shown in Table 5-6. For
higher accuracy, you may implement your own calibration methods.
5.7 Reliability
6 RF Characteristics
This section contains tables with RF characteristics of the Espressif product.
The RF data is measured at the antenna port, where RF cable is connected, including the front-end loss. The
front-end circuit is a 0 Ω resistor.
Devices should operate in the center frequency range allocated by regional regulatory authorities. The target
center frequency range and the target transmit power are configurable by software. See ESP RF Test Tool and
Test Guide for instructions.
Unless otherwise stated, the RF tests are conducted with a 3.3 V (±5%) supply at 25 ºC ambient temperature.
Table 6-2. TX Power with Spectral Mask and EVM Meeting 802.11 Standards
7 Packaging
• For information about tape, reel, and product marking, please refer to
Espressif Chip Packaging Information.
• The pins of the chip are numbered in anti-clockwise order starting from Pin 1 in the top view. For pin
numbers and pin names, see also Figure 2-1 ESP32-S3 Pin Layout (Top View).
• The recommended land pattern source file (dxf) is available for download. You can view the file with
Autodesk Viewer.
• All ESP32-S3 chip variants have identical land pattern (see Figure 7-1) except ESP32-S3FH4R2 has a
bigger EPAD (see Figure 7-2). The source file (dxf) may be adopted for ESP32-S3FH4R2 by altering the
size of the EPAD (see dimensions D2 and E2 in Figure 7-2).
Pin 1 Pin 1
Pin 2 Pin 2
Pin 3 Pin 3
FOREHOPE ELECTRONIC
19 GPIO14 IO VDD3P3_RTC IE RTC_GPIO14 TOUCH14 ADC2_CH3 GPIO14 I/O/T GPIO14 I/O/T FSPIDQS O/T SUBSPIWP I1/O/T FSPIWP I1/O/T
20 VDD3P3_RTC Power
21 XTAL_32K_P IO VDD3P3_RTC RTC_GPIO15 XTAL_32K_P ADC2_CH4 GPIO15 I/O/T GPIO15 I/O/T U0RTS O
22 XTAL_32K_N IO VDD3P3_RTC RTC_GPIO16 XTAL_32K_N ADC2_CH5 GPIO16 I/O/T GPIO16 I/O/T U0CTS I1
23 GPIO17 IO VDD3P3_RTC IE RTC_GPIO17 ADC2_CH6 GPIO17 I/O/T GPIO17 I/O/T U1TXD O
24 GPIO18 IO VDD3P3_RTC IE RTC_GPIO18 ADC2_CH7 GPIO18 I/O/T GPIO18 I/O/T U1RXD I1 CLK_OUT3 O
25 GPIO19 IO VDD3P3_RTC RTC_GPIO19 USB_D- ADC2_CH8 GPIO19 I/O/T GPIO19 I/O/T U1RTS O CLK_OUT2 O
26 GPIO20 IO VDD3P3_RTC USB_PU USB_PU RTC_GPIO20 USB_D+ ADC2_CH9 GPIO20 I/O/T GPIO20 I/O/T U1CTS I1 CLK_OUT1 O
78
41 GPIO36 IO VDD_SPI / VDD3P3_CPU IE GPIO36 I/O/T GPIO36 I/O/T FSPICLK I1/O/T SUBSPICLK O/T SPIIO7 I1/O/T
42 GPIO37 IO VDD_SPI / VDD3P3_CPU IE GPIO37 I/O/T GPIO37 I/O/T FSPIQ I1/O/T SUBSPIQ I1/O/T SPIDQS I0/O/T
43 GPIO38 IO VDD3P3_CPU IE GPIO38 I/O/T GPIO38 I/O/T FSPIWP I1/O/T SUBSPIWP I1/O/T
44 MTCK IO VDD3P3_CPU IE* MTCK I1 GPIO39 I/O/T CLK_OUT3 O SUBSPICS1 O/T
45 MTDO IO VDD3P3_CPU IE MTDO O/T GPIO40 I/O/T CLK_OUT2 O
46 VDD3P3_CPU Power
47 MTDI IO VDD3P3_CPU IE MTDI I1 GPIO41 I/O/T CLK_OUT1 O
48 MTMS IO VDD3P3_CPU IE MTMS I1 GPIO42 I/O/T
49 U0TXD IO VDD3P3_CPU IE, WPU IE, WPU U0TXD O GPIO43 I/O/T CLK_OUT1 O
50 U0RXD IO VDD3P3_CPU IE, WPU IE, WPU U0RXD I1 GPIO44 I/O/T CLK_OUT2 O
51 GPIO45 IO VDD3P3_CPU IE, WPD IE, WPD GPIO45 I/O/T GPIO45 I/O/T
52 GPIO46 IO VDD3P3_CPU IE, WPD IE, WPD GPIO46 I/O/T GPIO46 I/O/T
53 XTAL_N Analog
54 XTAL_P Analog
55 VDDA Power
56 VDDA Power
57 GND Power
* For details, see Section 2 Pins. Regarding highlighted cells, see Section 2.3.4 Restrictions for GPIOs and RTC_GPIOs.
Related Documentation and Resources
Developer Zone
• ESP-IDF Programming Guide for ESP32-S3 – Extensive documentation for the ESP-IDF development framework.
• ESP-IDF and other development frameworks on GitHub.
https://github.com/espressif
• ESP32 BBS Forum – Engineer-to-Engineer (E2E) Community for Espressif products where you can post questions,
share knowledge, explore ideas, and help solve problems with fellow engineers.
https://esp32.com/
• The ESP Journal – Best Practices, Articles, and Notes from Espressif folks.
https://blog.espressif.com/
• See the tabs SDKs and Demos, Apps, Tools, AT Firmware.
https://espressif.com/en/support/download/sdks-demos
Products
• ESP32-S3 Series SoCs – Browse through all ESP32-S3 SoCs.
https://espressif.com/en/products/socs?id=ESP32-S3
• ESP32-S3 Series Modules – Browse through all ESP32-S3-based modules.
https://espressif.com/en/products/modules?id=ESP32-S3
• ESP32-S3 Series DevKits – Browse through all ESP32-S3-based devkits.
https://espressif.com/en/products/devkits?id=ESP32-S3
• ESP Product Selector – Find an Espressif hardware product suitable for your needs by comparing or applying filters.
https://products.espressif.com/#/product-selector?language=en
Contact Us
• See the tabs Sales Questions, Technical Enquiries, Circuit Schematic & PCB Design Review, Get Samples
(Online stores), Become Our Supplier, Comments & Suggestions.
https://espressif.com/en/contact-us/sales-questions
Revision History