I have made a custom PCB/Hat for a Raspberry Pi and I need to use ID_SD and ID_SC as general GPIOs. At the moment Raspberry Pi 4 gets stuck at Rainbow screen when booting (with Raspberry Pi 3B+ everything is fine and the Raspberry starts up when the PCB is connected to it).

I added the line force_eeprom_read=0 to /boot/config.txt, which should prevent scanning I2C HAT EEPROM, but in my case that does not help. The RPi4 still does not boot up and is stuck at the boot screen. (Followed this thread: More information about GPIO0 and GPIO1)

I have narrowed it down to the pin nr 28 which ID_SC (or GPIO1). There is a voltage divider connected to this pin consisting of a 5,1k and 10k resistors (VCC---5,1k--GPIO1--10k---GND). It is meant for a water flow sensor and if it is not connected the pin is drawn to the GND level. If a sensor is connected it could be either 3.3V or 0V at the startup.

I just want / need to turn off the EEPROM scanning, if force_eeprom_read=0 to config.txt did not work, what should I do? (or try next)

Do I have to create a custom device-tree-overlay? Will that help? Changing the hardware would be the last option (my board is using all the pins). I believe that a nice solution would be to turn off / prevent the EEPROM scanning.

1 Answer 1


You are out of luck. It can't be done with a Pi4.

See my answer in the linked question - the I²C bus is used for other things on Pi3 & Pi4 (I suspect controlled by Video Core).

These pins can be used for some purposes; I have used for UART.

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.