I was wondering on how to connect an EEPROM chip to the Raspberry Pi 3? And any suggestions on which EEPROM chip model is best to use with RPi3?


Most EEPROM chips use either SPI or I2C to transfer data, check the docs for the chip you choose to find out which and connect to the appropriate bus on the Pi. From there it's a matter of sending the right commands on the right bus -- again the chip docs will help with this.

There is, no doubt, many Python libraries to help with the commands (e.g. https://github.com/headamage/EEPROM-PiPython) or you could try the device-tree bindings for EEPROM chips: https://github.com/raspberrypi/linux/tree/rpi-4.19.y/Documentation/devicetree/bindings/eeprom

I've no specific experience on this but there might be a caveat: if you choose an I2C EEPROM avoid the temptation to use the second I2C bus, this is reserved for HATs.

  • Or if you insist to use more than one I2C bus, you can use Rpi4B buster, which has 5 (but only the first 3 are stable). But release 2019sep26 might have solved the problem. So for Rpi4B, you don't have any reason to use the I2C channel 0 which belong to the HAT EEPROM. – tlfong01 Oct 8 at 8:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.