X-cube-eeprom Github Link -

| Operation | Official Driver (Polling) | GitHub Fork (with DMA + Safe Write) | | :--- | :--- | :--- | | Write 1 KB (sequential) | 520 ms | 190 ms | | Write 1 KB (random addresses) | 610 ms | 210 ms | | Read 1 KB (sequential) | 45 ms | 12 ms (DMA) | | Cross-page write handling | Manual (user must chunk) | Automatic |

Edit the file to match your EEPROM:

Your EEPROM works, but an RTC or sensor on the same bus stops responding. Solution: The EEPROM driver may be holding the bus or not releasing it after an error. Look for a GitHub fork that includes HAL_I2C_DeInit() and re-init sequences in the error handler. x-cube-eeprom github

While ST doesn’t host x-cube-eeprom directly under their main GitHub, they have started moving many expansions to format. You can find these by searching GitHub for STM32CubeExpansion_EEPROM . These are the official releases, but they are updated less frequently than community forks. | Operation | Official Driver (Polling) | GitHub

X-CUBE-EEPROM is an STM32Cube expansion package that implements . It uses a sophisticated algorithm to manage data across at least two Flash memory pages, providing several key advantages over raw Flash writes: While ST doesn’t host x-cube-eeprom directly under their

if(readData == data) printf("EEPROM works like a charm!\r\n");