ESP32 Series: Datasheet
ESP32 Series: Datasheet
Including:
ESP32-D0WD-V3
ESP32-D0WDR2-V3
ESP32-U4WDH
www.espressif.com
Product Overview
ESP32 is a single 2.4 GHz Wi-Fi-and-Bluetooth combo chip designed with the TSMC low-power 40 nm
technology. It is designed to achieve the best power and RF performance, showing robustness, versatility and
reliability in a wide variety of applications and power scenarios.
• ESP32-S0WD (NRND), ESP32-D0WD (NRND), and ESP32-D0WDQ6 (NRND) are based on chip revision
v1 or chip revision v1.1.
For details on part numbers and ordering information, please refer to Section 1 ESP32 Series Comparison. For
details on chip revisions, please refer to ESP32 Chip Revision v3.0 User Guide and
ESP32 Series SoC Errata.
In-Package
Flash or PSRAM Bluetooth RF
Bluetooth
link receive
baseband
SPI controller
Clock
Switch
Balun
I2C generator
I2S Wi-Fi RF
Wi-Fi MAC
baseband transmit
SDIO
UART
Core and memory Cryptographic hardware
TWAI® acceleration
2 (or 1) x Xtensa® 32-bit
ETH LX6 Microprocessors
SHA RSA
RMT
Touch sensor
RTC
DAC
• 802.11b/g/n
• WMM
• Defragmentation
• Antenna diversity
Bluetooth®
• CoreMark® score:
• 448 KB ROM
• 520 KB SRAM
• 16 KB SRAM in RTC
• External 2 MHz ~ 60 MHz crystal oscillator (40 MHz only for Wi-Fi/Bluetooth functionality)
• Two timer groups, including 2 × 64-bit timers and 1 × main watchdog in each group
• RTC watchdog
• 34 programmable GPIOs
– Six GPIOs needed for in-package flash (ESP32-U4WDH) and in-package PSRAM
(ESP32-D0WDR2-V3)
• 10 touch sensors
• Ethernet MAC interface with dedicated DMA and IEEE 1588 support
• RMT (TX/RX)
Power Management
• Fine-resolution power control through a selection of clock frequency, duty cycle, Wi-Fi operating modes,
and individual power control of internal components
• Five power modes designed for typical scenarios: Active, Modem-sleep, Light-sleep, Deep-sleep,
Hibernation
Security
• Secure boot
• Flash encryption
– AES
– Hash (SHA-2)
– RSA
– ECC
Applications
With low power consumption, ESP32 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_datasheet_en.pdf
Contents
Product Overview 2
Features 3
Applications 5
2 Pins 12
2.1 Pin Layout 12
2.2 Pin Overview 14
2.3 IO Pins 17
2.3.1 Restrictions for GPIOs and RTC_GPIOs 17
2.4 Analog Pins 17
2.5 Power Supply 17
2.5.1 Power Pins 17
2.5.2 Power Scheme 18
2.5.3 Chip Power-up and Reset 19
2.6 Pin Mapping Between Chip and Flash/PSRAM 20
3 Boot Configurations 22
3.1 Chip Boot Mode Control 23
3.2 Internal LDO (VDD_SDIO) Voltage Control 24
3.3 U0TXD Printing Control 25
3.4 Timing Control of SDIO Slave 25
3.5 JTAG Signal Source Control 25
4 Functional Description 26
4.1 CPU and Memory 26
4.1.1 CPU 26
4.1.2 Internal Memory 26
4.1.3 External Flash and RAM 27
4.1.4 Address Mapping Structure 27
4.1.5 Cache 29
4.2 System Clocks 29
4.2.1 CPU Clock 29
5 Electrical Characteristics 52
5.1 Absolute Maximum Ratings 52
5.2 Recommended Power Supply Characteristics 52
5.3 DC Characteristics (3.3 V, 25 °C) 53
5.4 RF Current Consumption in Active Mode 53
5.5 Reliability 54
6 Packaging 59
Revision History 70
List of Tables
1-1 ESP32 Series Comparison 11
2-1 Pin Overview 14
2-2 Analog Pins 17
2-3 Power Pins 18
2-4 Description of Timing Parameters for Power-up and Reset 19
2-5 Pin-to-Pin Mapping Between Chip and In-Package Flash/PSRAM 20
2-6 Pin-to-Pin Mapping Between Chip and Off-Package Flash/PSRAM 20
3-1 Default Configuration of Strapping Pins 22
3-2 Description of Timing Parameters for the Strapping Pins 23
3-3 Chip Boot Mode Control 23
3-4 U0TXD Printing Control 25
3-5 Timing Control of SDIO Slave 25
4-1 Memory and Peripheral Mapping 28
4-2 Power Consumption by Power Modes 30
4-3 ADC Characteristics 44
4-4 ADC Calibration Results 45
4-5 Capacitive-Sensing GPIOs Available on ESP32 46
4-6 Peripheral Pin Configurations 47
5-1 Absolute Maximum Ratings 52
5-2 Recommended Power Supply Characteristics 52
5-3 DC Characteristics (3.3 V, 25 °C) 53
5-4 Current Consumption Depending on RF Modes 53
5-5 Reliability Qualifications 54
5-6 Wi-Fi Radio Characteristics 54
5-7 Receiver Characteristics Basic Data Rate 55
5-8 Transmitter Characteristics Basic Data Rate 55
5-9 Receiver Characteristics Enhanced Data Rate 56
5-10 Transmitter Characteristics Enhanced Data Rate 56
5-11 Receiver Characteristics Bluetooth LE 57
5-12 Transmitter Characteristics Bluetooth LE 58
6-1 Notes on ESP32 Pin Lists 61
6-2 GPIO_Matrix 63
6-3 Ethernet_MAC 68
List of Figures
1-1 ESP32 Series Nomenclature 11
2-1 ESP32 Pin Layout (QFN 6*6, Top View) 12
2-2 ESP32 Pin Layout (QFN 5*5, Top View) 13
2-3 ESP32 Power Scheme 18
2-4 Visualization of Timing Parameters for Power-up and Reset 19
3-1 Visualization of Timing Parameters for the Strapping Pins 23
3-2 Chip Boot Flow 24
4-1 Address Mapping Structure 27
6-1 QFN48 (6×6 mm) Package 59
6-2 QFN48 (5×5 mm) Package 59
1.1 Nomenclature
ESP32 D 0 WD R2 H Q6 V3
In-package PSRAM
R2: 2 MB PSRAM
Connection
WD: Wi-Fi b/g/n + Bluetooth/Bluetooth LE dual mode
In-package flash
0: No in-package flash
2: 2 MB flash
4: 4 MB flash
Core
D/U: Dual core
S: Single core
Chip Series
1.2 Comparison
In-Package VDD_SDIO
Ordering code1 Core Chip Revision2 Flash/PSRAM Package Voltage
ESP32-D0WD-V3 Dual core v3.0/v3.14 — QFN 5*5 1.8 V/3.3 V
ESP32-D0WDR2-V3 Dual core v3.0/v3.14 2 MB PSRAM QFN 5*5 3.3 V
ESP32-U4WDH Dual core3 v3.0/v3.14 4 MB flash6 QFN 5*5 3.3 V
ESP32-D0WDQ6-V3 (NRND) Dual core v3.0/v3.14 — QFN 6*6 1.8 V/3.3 V
ESP32-D0WD (NRND) Dual core v1.0/v1.15 — QFN 5*5 1.8 V/3.3 V
ESP32-D0WDQ6 (NRND) Dual core v1.0/v1.15 — QFN 6*6 1.8 V/3.3 V
ESP32-S0WD (NRND) Single core v1.0/v1.15 — QFN 5*5 1.8 V/3.3 V
1 All above chips support Wi-Fi b/g/n + Bluetooth/Bluetooth LE Dual Mode connection. For details on chip
marking and packing, see Section 6 Packaging.
2 Differences between ESP32 chip revisions and how to distinguish them are described in
ESP32 Series SoC Errata.
3 ESP32-U4WDH will be produced as dual-core instead of single core. See PCN-2021-021 for more details.
4 The chips will be produced with chip revision v3.1 inside. See PCN20220901 for more details.
5 The chips will be produced with chip revision v1.1 inside. See PCN20220901 for more details.
6 The in-package flash supports:
- More than 100,000 program/erase cycles
- More than 20 years data retention time
2 Pins
VDD3P3_CPU
XTAL_N
GPIO22
XTAL_P
GPIO19
GPIO21
U0RXD
U0TXD
VDDA
VDDA
CAP2
CAP1
40
39
42
46
43
38
45
48
44
37
47
41
VDDA 1 36 GPIO23
LNA_IN 2 35 GPIO18
VDD3P3 3 34 GPIO5
VDD3P3 4 33 SD_DATA_1
SENSOR_VP 5 32 SD_DATA_0
SENSOR_VN 8 29 SD_DATA_3
CHIP_PU 9 28 SD_DATA_2
VDET_1 10 27 GPIO17
VDET_2 11 26 VDD_SDIO
32K_XP 12 25 GPIO16
13
14
15
16
17
18
19
20
21
22
23
24
32K_XN
GPIO25
GPIO26
GPIO27
MTMS
MTDI
VDD3P3_RTC
MTCK
MTDO
GPIO2
GPIO0
GPIO4
XTAL_N
GPIO22
XTAL_P
GPIO21
U0RXD
U0TXD
VDDA
VDDA
CAP2
CAP1
40
39
42
46
43
45
48
44
47
41
VDDA 1 38 GPIO19
LNA_IN 2 37 VDD3P3_CPU
VDD3P3 3 36 GPIO23
VDD3P3 4 35 GPIO18
SENSOR_VP 5 34 GPIO5
SENSOR_CAPP 6 33 SD_DATA_1
CHIP_PU 9 30 SD_CMD
VDET_1 10 29 SD_DATA_3
VDET_2 11 28 SD_DATA_2
32K_XP 12 27 GPIO17
32K_XN 13 26 VDD_SDIO
GPIO25 14 25 GPIO16
15
16
17
18
19
20
21
22
23
24
GPIO26
GPIO27
MTMS
MTDI
VDD3P3_RTC
MTCK
MTDO
GPIO2
GPIO0
GPIO4
2 Pins
2.2 Pin Overview
2 Pins
Name No. Type Function
GPIO2 22 I/O GPIO2, ADC2_CH2, RTC_GPIO12, TOUCH2, HSPIWP, HS2_DATA0, SD_DATA0
GPIO0 23 I/O GPIO0, ADC2_CH1, RTC_GPIO11, TOUCH1, EMAC_TX_CLK, CLK_OUT1,
GPIO4 24 I/O GPIO4, ADC2_CH0, RTC_GPIO10, TOUCH0, EMAC_TX_ER, HSPIHD, HS2_DATA1, SD_DATA1
VDD_SDIO
GPIO16 25 I/O GPIO16, HS1_DATA4, U2RXD, EMAC_CLK_OUT
VDD_SDIO 26 P Output power supply: 1.8 V or the same voltage as VDD3P3_RTC
GPIO17 27 I/O GPIO17, HS1_DATA5, U2TXD, EMAC_CLK_OUT_180
SD_DATA_2 28 I/O GPIO9, HS1_DATA2, U1RXD, SD_DATA2, SPIHD
SD_DATA_3 29 I/O GPIO10, HS1_DATA3, U1TXD, SD_DATA3, SPIWP
SD_CMD 30 I/O GPIO11, HS1_CMD, U1RTS, SD_CMD, SPICS0
Submit Documentation Feedback
2 Pins
Name No. Type Function
CAP1 48 I Connects to a 10 nF series capacitor to ground
GND 49 P Ground
1. Function names:
CLK_OUT… clock output
SPICLK
HSPICLK SPI clock signal
VSPICLK
Submit Documentation Feedback
U…_RTS
UART0/1/2 hardware flow control signals
U…_CTS
}
U…_RXD
UART0/1/2 receive/transmit signals
U…_TXD
MTMS
MTDI
JTAG interface signals
MTCK
ESP32 Series Datasheet v4.9
MTDO
GPIO… General-purpose input/output with signals routed via the GPIO matrix. For
more details on the GPIO matrix, see ESP32 Technical Reference Manual >
Chapter IO MUX and GPIO Matrix
2. Regarding highlighted cells, see Section 2.3.1 Restrictions for GPIOs and RTC_GPIOs.
3. For a quick reference guide to using the IO_MUX, Ethernet MAC, and GPIO Matrix pins of ESP32, please refer to Appendix ESP32 Pin Lists.
2 Pins
2.3 IO Pins
2.3.1 Restrictions for GPIOs and RTC_GPIOs
All IO pins of the ESP32 have GPIO and some have RTC_GPIO pin functions. However, these IO pins are
multifunctional and can be configured for different purposes based on the requirements. Some IOs have
restrictions for usage. It is essential to consider their multiplexed nature and the limitations when using these
IO pins.
In Table 2-1 Pin Overview some pin functions are highlighted, specically:
• GPIO – Input only pins, output is not supported due to lack of pull-up/pull-down resistors.
• 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.
– Strapping pins – need to be at certain logic levels at startup. See Section 3 Boot Configurations.
• VDD3P3_RTC
• VDD3P3_CPU
• VDD_SDIO
VDD3P3_RTC VDD3P3_CPU
VDD_SDIO
3.3 V/1.8 V
The internal LDO can be configured as having 1.8 V, or the same voltage as VDD3P3_RTC. It can be powered
off via software to minimize the current of flash/SRAM during the Deep-sleep mode.
tST BL tRST
VDD3P3_RTC Min
VDD
VIL_nRST
CHIP_PU
• In scenarios where ESP32 is powered up and down repeatedly by switching the power rails, while there
is a large capacitor on the VDD33 rail and CHIP_PU and VDD33 are connected, simply switching off the
CHIP_PU power rail and immediately switching it back on may cause an incomplete power discharge
cycle and failure to reset the chip adequately.
An additional discharge circuit may be required to accelerate the discharge of the large capacitor on rail
VDD33, which will ensure proper power-on-reset when the ESP32 is powered up again.
• When a battery is used as the power supply for the ESP32 series of chips and modules, a supply voltage
supervisor is recommended, so that a boot failure due to low voltage is avoided. Users are
recommended to pull CHIP_PU low if the power supply for ESP32 is below 2.3 V.
• The operating voltage of ESP32 ranges from 2.3 V to 3.6 V. When using a single-power supply, the
recommended voltage of the power supply is 3.3 V, and its recommended output current is 500 mA or
more.
• PSRAM and flash both are powered by VDD_SDIO. If the chip has an in-package flash, the voltage of
VDD_SDIO is determined by the operating voltage of the in-package flash. If the chip also connects to
an external PSRAM, the operating voltage of external PSRAM must match that of the in-package flash.
This also applies if the chip has an in-package PSRAM but also connects to an external flash.
• When VDD_SDIO 1.8 V is used as the power supply for external flash/PSRAM, a 2 kΩ grounding resistor
should be added to VDD_SDIO. For the circuit design, please refer to
ESP32 Hardware Design Guidelines.
• When the three digital power supplies are used to drive peripherals, e.g., 3.3 V flash, they should comply
with the peripherals’ specifications.
For the data port connection between ESP32 and off-package flash/PSRAM please refer to Table 2-6.
Note:
1. As the in-package flash (ESP32-U4WDH) and the in-package PSRAM (ESP32-D0WDR2-V3) operate at 3.3 V,
VDD_SDIO must be powered by VDD3P3_RTC via a 6 Ω resistor. See Figure 2-3 ESP32 Power Scheme.
2. If GPIO16 is used to connect to PSRAM’s CE# signal, please add a pull-up resistor at the GPIO16 pin. See
ESP32-WROVER-E Datasheet > Figure Schematics of ESP32-WROVER-E.
3. SD_CLK and GPIO17 pins are available to connect to the SCLK signal of external PSRAM.
• If SD_CLK pin is selected, one GPIO (i.e., GPIO17) will be saved. The saved GPIO can be used for other
purposes. This connection has passed internal tests, but relevant certification has not been completed.
• Or GPIO17 pin is used to connect to the SCLK signal. This connection has passed relevant certification,
see certificates for ESP32-WROVER-E.
Please select the proper pin for your specific applications.
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.
• U0TXD printing
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 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 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 Joint Download Boot mode, the detailed boot flow of the chip is put below 3-2.
It permanently disables Download Boot mode when uart_download_dis is set to 1 (valid only for ESP32 chip
revisions v3.0 and higher).
• MTDI = 0 (by default), VDD_SDIO pin is powered directly from VDD3P3_RTC. Typically this voltage is 3.3
V. For more information, see Section 2.5.2 Power Scheme.
This functionality can be overridden by setting EFUSE_SDIO_FORCE to 1, in which case the EFUSE_SDIO_TIEH
determines the VDD_SDIO voltage:
4 Functional Description
• 7-stage pipeline to support the clock frequency of up to 240 MHz (160 MHz for ESP32-S0WD (NRND))
• Support for DSP instructions, such as a 32-bit multiplier, a 32-bit divider, and a 40-bit MAC
For information about the Xtensa® Instruction Set Architecture, please refer to
Xtensa® Instruction Set Architecture (ISA) Summary.
• 8 KB of SRAM in RTC, which is called RTC FAST Memory and can be used for data storage; it is accessed
by the main CPU during RTC Boot from the Deep-sleep mode.
• 8 KB of SRAM in RTC, which is called RTC SLOW Memory and can be accessed by the ULP coprocessor
during the Deep-sleep mode.
• 1 Kbit of eFuse: 256 bits are used for the system (MAC address and chip configuration) and the
remaining 768 bits are reserved for customer applications, including flash-encryption and chip-ID.
Note:
Products in the ESP32 series differ from each other, in terms of their support for in-package flash or PSRAM and the
size of them. For details, please refer to Section 1 ESP32 Series Comparison.
ESP32 can access the external QSPI flash and SRAM through high-speed caches.
• Up to 16 MB of external flash can be mapped into CPU instruction memory space and read-only memory
space simultaneously.
– When external flash is mapped into CPU instruction memory space, up to 11 MB + 248 KB can be
mapped at a time. Note that if more than 3 MB + 248 KB are mapped, cache performance will be
reduced due to speculative reads by the CPU.
– When external flash is mapped into read-only data memory space, up to 4 MB can be mapped at a
time. 8-bit, 16-bit and 32-bit reads are supported.
• External RAM can be mapped into CPU data memory space. SRAM up to 8 MB is supported and up to 4
MB can be mapped at a time. 8-bit, 16-bit and 32-bit reads and writes are supported.
Note:
After ESP32 is initialized, firmware can customize the mapping of external RAM or flash into the CPU address space.
4.1.5 Cache
ESP32 uses a two-way set-associative cache. Each of the two CPUs has 32 KB of cache featuring a block
size of 32 bytes for accessing external storage.
For details, see ESP32 Technical Reference Manual > Chapter System and Memory > Section Cache.
In addition, ESP32 has an internal 8 MHz oscillator. The application can select the clock source from the
external crystal clock source, the PLL clock or the internal 8 MHz oscillator. The selected clock source drives
the CPU clock directly, or after division, depending on the application.
• internal 31.25 kHz clock (derived from the internal 8 MHz oscillator divided by 256)
When the chip is in the normal power mode and needs faster CPU accessing, the application can choose the
external high-speed crystal clock divided by 4 or the internal 8 MHz oscillator. When the chip operates in the
low-power mode, the application chooses the external low-speed (32 kHz) crystal clock, the internal RC clock
or the internal 31.25 kHz clock.
For details, see ESP32 Technical Reference Manual > Chapter Reset and Clock.
• Power modes
– Active mode: The chip radio is powered up. The chip can receive, transmit, or listen.
– Modem-sleep mode: The CPU is operational and the clock is configurable. The Wi-Fi/Bluetooth
baseband and radio are disabled.
– Light-sleep mode: The CPU is paused. The RTC memory and RTC peripherals, as well as the ULP
coprocessor are running. Any wake-up events (MAC, SDIO host, RTC timer, or external interrupts)
will wake up the chip.
– Deep-sleep mode: Only the RTC memory and RTC peripherals are powered up. Wi-Fi and Bluetooth
connection data are stored in the RTC memory. The ULP coprocessor is functional.
– Hibernation mode: The internal 8 MHz oscillator and ULP coprocessor are disabled. The RTC
recovery memory is powered down. Only one RTC timer on the slow clock and certain RTC GPIOs
are active. The RTC timer or the RTC GPIOs can wake up the chip from the Hibernation mode.
• * Among the ESP32 series of SoCs, ESP32-D0WD-V3, ESP32-D0WDR2-V3, ESP32-U4WDH, ESP32-D0WD (NRND),
ESP32-D0WDQ6 (NRND), and ESP32-D0WDQ6-V3 (NRND) have a maximum CPU frequency of 240 MHz,
• When Wi-Fi is enabled, the chip switches between Active and Modem-sleep modes. Therefore, power consumption
changes accordingly.
• In Modem-sleep mode, the CPU frequency changes automatically. The frequency depends on the CPU load and
the peripherals used.
• During Deep-sleep, when the ULP coprocessor is powered on, peripherals such as GPIO and RTC I2C are able to
operate.
• When the system works in the ULP sensor-monitored pattern, the ULP coprocessor works with the ULP sensor
periodically and the ADC works with a duty cycle of 1%, so the power consumption is 100 µA.
For details, see ESP32 Technical Reference Manual > Chapter ULP Coprocessor.
• A 64-bit timer
• Auto-reload at alarming
For details, see ESP32 Technical Reference Manual > Chapter Timer Group.
interrupt, CPU reset, core reset, and system reset. Only the RWDT can trigger the system reset, and is able to
reset the entire chip, including the RTC itself. A timeout value can be set for each stage individually.
During flash boot the RWDT and the first MWDT start automatically in order to detect, and recover from,
booting problems.
• One of three or four possible actions (interrupt, CPU reset, core reset, and system reset) upon the expiry
of each stage
• Write protection that prevents the RWDT and MWDT configuration from being inadvertently altered
For details, see ESP32 Technical Reference Manual > Chapter Watchdog Timers.
The hardware accelerators greatly improve operation speed and reduce software complexity. They also
support code encryption and dynamic decryption, which ensures that code in the flash will not be
hacked.
• clock generator
• Carrier leakage
• Baseband nonlinearities
• RF nonlinearities
• Antenna matching
These built-in calibration routines reduce the amount of time required for product testing, and render the
testing equipment unnecessary.
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.
The ESP32 Wi-Fi Radio and Baseband support the following features:
• 802.11b/g/n
• Antenna diversity
ESP32 supports antenna diversity with an external RF switch. One or more GPIOs control the RF switch
and selects the best antenna to minimize the effects of channel fading.
• Defragmentation
• TXOP
• WMM
• CCMP (CBC-MAC, counter mode), TKIP (MIC, RC4), WAPI (SMS4), WEP (RC4) and CRC
4.7 Bluetooth
The chip integrates a Bluetooth link controller and Bluetooth baseband, which carry out the baseband
protocols and other low-level link routines, such as modulation/demodulation, packet processing, bit stream
processing, frequency hopping, etc.
• Class-1, class-2 and class-3 transmit output powers, and a dynamic control range of up to 21 dB
• High performance in NZIF receiver sensitivity with a minimum sensitivity of -94 dBm
• Internal SRAM allows full-speed data-transfer, mixed voice and data, and full piconet operation
• Logic for forward error correction, header error control, access code correlation, CRC, demodulation,
encryption bit stream generation, whitening and transmit pulse shaping
• Classic Bluetooth
– Multi-connections
– Master/Slave Switch
– Broadcast encryption
– Secure Simple-Pairing
– Sniff mode
– Ping
– Advertising
– Scanning
– Multiple connections
– LE Ping
Most of the digital GPIOs can be configured as internal pull-up or pull-down, or set to high impedance. When
configured as an input, the input value can be read through the register. The input can also be set to
edge-trigger or level-trigger to generate CPU interrupts. Most of the digital IO pins are bi-directional,
non-inverting and tristate, including input and output buffers with tristate control. These pins can be
multiplexed with other functions, such as the SDIO, UART, SPI, etc. (More details can be found in the
Appendix, Table IO_MUX. ) For low-power operations, the GPIOs can be set to hold their states.
For details, see Section 4.10 Peripheral Pin Configurations, Appendix A ESP32 Pin Lists and
ESP32 Technical Reference Manual > Chapter IO_MUX and GPIO Matrix.
SPI1, SPI2, and SPI3 use signal buses prefixed with SPI, HSPI, and VSPI, respectively.
• Programmable clock
For details, see ESP32 Technical Reference Manual > Chapter SPI Controller.
Pin Assignment
For SPI, the pins are multiplexed with GPIO6 ~ GPIO11 via the IO MUX. For HSPI, the pins are multiplexed with
GPIO2, GPIO4, GPIO12 ~ GPIO15 via the IO MUX. For VSPI, the pins are multiplexed with GPIO5, GPIO18 ~
GPIO19, GPIO21 ~ GPIO23 via the IO MUX.
For more information about the pin assignment, see Section 4.10 Peripheral Pin Configurations and
ESP32 Technical Reference Manual > Chapter IO_MUX and GPIO Matrix.
Feature List
For details, see ESP32 Technical Reference Manual > Chapter UART Controller.
Pin Assignment
The pins for UART can be chosen from any GPIOs via the GPIO Matrix.
For more information about the pin assignment, see Section 4.10 Peripheral Pin Configurations and
ESP32 Technical Reference Manual > Chapter IO_MUX and GPIO Matrix.
Feature List
• Two I2C controllers: one in the main system and one in the low-power system
• Support for 7-bit and 10-bit addressing, as well as dual address mode
• Supports continuous data transmission with disabled Serial Clock Line (SCL)
Users can program command registers to control I2C interfaces, so that they have more flexibility.
For details, see ESP32 Technical Reference Manual > Chapter I2C Controller.
Pin Assignment
For regular I2C, the pins used can be chosen from any GPIOs via the GPIO Matrix.
For more information about the pin assignment, see Section 4.10 Peripheral Pin Configurations and
ESP32 Technical Reference Manual > Chapter IO_MUX and GPIO Matrix.
Feature List
For details, see ESP32 Technical Reference Manual > Chapter I2S Controller.
Pin Assignment
The pins for the I2S Controller can be chosen from any GPIOs via the GPIO Matrix.
For more information about the pin assignment, see Section 4.10 Peripheral Pin Configurations and
ESP32 Technical Reference Manual > Chapter IO_MUX and GPIO Matrix.
Feature List
• Eight channels for sending and receiving infrared remote control signals
• Clock divider counter, state machine, and receiver for each RX channel
For details, see ESP32 Technical Reference Manual > Chapter Remote Control Peripheral.
Pin Assignment
The pins for the Remote Control Peripheral can be chosen from any GPIOs via the GPIO Matrix.
For more information about the pin assignment, see Section 4.10 Peripheral Pin Configurations and
ESP32 Technical Reference Manual > Chapter IO_MUX and GPIO Matrix.
Feature List
• Each pulse counter unit has a 16-bit signed counter register and two channels
• Selection between counting on rising or falling edges of the input pulse signal
For details, see ESP32 Technical Reference Manual > Chapter Pulse Count Controller.
Pin Assignment
The pins for the Pulse Count Controller can be chosen from any GPIOs via the GPIO Matrix.
For more information about the pin assignment, see Section 4.10 Peripheral Pin Configurations and
ESP32 Technical Reference Manual > Chapter IO_MUX and GPIO Matrix.
Feature List
• Eight independent timers with 20-bit counters, configurable fractional clock dividers and counter
overflow values
For details, see ESP32 Technical Reference Manual > Chapter LED PWM Controller.
Pin Assignment
The pins for the LED PWM Controller can be chosen from any GPIOs via the GPIO Matrix.
For more information about the pin assignment, see Section 4.10 Peripheral Pin Configurations and
ESP32 Technical Reference Manual > Chapter IO_MUX and GPIO Matrix.
Feature List
– The 16-bit counter in the PWM timer can work in count-up mode, count-down mode, or
count-up-down mode
– A hardware sync can trigger a reload on the PWM timer with a phase register. It will also trigger the
prescaler restart, so that the timer s clock can also be synced, with selectable hardware
synchronization source
– Configurable dead time on rising and falling edges; each set up independently
– Modulating of PWM output by high-frequency carrier signals, useful when gate drivers are insulated
with a transformer
– A fault condition can force the PWM output to either high or low logic levels
– Three individual capture channels, each of which with a 32-bit time-stamp register
– The capture timer can sync with a PWM timer or external signals
For details, see ESP32 Technical Reference Manual > Chapter Motor Control PWM.
Pin Assignment
The pins for the Motor Control PWM can be chosen from any GPIOs via the GPIO Matrix.
For more information about the pin assignment, see Section 4.10 Peripheral Pin Configurations and
ESP32 Technical Reference Manual > Chapter IO_MUX and GPIO Matrix.
Feature List
• Supports Multimedia Cards (MMC version 4.41, eMMC version 4.5 and version 4.51)
The controller allows up to 80 MHz clock output in three different data-bus modes: 1-bit, 4-bit, and 8-bit
modes. It supports two SD/SDIO/MMC4.41 cards in a 4-bit data-bus mode. It also supports one SD card
operating at 1.8 V.
For details, see ESP32 Technical Reference Manual > Chapter SD/MMC Host Controller.
Pin Assignment
The pins for SD/SDIO/MMC Host Controller are multiplexed with GPIO2, GPIO4, GPIO6 ~ GPIO15 via IO
MUX.
For more information about the pin assignment, see Section 4.10 Peripheral Pin Configurations and
ESP32 Technical Reference Manual > Chapter IO_MUX and GPIO Matrix.
Feature List
• SPI, 1-bit SDIO, and 4-bit SDIO transfer modes over the full clock range from 0 to 50 MHz
• Automatic loading of SDIO bus data and automatic discarding of padding data
• Interrupt vectors between the host and the slave, allowing both to interrupt each other
For details, see ESP32 Technical Reference Manual > Chapter SDIO Slave Controller.
Pin Assignment
The pins for SDIO/SPI Slave Controller are multiplexed with GPIO2, GPIO4, GPIO6 ~ GPIO15 via IO MUX.
For more information about the pin assignment, see Section 4.10 Peripheral Pin Configurations and
ESP32 Technical Reference Manual > Chapter IO_MUX and GPIO Matrix.
Feature List
• Standard frame format (11-bit ID) and extended frame format (29-bit ID)
• Bit rates:
• Error detection and handling: error counters, configurable error interrupt threshold, error code capture,
arbitration lost capture
For details, see ESP32 Technical Reference Manual > Chapter Two-wire Automotive Interface (TWAI).
Pin Assignment
The pins for the Two-wire Automotive Interface can be chosen from any GPIOs via the GPIO Matrix.
For more information about the pin assignment, see Section 4.10 Peripheral Pin Configurations and
ESP32 Technical Reference Manual > Chapter IO_MUX and GPIO Matrix.
Feature List
• Dedicated DMA controller allowing high-speed transfer between the dedicated SRAM and Ethernet MAC
• Several address-filtering modes for physical and multicast address (multicast and group addresses)
• Internal FIFOs to buffer transmit and receive frames. The transmit FIFO and the receive FIFO are both 512
words (32-bit)
• Hardware PTP (Precision Time Protocol) in accordance with IEEE 1588 2008 (PTP V2)
For details, see ESP32 Technical Reference Manual > Chapter Ethernet Media Access Controller (MAC).
Pin Assignment
For information about the pin assignment of Ethernet MAC Interface, see Section 4.10 Peripheral Pin
Configurations and ESP32 Technical Reference Manual > Chapter IO_MUX and GPIO Matrix.
Notes:
• When atten = 3 and the measurement result is above 3000 (voltage at approx. 2450 mV), the ADC
accuracy will be worse than described in the table above.
• To get better DNL results, users can take multiple sampling tests with a filter, or calculate the average
value.
• The input voltage range of GPIO pins within VDD3P3_RTC domain should strictly follow the DC
characteristics provided in Table 5-3. Otherwise, measurement errors may be introduced, and chip
performance may be affected.
By default, there are ±6% differences in measured results between chips. ESP-IDF provides couple of
calibration methods for ADC1. Results after calibration using eFuse Vref value are shown in Table 4-4. For
higher accuracy, users may apply other calibration methods provided in ESP-IDF, or implement their
own.
For details, see ESP32 Technical Reference Manual > Chapter On-Chip Sensors and Analog Signal
Processing.
Pin Assignment
With appropriate settings, the ADCs can be configured to measure voltage on 18 pins maximum. For detailed
information about the pin assignment, see Section 4.10 Peripheral Pin Configurations and
ESP32 Technical Reference Manual > Chapter IO_MUX and GPIO Matrix.
For details, see ESP32 Technical Reference Manual > Chapter On-Chip Sensors and Analog Signal
Processing.
Pin Assignment
The DAC can be configured by GPIO 25 and GPIO 26. For detailed information about the pin assignment, see
Section 4.10 Peripheral Pin Configurations and ESP32 Technical Reference Manual > Chapter IO_MUX and
GPIO Matrix.
Pin Assignment
For details, see ESP32 Technical Reference Manual > Chapter On-Chip Sensors and Analog Signal
Processing.
Note:
ESP32 Touch Sensor has not passed the Conducted Susceptibility (CS) test for now, and thus has limited application
scenarios.
5 Electrical Characteristics
1. • VDD_SDIO works as the power supply for the related IO, and also for an external device. Please refer to the
Appendix IO_MUX of this datasheet for more details.
• VDD_SDIO can be sourced internally by the ESP32 from the VDD3P3_RTC power domain:
– When VDD_SDIO operates at 3.3 V, it is driven directly by VDD3P3_RTC through a 6 Ω resistor, therefore,
there will be some voltage drop from VDD3P3_RTC.
– When VDD_SDIO operates at 1.8 V, it can be generated from ESP32 s internal LDO. The maximum current
this LDO can offer is 40 mA, and the output voltage range is 1.65 V ~ 2.0 V.
• VDD_SDIO can also be driven by an external power supply.
• Please refer to Section 2.5.2 Power Scheme, for more information.
2. • Chips with a 3.3 V flash or PSRAM in-package: this minimum voltage is 3.0 V;
• Chips with no flash or PSRAM in-package: this minimum voltage is 2.3 V;
• For more information, see Section 1 ESP32 Series Comparison.
3. • The operating temperature of ESP32-U4WDH ranges from 40 °C to 105 °C, due to the in-package flash.
• The operating temperature of ESP32-D0WDR2-V3 ranges from 40 °C to 85 °C, due to the in-package PSRAM.
• For other chips that have no in-package flash or PSRAM, their operating temperature is 40 °C ~ 125 °C.
1. Please see Table IO_MUX for IO’s power domain. VDD is the I/O voltage for a particular power domain of pins.
2. For VDD3P3_CPU and VDD3P3_RTC power domain, per-pin current sourced in the same domain is gradually
reduced from around 40 mA to around 29 mA, VOH >=2.64 V, as the number of current-source pins increases.
3. For VDD_SDIO power domain, per-pin current sourced in the same domain is gradually reduced from around 30 mA
to around 10 mA, VOH >=2.64 V, as the number of current-source pins increases.
5.5 Reliability
1. JEDEC document JEP155 states that 500 V HBM allows safe manufacturing with a standard ESD control process.
2. JEDEC document JEP157 states that 250 V CDM allows safe manufacturing with a standard ESD control process.
1. Device should operate in the frequency range allocated by regional regulatory authorities. Target operating
frequency range is configurable by software.
2. The typical value of the Wi-Fi radio output impedance is different between chips in different QFN packages. For
chips in a QFN 6×6 package, the value is 30+j10 Ω. For chips in a QFN 5×5 package, the value is 35+j10 Ω.
1. There are in total eight power levels from level 0 to level 7, with transmit power ranging from 12 dBm to 9 dBm.
When the power level rises by 1, the transmit power increases by 3 dB. Power level 4 is used by default and the
corresponding transmit power is 0 dBm.
5.8.2 Transmitter
6 Packaging
• For information about tape, reel, and chip marking, please refer to ESP32 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 pin layout figures in Section 2.1 Pin Layout.
Pin 1
Pin 2 Pin 1
Pin 3 Pin 2
Pin 3
D
D2
PIN #1 DDT
BY MARKING
L PIN #1 ID
C0.350
Dimensional Ref.
REF. Min. Norn. Max.
in 1
Pn 2 L A 0.800 0.850 0.900
A1 0.000 -- 0.050
L A3 0.203 Ref.
48L SLP
(5x5r1r1)
E
e_f + E2
D 4.950 5.000 5.050
E 4.950 5.000 5.050
02 3.650 3.700 3.750
E2 3.650 3.700 3.750
b 0.130 0.180 0.230
b1 0.070 0.120 0.170
0 a.a.a. C
L 0.300 0.350 0.400
bl
0 a.a.a. C 48X e 0.350 BSC
Tol. of Form&Position
aaa 0.10
TOP VIEw BOTTOM VIEw bbb 0.10
CCC 0.10
ddd 0.05
eee 0.08
1//lccclCI
fff 0.10
Notes
1. All DIMENSIONS ARE IN MILLIMETERS,
SIDE VIEw □ □
2, DIMENSIONING AND T LERANCING PER JEDEC M -220,
Developer Zone
• ESP-IDF Programming Guide for ESP32 – 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 Series SoCs – Browse through all ESP32 SoCs.
https://espressif.com/en/products/socs?id=ESP32
• ESP32 Series Modules – Browse through all ESP32-based modules.
https://espressif.com/en/products/modules?id=ESP32
• ESP32 Series DevKits – Browse through all ESP32-based devkits.
https://espressif.com/en/products/devkits?id=ESP32
• 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
No. Description
In Table IO_MUX, the boxes highlighted in yellow indicate the GPIO pins that are input-only.
1
Please see the following note for further details.
GPIO pins 34-39 are input-only. These pins do not feature an output driver or internal pull-
2 up/pull-down circuitry. The pin names are: SENSOR_VP (GPIO36), SENSOR_CAPP (GPIO37),
SENSOR_CAPN (GPIO38), SENSOR_VN (GPIO39), VDET_1 (GPIO34), VDET_2 (GPIO35).
The pins are grouped into four power domains: VDDA (analog power supply), VDD3P3_RTC
(RTC power supply), VDD3P3_CPU (power supply of digital IOs and CPU cores), VDD_SDIO
(power supply of SDIO IOs). VDD_SDIO is the output of the internal SDIO-LDO. The voltage of
3
SDIO-LDO can be configured at 1.8 V or be the same as that of VDD3P3_RTC. The strapping
pin and eFuse bits determine the default voltage of the SDIO-LDO. Software can change
the voltage of the SDIO-LDO by configuring register bits. For details, please see the column
Power Domain in Table IO_MUX.
The functional pins in the VDD3P3_RTC domain are those with analog functions, including
4 the 32 kHz crystal oscillator, ADC, DAC, and the capacitive touch sensor. Please see columns
Analog Function 0 ~ 2” in Table IO_MUX.
These VDD3P3_RTC pins support the RTC function, and can work during Deep-sleep. For
5
example, an RTC-GPIO can be used for waking up the chip from Deep-sleep.
The GPIO pins support up to six digital functions, as shown in columns Function 0 ~ 5” In
Table IO_MUX. The function selection registers will be set as N”, where N is the function
number. Below are some definitions:
• SD_* is for signals of the SDIO slave.
• HS1_* is for Port 1 signals of the SDIO host.
• HS2_* is for Port 2 signals of the SDIO host.
6 • MT* is for signals of the JTAG.
• U0* is for signals of the UART0 module.
• U1* is for signals of the UART1 module.
• U2* is for signals of the UART2 module.
• SPI* is for signals of the SPI01 module.
• HSPI* is for signals of the SPI2 module.
• VSPI* is for signals of the SPI3 module.
No. Description
Each column about digital Function” is accompanied by a column about Type”. Please
see the following explanations for the meanings of type” with respect to each function”
they are associated with. For each Function-N”, type” signifies:
• I: input only. If a function other than Function-N” is assigned, the input signal of
Function-N” is still from this pin.
• I1: input only. If a function other than Function-N” is assigned, the input signal of
Function-N” is always 1”.
• I0: input only. If a function other than Function-N” is assigned, the input signal of
Function-N” is always 0”.
7
• O: output only.
• T: high-impedance.
• I/O/T: combinations of input, output, and high-impedance according to the function
signal.
• I1/O/T: combinations of input, output, and high-impedance, according to the function
signal. If a function is not selected, the input signal of the function is 1”.
For example, pin 30 can function as HS1_CMD or SD_CMD, where HS1_CMD is of an I1/O/T”
type. If pin 30 is selected as HS1_CMD, this pin’s input and output are controlled by the SDIO
host. If pin 30 is not selected as HS1_CMD, the input signal of the SDIO host is always 1”.
Each digital output pin is associated with its configurable drive strength. Column Drive
Strength” in Table IO_MUX lists the default values. The drive strength of the digital output
pins can be configured into one of the following four options:
• 0: ~5 mA
8 • 1: ~10 mA
• 2: ~20 mA
• 3: ~40 mA
The default value is 2.
The drive strength of the internal pull-up (wpu) and pull-down (wpd) is ~75 µA.
Column At Reset” in Table IO_MUX lists the status of each pin during reset, including input-
9 enable (ie=1), internal pull-up (wpu) and internal pull-down (wpd). During reset, all pins are
output-disabled.
Column After Reset” in Table IO_MUX lists the status of each pin immediately after reset,
10 including input-enable (ie=1), internal pull-up (wpu) and internal pull-down (wpd). After reset,
each pin is set to Function 0”. The output-enable is controlled by digital Function 0.
Table Ethernet_MAC is about the signal mapping inside Ethernet MAC. The Ethernet MAC
supports MII and RMII interfaces, and supports both the internal PLL clock and the external
11
clock source. For the MII interface, the Ethernet MAC is with/without the TX_ERR signal.
MDC, MDIO, CRS and COL are slow signals, and can be mapped onto any GPIO pin through
the GPIO-Matrix.
Table GPIO Matrix is for the GPIO-Matrix. The signals of the on-chip functional modules can
be mapped onto any GPIO pin. Some signals can be mapped onto a pin by both IO-MUX
12
and GPIO-Matrix, as shown in the column tagged as Same input signal from IO_MUX core”
in Table GPIO Matrix.
No. Description
*In Table GPIO_Matrix the column Default Value if unassigned records the default value
of the an input signal if no GPIO is assigned to it. The actual value is determined by register
13
GPIO_FUNCm_IN_INV_SEL and GPIO_FUNCm_IN_SEL. (The value of m ranges from 1 to
255.)
A.2. GPIO_Matrix
A.3. Ethernet_MAC
Pin Name Function6 MII (int_osc) MII (ext_osc) RMII (int_osc) RMII (ext_osc)
GPIO0 EMAC_TX_CLK TX_CLK (I) TX_CLK (I) CLK_OUT(O) EXT_OSC_CLK(I)
GPIO5 EMAC_RX_CLK RX_CLK (I) RX_CLK (I) — —
GPIO21 EMAC_TX_EN TX_EN(O) TX_EN(O) TX_EN(O) TX_EN(O)
GPIO19 EMAC_TXD0 TXD[0](O) TXD[0](O) TXD[0](O) TXD[0](O)
GPIO22 EMAC_TXD1 TXD[1](O) TXD[1](O) TXD[1](O) TXD[1](O)
MTMS EMAC_TXD2 TXD[2](O) TXD[2](O) — —
MTDI EMAC_TXD3 TXD[3](O) TXD[3](O) — —
MTCK EMAC_RX_ER RX_ER(I) RX_ER(I) — —
GPIO27 EMAC_RX_DV RX_DV(I) RX_DV(I) CRS_DV(I) CRS_DV(I)
GPIO25 EMAC_RXD0 RXD[0](I) RXD[0](I) RXD[0](I) RXD[0](I)
GPIO26 EMAC_RXD1 RXD[1](I) RXD[1](I) RXD[1](I) RXD[1](I)
U0TXD EMAC_RXD2 RXD[2](I) RXD[2](I) — —
MTDO EMAC_RXD3 RXD[3](I) RXD[3](I) — —
GPIO16 EMAC_CLK_OUT CLK_OUT(O) — CLK_OUT(O) —
GPIO17 EMAC_CLK_OUT_180 CLK_OUT_180(O) — CLK_OUT_180(O) —
GPIO4 EMAC_TX_ER TX_ERR(O)* TX_ERR(O)* — —
In GPIO Matrix* — MDC(O) MDC(O) MDC(O) MDC(O)
In GPIO Matrix* — MDIO(IO) MDIO(IO) MDIO(IO) MDIO(IO)
In GPIO Matrix* — CRS(I) CRS(I) — —
In GPIO Matrix* — COL(I) COL(I) — —
*Notes: 1. The GPIO Matrix can be any GPIO. 2. The TX_ERR (O) is optional.
A.4. IO_MUX
For the list of IO_MUX pins, please see the next page.
Appendix A
IO_MUX
Power Supply Analog Analog Analog RTC RTC Drive Strength
Pin No. Analog Pin Digital Pin Power Domain Function0 Type Function1 Type Function2 Type Function3 Type Function4 Type Function5 Type At Reset A ter Reset
Pin Function0 Function1 Function2 Function0 Function1 (2’d2: 20 mA)
1 VDDA VDDA supply in
2 LNA_IN VDD P
3 VDD P VDD P supply in
4 VDD P VDD P supply in
5 SENSOR_VP VDD P _RTC ADC _CH RTC_GPIO GPIO I GPIO I oe=0, ie=0 oe=0, ie=0
6 SENSOR_CAPP VDD P _RTC ADC _CH RTC_GPIO GPIO I GPIO I oe=0, ie=0 oe=0, ie=0
7 SENSOR_CAPN VDD P _RTC ADC _CH RTC_GPIO GPIO I GPIO I oe=0, ie=0 oe=0, ie=0
8 SENSOR_VN VDD P _RTC ADC _CH RTC_GPIO GPIO I GPIO I oe=0, ie=0 oe=0, ie=0
9 CHIP_PU VDD P _RTC
10 VDET_ VDD P _RTC ADC _CH RTC_GPIO GPIO I GPIO I oe=0, ie=0 oe=0, ie=0
11 VDET_ VDD P _RTC ADC _CH RTC_GPIO GPIO I GPIO I oe=0, ie=0 oe=0, ie=0
12 K_XP VDD P _RTC XTAL_ K_P ADC _CH TOUCH RTC_GPIO GPIO I/O/T GPIO I/O/T 2'd2 oe=0, ie=0 oe=0, ie=0
13 K_XN VDD P _RTC XTAL_ K_N ADC _CH TOUCH RTC_GPIO GPIO I/O/T GPIO I/O/T 2'd2 oe=0, ie=0 oe=0, ie=0
14 GPIO VDD P _RTC DAC_ ADC _CH RTC_GPIO GPIO I/O/T GPIO I/O/T EMAC_RXD I 2'd2 oe=0, ie=0 oe=0, ie=0
15 GPIO VDD P _RTC DAC_ ADC _CH RTC_GPIO GPIO I/O/T GPIO I/O/T EMAC_RXD I 2'd2 oe=0, ie=0 oe=0, ie=0
16 GPIO VDD P _RTC ADC _CH TOUCH RTC_GPIO GPIO I/O/T GPIO I/O/T EMAC_RX_DV I 2'd2 oe=0, ie=0 oe=0, ie=0
17 MTMS VDD P _RTC ADC _CH TOUCH RTC_GPIO MTMS I HSPICLK I/O/T GPIO I/O/T HS _CLK O SD_CLK I EMAC_TXD O 2'd2 oe=0, ie=0 oe=0, ie=1, wpu
Submit Documentation Feedback
18 MTDI VDD P _RTC ADC _CH TOUCH RTC_GPIO MTDI I HSPIQ I/O/T GPIO I/O/T HS _DATA I /O/T SD_DATA I /O/T EMAC_TXD O 2'd2 oe=0, ie=1, wpd oe=0, ie=1, wpd
19 VDD P _RTC VDD P _RTC supply in
20 MTCK VDD P _RTC ADC _CH TOUCH RTC_GPIO MTCK I HSPID I/O/T GPIO I/O/T HS _DATA I /O/T SD_DATA I /O/T EMAC_RX_ER I 2'd2 oe=0, ie=0 oe=0, ie=1, wpd
21 MTDO VDD P _RTC ADC _CH TOUCH RTC_GPIO I C_SDA MTDO O/T HSPICS I/O/T GPIO I/O/T HS _CMD I /O/T SD_CMD I /O/T EMAC_RXD I 2'd2 oe=0, ie=1, wpu oe=0, ie=1, wpu
22 GPIO VDD P _RTC ADC _CH TOUCH RTC_GPIO I C_SCL GPIO I/O/T HSPIWP I/O/T GPIO I/O/T HS _DATA I /O/T SD_DATA I /O/T 2'd2 oe=0, ie=1, wpd oe=0, ie=1, wpd
23 GPIO VDD P _RTC ADC _CH TOUCH RTC_GPIO I C_SDA GPIO I/O/T CLK_OUT O GPIO I/O/T EMAC_TX_CLK I 2'd2 oe=0, ie=1, wpu oe=0, ie=1, wpu
24 GPIO VDD P _RTC ADC _CH TOUCH RTC_GPIO I C_SCL GPIO I/O/T HSPIHD I/O/T GPIO I/O/T HS _DATA I /O/T SD_DATA I /O/T EMAC_TX_ER O 2'd2 oe=0, ie=1, wpd oe=0, ie=1, wpd
25 GPIO VDD_SDIO GPIO I/O/T GPIO I/O/T HS _DATA I /O/T U RXD I EMAC_CLK_OUT O 2'd2 oe=0, ie=0 oe=0, ie=1
26 VDD_SDIO VDD_SDIO supply out/in
69
27 GPIO VDD_SDIO GPIO I/O/T GPIO I/O/T HS _DATA I /O/T U TXD O EMAC_CLK_OUT_ O 2'd2 oe=0, ie=0 oe=0, ie=1
28 SD_DATA_ VDD_SDIO SD_DATA I /O/T SPIHD I/O/T GPIO I/O/T HS _DATA I /O/T U RXD I 2'd2 oe=0, ie=1, wpu oe=0, ie=1, wpu
29 SD_DATA_ VDD_SDIO SD_DATA I /O/T SPIWP I/O/T GPIO I/O/T HS _DATA I /O/T U TXD O 2'd2 oe=0, ie=1, wpu oe=0, ie=1, wpu
30 SD_CMD VDD_SDIO SD_CMD I /O/T SPICS I/O/T GPIO I/O/T HS _CMD I /O/T U RTS O 2'd2 oe=0, ie=1, wpu oe=0, ie=1, wpu
31 SD_CLK VDD_SDIO SD_CLK I SPICLK I/O/T GPIO I/O/T HS _CLK O U CTS I 2'd2 oe=0, ie=1, wpu oe=0, ie=1, wpu
32 SD_DATA_ VDD_SDIO SD_DATA I /O/T SPIQ I/O/T GPIO I/O/T HS _DATA I /O/T U RTS O 2'd2 oe=0, ie=1, wpu oe=0, ie=1, wpu
33 SD_DATA_ VDD_SDIO SD_DATA I /O/T SPID I/O/T GPIO I/O/T HS _DATA I /O/T U CTS I 2'd2 oe=0, ie=1, wpu oe=0, ie=1, wpu
34 GPIO VDD P _CPU GPIO I/O/T VSPICS I/O/T GPIO I/O/T HS _DATA I /O/T EMAC_RX_CLK I 2'd2 oe=0, ie=1, wpu oe=0, ie=1, wpu
35 GPIO VDD P _CPU GPIO I/O/T VSPICLK I/O/T GPIO I/O/T HS _DATA I /O/T 2'd2 oe=0, ie=0 oe=0, ie=1
36 GPIO VDD P _CPU GPIO I/O/T VSPID I/O/T GPIO I/O/T HS _STROBE I 2'd2 oe=0, ie=0 oe=0, ie=1
44 XTAL_N VDDA
45 XTAL_P VDDA
46 VDDA VDDA supply in
47 CAP VDDA
48 CAP VDDA
Total
8 14 26
Number
Notes:
• wpu: weak pull-up;
• wpd: weak pull-down;
• ie: input enable;
• oe: output enable;
• Please see Table: Notes on ESP Pin Lists for more information.(请参考表:管脚清单说明。)
32
2f0
101 1212
2 3721
36
37
38
39
34
35
32
33
25
26
27
14
12
13
15
2
0
4
16
17
9
10
11
6
8
5
18
23
19
22
13
120
132
23
90 3
8
7
6
5
4
12
0 2
10
33
6
7
4
510
28
9
7
6
5
4
3
12
710
10
2
3
4
5
9
8
6
17
16
15
14
13
12
11
3
2
1010
22
310
3 180 32
Revision History
Revision History
• Section 3 Boot Configurations: Fixed the typo about JTAG signal source
control
2025.01 v4.8 • Section 2.2 Pin Overview: Added a note about JTAG interface signals
• Table 2-5 Pin Mapping Between Chip and Flash/PSRAM: Modified a note
about VDD_SDIO
• Section 4.1.1 CPU: Added link to Xtensa® Instruction Set Architecture (ISA)
2022.12 v4.1 Summary
• Table 1-1 Comparison: Updated the description about chip revision upgrade
• Table 2-1 Pin Overview: Updated the description for CAP2 from 3 nF to 3.3 nF
• Section Advanced Peripheral Interfaces: Added TWAI®
2021.01 V3.5
• Updated Figure Block Diagram
• Appendix IO_MUX: Updated the reset values for MTCK, MTMS, GPIO27
2019.10 V3.2 • Updated Figure 2-4 Visualization of Timing Parameters for Power-up and Reset
• Table 2-1 Pin Overview: Added pin-pin mapping between ESP32-D2WD and
2019.07 V3.1 the in-package flash under the table
• Updated Figure 1-1 ESP32 Series Nomenclature
• Changed the RF power control range in Table 5-7, 5-10, and 5-12 from 12 ~
2019.01 V2.8 +12 to 12 ~ +9 dBm;
• Small text changes
• Table 4-2 Power Management Unit (PMU): Added the current consumption
2018.06 V2.3
figures at CPU frequency of 160 MHz
• Table 2-1 Pin Overview: Changed the voltage range of VDD3P3_RTC from
1.8-3.6 V to 2.3-3.6 V
• Updated Section 2.5.2 Power Scheme
• Updated Section 4.1.3 External Flash and RAM
• Updated Table 4-2 Power Management Unit (PMU)
• Removed content about temperature sensor;
Changes to electrical characteristics:
• Updated Table 5-1 Absolute Maximum Ratings
• Added Table 5-2 Recommended Power Supply Characteristics
2018.05 V2.2
• Added Table 5-3 DC Characteristics (3.3 V, 25 °C)
• Added Table 5-5 Reliability
• Table 5-7 Receiver Basic Data Rate: Updated the values of ”Gain control step”
and ”Adjacent channel transmit power”
• Table 5-10 Transmitter Enhanced Data Rate: Updated the values of ”Gain
control step”, ”π/4 DQPSK modulation accuracy”, ”8 DPSK modulation
accuracy”, and ”In-band spurious emissions”
• Table 5-12 Transmitter: Updated the values of ”Gain control step” and
”Adjacent channel transmit power”
2017.12 V2.0 • Section 6 Packaging: Added a note on the sequence of pin number
• Section Bluetooth: Changed the transmitting power to +12 dBm; the sensitivity
of NZIF receiver to 97 dBm
• Table 2-1 Pin Overview: Added a note
• section 4.1.1 CPU: Added 160 MHz clock frequency
• Section 4.6.4 Wi-Fi Radio and Baseband: Changed the transmitting power
from 21 dBm to 20.5 dBm
• Section 4.7.1 Bluetooth Radio and Baseband: Changed the dynamic control
range of class-1, class-2 and class-3 transmit output powers to ”up to 24
dBm”; changed the dynamic range of NZIF receiver sensitivity to ”over 97 dB”
• Table 4-2 Power Management Unit (PMU): Added two notes
2017.08 V1.7 • Updated Section 4.8.1 General Purpose Input / Output Interface (GPIO)
• Updated Section 4.8.11 SDIO/SPI Slave Controller
• Updated Table 5-1 Absolute Maximum Ratings
• Table 5.4 RF Current Consumption in Active Mode: Changed the duty cycle on
which the transmitters measurements are based to 50%.
• Table 5-6 Wi-Fi Radio: Added a note on Output impedance
• Table 5-7, 5-9, 5-11: Updated parameter ”Sensitivity”
• Table 5-7, 5-10, 5-12: Updated parameters ”RF transmit power” and ”RF power
control range”; added parameter ”Gain control step”
• Deleted Chapters: ”Touch Sensor” and ”Code Examples”;
• Added a link to certification download.
• Section Clocks and Timers: Added a note to the frequency of the external
crystal oscillator
• Section 3 Boot Configurations (used to be named as ”Strapping Pins”): Added
a note
• Updated Section 4.3 RTC and Low-power Management
2017.05 V1.4 • Table 5-1 Absolute Maximum Ratings: Changed the maximum driving capability
from 12 mA to 80 mA
• Table 5-6 Wi-Fi Radio: Changed the input impedance value of 50Ω to output
impedance value of 30+j10 Ω
• Table Notes on ESP32 Pin Lists: Added a note to No.8
• Table IO_MUX: Deleted GPIO20