Data Sheet

Table Of Contents
4 Peripherals and Sensors
Interrupts to host for initiating data transfer
Automatic loading of SDIO bus data and automatic discarding of padding data
Block size of up to 512 bytes
Interrupt vectors between the host and the slave, allowing both to interrupt each other
Supports DMA for data transfer
4.1.10 Universal Asynchronous Receiver Transmitter (UART)
ESP32 has three UART interfaces, i.e., UART0, UART1 and UART2, which provide asynchronous
communication (RS232 and RS485) and IrDA support, communicating at a speed of up to 5 Mbps. UART
provides hardware management of the CTS and RTS signals and software flow control (XON and XOFF). All of
the interfaces can be accessed by the DMA controller or directly by the CPU.
4.1.11 I²C Interface
ESP32 has two I²C bus interfaces which can serve as I²C master or slave, depending on the user’s configuration.
The I²C interfaces support:
Standard mode (100 Kbit/s)
Fast mode (400 Kbit/s)
Up to 5 MHz, yet constrained by SDA pull-up strength
7-bit/10-bit addressing mode
Dual addressing mode
Users can program command registers to control I²C interfaces, so that they have more flexibility.
4.1.12 I²S Interface
Two standard I²S interfaces are available in ESP32. They can be operated in master or slave mode, in full duplex
and half-duplex communication modes, and can be configured to operate with an 8-/16-/32-/48-/64-bit
resolution as input or output channels. BCK clock frequency, from 10 kHz up to 40 MHz, is supported. When
one or both of the I²S interfaces are configured in the master mode, the master clock can be output to the
external DAC/CODEC.
Both of the I²S interfaces have dedicated DMA controllers. PDM and BT PCM interfaces are supported.
4.1.13 Infrared Remote Controller
The infrared remote controller supports eight channels of infrared remote transmission and receiving. By
programming the pulse waveform, it supports various infrared protocols. Eight channels share a 512 x 32-bit
block of memory to store the transmitting or receiving waveform.
4.1.14 Pulse Counter
The pulse counter captures pulse and counts pulse edges through seven modes. It has eight channels, each of
which captures four signals at a time. The four input signals include two pulse signals and two control signals.
When the counter reaches a defined threshold, an interrupt is generated.
Espressif Systems 35
Submit Documentation Feedback
ESP32 Series Datasheet v3.5