Chapter 4. Software framework
When the I2C of the ESP32 series chip is operating (especially in fast mode), spikes often occur on the data
lines, especially after the falling edge of the 8th/9th clock. Is this normal?
The spike on the data line at the 8th/9th clocks is caused by the I2C master-slave control handover. It is
a normal phenomenon and is mentioned in the I2C protocol.
How can I realize data are received by ESP32 series chips, which are used as the I2C master, only
after these data are processed by the slave?
i2c_master_read_to_device, the slave should return data immediately after receiving the command.
However, some slave devices wait for a while to return data after receiving the command.
This can be realized by dividing i2c_master_read_device into the following three steps:
1. Input
commands
i2c_master_start > i2c_master_write_byte > i2c_master_cmd_begin
> i2c_cmd_link_delete_static
2. Delay
3. Read
data
i2c_master_read
i2c_cmd_link_delete_static
When using ESP32 series chip, can we configure GPIO32 and GPIO33 as I2C_SDA and I2C_SCL respec-
tively?
Yes. I2C pins of the ESP32 chip can be remapped by any available GPIOs. Please refer to "4.2
Peripheral Pin Configurations" of
you can use GPIO32 and GPIO33 as I2C pins.
4.4.5 Inter-IC Sound (I2S)
Does ESP32 support using crystal oscillator as the clock source of I2S?
No. Please go to
ESP32 Technical Reference Manual
When working as the I2S master, does ESP32 support connection to the I2S slave that only has the three
signal lines, I2S_DATA, I2S_SCK, and I2S_WS?
Yes, but the connection to MCLK depends on the requirements of the codec chip on the other side.
Does the I2S interface of ESP32-C3 series chips support the PDM RX mode?
• In the software driver, the I2S interface of ESP32-C3 series chips does not support the PDM RX mode. Unlike
ESP32-S3, the PDM RX of ESP32-C3 does not have a module supporting converting from PDM to PCM,
which means the acquired data is in the RAW PDM format. The data in this format can't be used directly in
most cases.
Espressif Systems
For example, when ESP32 chips read data through
and
address:
of
the
slave:
>
i2c_master_stop
ESP32
Datasheet. If you do not need an external 32.768 KHz crystal,
68
Submit Document Feedback
i2c_cmd_link_create_static
i2c_cmd_link_create_static
>
i2c_master_cmd_begin
to read about clock source configurations of I2S.
>
>
>
Release master
Need help?
Do you have a question about the ESP and is the answer not in the manual?