ESP32 as an I2C Slave Fast Mode Plus
Posted: Wed Nov 15, 2023 3:51 am
Hi all,
I am working on a device and was hoping to use an ESP32. I did some initial testing today with an old ESP32 I had laying around and wasn't able to get a successful proof of concept working. The Master I need my device to communicate with utilizes Fast Mode Plus (1 MHz) for its clock. The Master issues a write followed by a read which I need the device to respond back with specific data for each different request. Utilizing a logic analyzer I can see the the first write request and then the read, but the data the device is supposed to respond back with is incomplete and incorrect. A couple requests do complete correctly, but I also notice that the clock speed is off.
I have successfully tested a proof of concept utilizing a teensy 4.1 as my slave device and all messages are processed correctly and clock speed looks normal.
My question is: is there a version/model of the ESP32 that supports I2C Fast Mode Plus when it is acting as a slave? Or if I need this I2C speed should I start looking into other SoCs?
Thanks!
I am working on a device and was hoping to use an ESP32. I did some initial testing today with an old ESP32 I had laying around and wasn't able to get a successful proof of concept working. The Master I need my device to communicate with utilizes Fast Mode Plus (1 MHz) for its clock. The Master issues a write followed by a read which I need the device to respond back with specific data for each different request. Utilizing a logic analyzer I can see the the first write request and then the read, but the data the device is supposed to respond back with is incomplete and incorrect. A couple requests do complete correctly, but I also notice that the clock speed is off.
I have successfully tested a proof of concept utilizing a teensy 4.1 as my slave device and all messages are processed correctly and clock speed looks normal.
My question is: is there a version/model of the ESP32 that supports I2C Fast Mode Plus when it is acting as a slave? Or if I need this I2C speed should I start looking into other SoCs?
Thanks!