I’m trying to port the Inky library over to C++ so I can use it from an ESP32 using the Arduino tool set. All great journeys begin with a first step and in this case that first step is to try to query the EEPROM using I2C.
Using the Inky code as a reference it appears that the device has an I2C address of 0x50. It also appears to initially write a 0 to that address (not sure why) (inky/eeprom.py at fa59811bb5a9aad9eac82da3e58b6dc2ead75b8c · pimoroni/inky · GitHub) and then it reads 29 bytes which the first seven contain the width, height, colors, PCB version, and display version (inky/eeprom.py at fa59811bb5a9aad9eac82da3e58b6dc2ead75b8c · pimoroni/inky · GitHub).
After many attempts I was only able to see good data once, maybe twice (400x300, 3, ?, ?). All of the other reads I end up with bogus data, generally FFFFFFFF, FFFFFFFF, 255, 255, 255.
What could I be missing?