According to this official link : GPIO Usage GPIO_0 and GPIO_1 have been reserved for advanced use and some other links mention the same. It is for EEPROM data

But there is no mention of anything in this datasheet

Model 4B datasheet

It seems GPIO0 and 1 are just any other GPIO according to the data sheet

Can anyone give more information? Thanks!

3 Answers 3


The datasheet you linked says exactly that about the ID_SD and ID_SC reservations:

5.1.1 GPIO Pin Assignments, page 9:

These pins are reserved for HAT ID EEPROM.

At boot time, this I2C interface will be interrogated to look for an EEPROM that identifies the attached board and allows automatic setup of the GPIOs (and optionally, Linux drivers).

DO NOT USE these pins for anything other than attaching an I2C ID EEPROM. Leave unconnected if ID EEPROM not required.

  • but I have used those pins successfully . am I endangering the pi? Apr 13, 2020 at 19:18
  • 2
    No but any HAT attached may interfere with your use of them - hence its best to leave them alone and not get caught in the future. There is a sticky on creating these EEPROMS at raspberrypi.org/forums/viewtopic.php?t=108134
    – user115418
    Apr 13, 2020 at 19:21
  • no I don't plan to use any EEPROM related HAT. just going to use it as output pins. I will be fine I guess thanks Apr 13, 2020 at 19:36
  • 1
    See the above note Leave unconnected if ID EEPROM not required. it may not bother you at the moment but some point it will catch you out :)
    – user115418
    Apr 13, 2020 at 21:53
  • I have used up all the pins and have only 0,1 available. I need them for o/p some data. I don't plan to use any EEPROM Apr 14, 2020 at 9:06

GPIO0 (pin 27) GPIO1 (pin 28) are used to control HATs and is marked reserved on official documentation.

I believe on newer Pi models this I²C bus is also connected to on-board extenders so is used for other purposes, although this is not documented, expect the voltage on these pin to change unexpectedly. There is also the possibility of interfering with normal Pi operation, but this is unlikely to cause any permanent damage.

I attempted to use I²C0 at one time - this worked on PiB+ but not later models.

According to the data sheet these are normal pins, it is only the Pi board and firmware that allocate them for other purposes.


According to the official docs you can switch off their usage in /boot/config.txt. Just set force_eeprom_read to 0.


Taken from: https://www.raspberrypi.org/documentation/configuration/config-txt/boot.md


Set this option to 0 to prevent the firmware from trying to read an I2C HAT EEPROM (connected to pins ID_SD & ID_SC) at powerup.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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