I found a thread and a comment saying:

(... omitted ...)
only GPIOs 28,29 44 & 45 float. 0-8 have default internal 50k pulls high, the rest default pull low. Additionally, there are strong pulls up for whichever I2C peripheral appears at pins 3 & 5 on the GPIO header (GPIOs 2&3 on the majority of Pi models.
(... omitted ...)

But, Raspberry Pi doesn't have a pin numbered larger than 40!

I wonder if it is true or not, and if available, I want to see the (official) reference.

1 Answer 1


Yes, it is true.

The Pi has 54 GPIO numbered 0 to 53. GPIO 0-27 are brought out to pins on the current 40-pin expansion header. The other GPIO are generally inaccessible.

See BCM2835 ARM Peripherals page 102 first column in table for the power-up GPIO pull state.

In addition GPIO 2/3 used for I2C have hard-wired 1k8 pull-ups to 3V3 fitted. A fact you can confirm by examining the board and the schematics.

  • Thanks. I need to use floating pin. According to the datasheet, 28, 29, 44, and 45 are floating, but they are inaccessible. Then, Raspberry Pi isn't suitable for my purpose?
    – Jeon
    Commented Aug 8, 2017 at 10:38
  • 1
    @Jeon - those are the default power-up pulls. You can change the settings in software (apart from the hard-wired GPIO 2/3). E.g. pigs pud 4 o switches off the pull on GPIO 4.
    – joan
    Commented Aug 8, 2017 at 11:12
  • That's great. I am using wiringPi instead of pigpio. I found the same functionality pullUpDnControl(). Many thanks!
    – Jeon
    Commented Aug 8, 2017 at 11:22

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.