ESP32 Datasheet
ESP32 Datasheet
ESP32 Datasheet
Datasheet
Including:
ESP32-D0WD-V3
ESP32-D0WDR2-V3
ESP32-U4WDH
Version 4.5
Espressif Systems
Copyright © 2024
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
– 5 strapping GPIOs
– 6 input-only GPIOs
• 2 × 8-bit DAC
• 10 × touch sensors
• 4 × SPI
• 2 × I2S
• 2 × I2C
• 3 × UART
• 1 host (SD/eMMC/SDIO)
• 1 slave (SDIO/SPI)
• Ethernet MAC interface with dedicated DMA and IEEE 1588 support
• RMT (TX/RX)
• Motor PWM
• 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.2.1 Restrictions for GPIOs and RTC_GPIOs 17
2.3 Power Supply 18
2.3.1 Power Scheme 18
2.3.2 Chip Power-up and Reset 18
2.4 Strapping Pins 20
2.5 Pin Mapping Between Chip and Flash/PSRAM 22
3 Functional Description 24
3.1 CPU and Memory 24
3.1.1 CPU 24
3.1.2 Internal Memory 24
3.1.3 External Flash and RAM 25
3.1.4 Address Mapping Structure 25
3.1.5 Cache 27
3.2 System Clocks 27
3.2.1 CPU Clock 27
3.2.2 RTC Clock 27
3.2.3 Audio PLL Clock 28
3.3 RTC and Low-power Management 29
3.3.1 Power Management Unit (PMU) 29
3.3.2 Ultra-Low-Power Coprocessor 30
3.4 Timers and Watchdogs 30
3.4.1 General Purpose Timers 30
3.4.2 Watchdog Timers 30
3.5 Cryptographic Hardware Accelerators 31
4 Electrical Characteristics 46
4.1 Absolute Maximum Ratings 46
4.2 Recommended Power Supply Characteristics 46
4.3 DC Characteristics (3.3 V, 25 °C) 47
4.4 RF Current Consumption in Active Mode 47
4.5 Reliability 48
4.6 Wi-Fi Radio 48
4.7 Bluetooth Radio 49
4.7.1 Receiver –Basic Data Rate 49
4.7.2 Transmitter –Basic Data Rate 49
4.7.3 Receiver –Enhanced Data Rate 50
4.7.4 Transmitter –Enhanced Data Rate 50
4.8 Bluetooth LE Radio 51
4.8.1 Receiver 51
4.8.2 Transmitter 52
5 Packaging 53
Revision History 64
List of Tables
1-1 ESP32 Series Comparison 11
2-1 Pin Overview 14
2-2 Description of Timing Parameters for Power-up and Reset 19
2-3 Strapping Pins 20
2-4 Description of Timing Parameters for the Strapping Pins 21
2-5 Pin-to-Pin Mapping Between Chip and In-Package Flash/PSRAM 22
2-6 Pin-to-Pin Mapping Between Chip and Off-Package Flash/PSRAM 22
3-1 Memory and Peripheral Mapping 26
3-2 Power Consumption by Power Modes 29
3-3 ADC Characteristics 39
3-4 ADC Calibration Results 39
3-5 Capacitive-Sensing GPIOs Available on ESP32 40
3-6 Peripheral Pin Configurations 41
4-1 Absolute Maximum Ratings 46
4-2 Recommended Power Supply Characteristics 46
4-3 DC Characteristics (3.3 V, 25 °C) 47
4-4 Current Consumption Depending on RF Modes 47
4-5 Reliability Qualifications 48
4-6 Wi-Fi Radio Characteristics 48
4-7 Receiver Characteristics –Basic Data Rate 49
4-8 Transmitter Characteristics –Basic Data Rate 49
4-9 Receiver Characteristics –Enhanced Data Rate 50
4-10 Transmitter Characteristics –Enhanced Data Rate 50
4-11 Receiver Characteristics –Bluetooth LE 51
4-12 Transmitter Characteristics –Bluetooth LE 52
5-1 Notes on ESP32 Pin Lists 55
5-2 GPIO_Matrix 57
5-3 Ethernet_MAC 62
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
2-5 Visualization of Timing Parameters for the Strapping Pins 21
3-1 Address Mapping Structure 25
5-1 QFN48 (6×6 mm) Package 53
5-2 QFN48 (5×5 mm) Package 53
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 5 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
Regarding highlighted cells, see Section 2.2.1 Restrictions for GPIOs and RTC_GPIOs.
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.
Submit Documentation Feedback
16
ESP32 Series Datasheet v4.5
2 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.5 Pin Mapping Between Chip and Flash/PSRAM.
– Strapping pins – need to be at certain logic levels at startup. See Section 2.4 Strapping Pins.
• VDD3P3_RTC
• VDD3P3_CPU
• VDD_SDIO
VDD3P3_RTC is also the input power supply for RTC and CPU.
VDD_SDIO connects to the output of an internal LDO whose input is VDD3P3_RTC. When VDD_SDIO is
connected to the same PCB net together with VDD3P3_RTC, the internal LDO is disabled automatically.
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.
power-up and reset timing, see Figure 2-4 and Table 2-2.
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.
• MTDI
• GPIO0
• GPIO2
• MTDO
• GPIO5
Software can read the values of these five bits from register ”GPIO_STRAPPING”.
During the chip’s system reset release (power-on-reset, RTC watchdog reset and brownout reset), the latches
of the strapping pins sample the voltage level as strapping bits of ”0” or ”1”, and hold these bits until the chip
is powered down or shut down. The strapping bits configure the device’s boot mode, the operating voltage of
VDD_SDIO and other initial system settings.
Each strapping pin is connected to its internal pull-up/pull-down during the chip reset. Consequently, if a
strapping pin is unconnected or the connected external circuit is high-impedance, the internal weak
pull-up/pull-down will determine the default input level of the strapping pins.
To change the strapping bit values, users can apply the external pull-down/pull-up resistances, or use the
host MCU’s GPIOs to control the voltage level of these pins when powering on the chip.
Note:
• Firmware can configure register bits to change the settings of “Voltage of Internal LDO (VDD_SDIO)” and “Timing
of SDIO Slave”, after booting.
• For ESP32 chips that contain an in-package flash or PSRAM, users need to note the logic level of MTDI. For
example, ESP32-U4WDH contains an in-package flash that operates at 3.3 V, therefore, the MTDI should be low.
Regarding the timing requirements for the strapping pins, there are such parameters as setup time and hold
time. For more information, see Table 2-4 and Figure 2-5.
tSU tH
VIL_nRST
CHIP_PU
VIH
Strapping pin
For the data port connection between ESP32 and off-package flash/PSRAM please refer to Table 2-6.
Note:
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 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.
3.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,
ESP32-S0WD (NRND) has a maximum CPU frequency of 160 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.
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
delivering up to +20.5 dBm of power for an 802.11b transmission and +18 dBm for an 802.11n transmission.
Additional calibrations are integrated to cancel any radio imperfections, such as:
• 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
3.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 ESP32 Technical Reference Manual > Chapter IO_MUX and GPIO Matrix.
• Four modes of SPI transfer format, which depend on the polarity (CPOL) and the phase (CPHA) of the
SPI clock
• Up to 80 MHz (The actual speed it can reach depends on the selected pads, PCB tracing, peripheral
characteristics, etc.)
• up to 64-byte FIFO
All SPIs can also be connected to the external flash/SRAM and LCD. Each SPI can be served by DMA
controllers.
For details, see ESP32 Technical Reference Manual > Chapter SPI Controller.
For details, see ESP32 Technical Reference Manual > Chapter UART Controller.
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.
Both of the I2S interfaces have dedicated DMA controllers. PDM and BT PCM interfaces are supported.
For details, see ESP32 Technical Reference Manual > Chapter I2S Controller.
For details, see ESP32 Technical Reference Manual > Chapter Remote Control Peripheral.
For details, see ESP32 Technical Reference Manual > Chapter Pulse Count Controller.
The 16 channels of digital waveforms operate with an APB clock of 80 MHz. Eight of these channels have the
option of using the 8 MHz oscillator clock. Each channel can select a 20-bit timer with configurable counting
range, while its accuracy of duty can be up to 16 bits within a 1 ms period.
The software can change the duty immediately. Moreover, each channel automatically supports step-by-step
duty increase or decrease, which is useful for the LED RGB color-gradient generator.
For details, see ESP32 Technical Reference Manual > Chapter LED PWM Controller.
For details, see ESP32 Technical Reference Manual > Chapter Motor Control PWM.
• Secure Digital memory (SD mem Version 3.0 and Version 3.01)
• 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.
• 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.
• 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).
• 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).
enables low-power consumption. The CPU can be woken up by a threshold setting and/or via other
triggers.
With appropriate settings, the ADCs can be configured to measure voltage on 18 pins maximum.
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 4-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 3-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.
For details, see ESP32 Technical Reference Manual > Chapter On-Chip Sensors and Analog Signal
Processing.
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.
HS2_CLK MTMS
HS2_CMD MTDO
Supports SD memory card V3.01 standard
SD/SDIO/MMC Host HS2_DATA0 GPIO2
Controller HS2_DATA1 GPIO4
HS2_DATA2 MTDI
HS2_DATA3 MTCK
PWM0_OUT0~2
PWM1_OUT_IN0~2
Three channels of 16-bit timers generate
PWM0_FLT_IN0~2
PWM waveforms. Each channel has a pair
PWM1_FLT_IN0~2
Motor PWM Any GPIO Pins of output signals, three fault detection
PWM0_CAP_IN0~2
signals, three event-capture signals, and
PWM1_CAP_IN0~2
three sync signals.
PWM0_SYNC_IN0~2
PWM1_SYNC_IN0~2
SD_CLK MTMS
SD_CMD MTDO
SDIO interface that conforms to the
SDIO/SPI Slave SD_DATA0 GPIO2
industry standard SDIO 2.0 card
Controller SD_DATA1 GPIO4
specification
SD_DATA2 MTDI
SD_DATA3 MTCK
U0RXD_in
U0CTS_in
U0DSR_in
U0TXD_out
U0RTS_out
U0DTR_out
U1RXD_in Three UART devices with hardware
UART Any GPIO Pins
U1CTS_in flow-control and DMA
U1TXD_out
U1RTS_out
U2RXD_in
U2CTS_in
U2TXD_out
U2RTS_out
I2CEXT0_SCL_in
I2CEXT0_SDA_in
I2CEXT1_SCL_in
I2CEXT1_SDA_in
I2C Any GPIO Pins Two I2C devices in slave or master mode
I2CEXT0_SCL_out
I2CEXT0_SDA_out
I2CEXT1_SCL_out
I2CEXT1_SDA_out
pcnt_sig_ch0_in0
pcnt_sig_ch1_in0
pcnt_ctrl_ch0_in0
pcnt_ctrl_ch1_in0
pcnt_sig_ch0_in1
pcnt_sig_ch1_in1
pcnt_ctrl_ch0_in1
pcnt_ctrl_ch1_in1
pcnt_sig_ch0_in2
pcnt_sig_ch1_in2
pcnt_ctrl_ch0_in2
pcnt_ctrl_ch1_in2
pcnt_sig_ch0_in3
pcnt_sig_ch1_in3
pcnt_ctrl_ch0_in3 Operating in seven different modes, the
pcnt_ctrl_ch1_in3 Any GPIO Pins pulse counter captures pulse and counts
Pulse Counter
pcnt_sig_ch0_in4 pulse edges.
pcnt_sig_ch1_in4
pcnt_ctrl_ch0_in4
pcnt_ctrl_ch1_in4
pcnt_sig_ch0_in5
pcnt_sig_ch1_in5
pcnt_ctrl_ch0_in5
pcnt_ctrl_ch1_in5
pcnt_sig_ch0_in6
pcnt_sig_ch1_in6
pcnt_ctrl_ch0_in6
pcnt_ctrl_ch1_in6
pcnt_sig_ch0_in7
pcnt_sig_ch1_in7
pcnt_ctrl_ch0_in7
pcnt_ctrl_ch1_in7
twai_rx
twai_tx Compatible with ISO 11898-1 protocol
TWAI Any GPIO Pins
twai_bus_off_on (CAN Specification 2.0)
twai_clkout
4 Electrical Characteristics
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.
4.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.
4.8.2 Transmitter
5 Packaging
• For information about tape, reel, and chip 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 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
63
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.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
• Section 2.4 Strapping Pins: Added information about the setup and hold times
2019.04 V3.0
for the strapping pins
• Changed the RF power control range in Table 4-7, 4-10, and 4-12 from –12 ~
2019.01 V2.8 +12 to –12 ~ +9 dBm;
• Small text changes
• Table 3-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.3.1 Power Scheme
• Updated Section 3.1.3 External Flash and RAM
• Updated Table 3-2 Power Management Unit (PMU)
• Removed content about temperature sensor;
Changes to electrical characteristics:
• Updated Table 4-1 Absolute Maximum Ratings
• Added Table 4-2 Recommended Power Supply Characteristics
2018.05 V2.2
• Added Table 4-3 DC Characteristics (3.3 V, 25 °C)
• Added Table 4-5 Reliability
• Table 4-7 Receiver –Basic Data Rate: Updated the values of ”Gain control step”
and ”Adjacent channel transmit power”
• Table 4-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 4-12 Transmitter: Updated the values of ”Gain control step” and
”Adjacent channel transmit power”
2017.12 V2.0 • Section 5 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 3.1.1 CPU: Added 160 MHz clock frequency
• Section 3.6.4 Wi-Fi Radio and Baseband: Changed the transmitting power
from 21 dBm to 20.5 dBm
• Section 3.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 3-2 Power Management Unit (PMU): Added two notes
2017.08 V1.7 • Updated Section 3.8.1 General Purpose Input / Output Interface (GPIO)
• Updated Section 3.8.11 SDIO/SPI Slave Controller
• Updated Table 4-1 Absolute Maximum Ratings
• Table 4.4 RF Current Consumption in Active Mode: Changed the duty cycle on
which the transmitters’measurements are based to 50%.
• Table 4-6 Wi-Fi Radio: Added a note on “Output impedance”
• Table 4-7, 4-9, 4-11: Updated parameter ”Sensitivity”
• Table 4-7, 4-10, 4-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 2.4 Strapping Pins: Added a note
• Updated Section 3.3 RTC and Low-power Management
• Table 4-1 Absolute Maximum Ratings: Changed the maximum driving capability
2017.05 V1.4
from 12 mA to 80 mA
• Table 4-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