Hi there,
Which specific I2C EEPROM chip do you use?
I'm using a 24FC128, specifically chosen because the driver mentioned this family.
I wanted to verify the Eeprom driver myself, so I set up a simple test project using the 24FC1025 in 8pin DIP. Since this needed a breadboard, I used an RCA specific STM32F407 breakout, therefore this is not an xpcc example. But the code is pretty board independent anyway: https://gist.github.com/salkinium/da0db79a2808fa4f48ca0ac608de57a8 The example writes 32kB of data using 128B page writes using the driver. I modified the driver to allow addressing the upper 64kB using the A16 bank bit in the control byte (or address byte). https://github.com/roboterclubaachen/xpcc/commit/c424fd1f8e0adb3e4ffd3cc9ab0... I had significant electrical trouble in getting the EEPROM chip to work, and saw random write failures just like you. Then I had a closer look at the datasheet, and I wired up pin A2 to low, instead of high, assuming it was an address pin. The datasheet is pretty clear on this: Non-Configurable Chip Select. This pin must be hard wired to logical 1 state (VCC). Device will not operate with this pin left floating or held to logical 0 (VSS). After doing so, the Eeprom worked just fine. Cheers, Niklas