We try to use common defines for I2C master code in our projects, so it’s easy to jump between different microcontrollers and processors. This is quite challenging with the ESP32, because its setup and then do as a single operation approach is very different to the raw operation by operation approach a microtroller will typically […]
Category: I2C
Handling NACK response
This can be an important normal task, for instance when retrying an eeprom waiting for its last write burn cycle to complete before it will respond again. We needed to do this on both the ESP32 S3 and the ESP32 S2 and found different issues on each (it seemed the Espressif I2C implementation is pretty […]
.Using the I2C interface
I2C Pins Typically you can use any GPIO: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/i2c.html To confirm, see the S# series datasheet for the ESP device you are using > Peripheral Pin Configurations Resources https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/peripherals/i2c.html https://github.com/espressif/esp-idf/tree/master/examples/peripherals/i2c I2C Address Set as normal byte address including RW at bit 0.So 0b01101000 is set as 0x68, not (0x68 >> 1) I2C Master Example write, […]