3 days ago I bought my first Raspberry Pi and it's a rev.B. I read that it provides through GPIO pins either 3,3V or 5V and the GPIO pins can handle between 2mA and 16mA each one. Moreover, to avoid an high impedance state (floating), the system is built with an internal pull-up/down circuitry that can be enabled via c/py/whatelse code.

My need was to mount a push button on GPIO30 (by using 3,3V) thus I soldered 8 pins on header P5 and I built a pull-up system with 10kΩ and 1kΩ resistors. It was done before I read the raspberry pi integrate a pull-up/down circuit...

My question is: It is necessary to build external circuits in order to avoid floating states? Could not be sufficient to rely on the internal p-up/down? Maybe it's a good practice to avoid the high impedance state during the boot phase..(?!)..

1 Answer 1


Internal pull-up and pull-down resistors are weak (they are something like 50-100 kOhm; I believe it's not specified exasctly). This may be to much in some cases. Also, as you sugested, pull-up/pull-down resistors configuration won't be persistant after boot so if your circuit depends on fixed configuration all the time, it's better to use external resistors.

  • It means that apart from inconsistency after boot, it is NOT mandatory but it depends on how much current is needed for specific applications. Now it's more clear, thank you.
    – Emanuele
    Commented Dec 26, 2013 at 14:43
  • You know, if it was mandatory to use external resistor, having internal one would be pointless :) Commented Dec 26, 2013 at 19:23

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.