I have a Raspberry Pi 2 Model B. When I power it, with nothing connected to the GPIO pins and the OS still not booted (probably, I checked right after plugging it to the power) some of the pins show HIGH. I'm using the wiringPi library. Here's what gpio readall prints:

enter image description here

And when I set some of the pins that read HIGH to output mode, the voltage drops down to 0V. If I then change it's mode back to input, the voltage jumps up to 3.3V(HIGH). The input impedance is about 165 Ohms while the pin is configured as input (It sources 2mA when shorted to ground).

Is this Raspberry Pi's normal behavior or there's something wrong with my rpi. Shouldn't all pins when the rpi is freshly started read 0?

1 Answer 1


GPIO0 to GPIO7 have their internal pull-ups to 3V3 enabled at power-up. Pins 3 and 5 (GPIO2 and GPIO3) additionally have external hard wired 1k8 pull-ups to 3V3.

Other GPIO have their internal pull-downs to ground enabled at power-up.

See page 102 of BCM2835 ARM Peripherals

  • GPIO0 refers to BCM 0(which is pin 27 physical) or GPIO. 0 (which is pin 11 physical)? Also in the table on page 102 of the document you linked in your answer there are pins up to GPIO53. How is this possible when there are 40 pins on the raspberry pi? Jun 14, 2016 at 19:36
  • I only use Broadcom numbers when referring to the GPIO. There are 54 GPIO, only 28 of those GPIO are routed to the 40 pin expansion header.
    – joan
    Jun 14, 2016 at 20:20
  • Thank you, I appreciate your fast response. You saved me hours of pointless experimenting and searching. Jun 14, 2016 at 20:29

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.