Our I2C Master universal code

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 […]

Read More

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 […]

Read More

.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, […]

Read More