RPi 1 Model A here. Brand new to RPi and electronics in general. I'm finding a hard time finding the exact voltage/current "ratings" for my model but the closest I could find was a comment under this question here where the comment reads:

"The 8ma and 16ma figures refer to pins configured for output. 0.5ma is for pins configured for input. Just ensure that there's always at least (Vss * 2Kohm) resistance between Vss and the pin then no more than 0.5ma can ever flow in to the input."

So from this comment, as well as other articles I've collected, my understanding of how my specific model of RPi outputs voltage & current is as follows:

  • There is a difference in voltage/current output depending on whether we're talking about input GPIO pins, or output GPIO pins
  • For input GPIO pins, my RPi expects 3.3V and 0.5mA coming into it from a breadboard or any other connected components (LEDs, pushbuttons, etc.)
  • For output GPIO pins, my RPi expects 3.3V and between 8mA and 16mA (safely) coming out of it (and into a breadboard or any other connected components)

Can someone confirm/clarify my understanding for me? I want to make sure I don't "fry my pi" by giving it too much voltage and/or current to a specific pin!

2 Answers 2


Lets first define what a input vs a output is.

Input is measuring if there is any voltage coming in or not on the GPIO pin.

Output is driving a load to either to a high voltage, 3.3V or zero voltage. The load can be maximum 16mA.

So when you measure (input) a voltage on a GPIO the only thing you have to consider is not to exceed 3.3 volt, the current is decided by the GPIO's internal resistance.

Ref.: Section 6, https://www.raspberrypi.org/documentation/hardware/computemodule/RPI-CM-DATASHEET-V1_0.pdf

  • Ahh thanks @MatsK (+1): ok, so for input pins: (1) don't go above 3.3V coming into the pin, and (2) current doesn't matter. And for output pins: (1) the pin will either be sending a 3.3V voltage, or it won't be sending any (0V) voltage, and (2) you can't put more than a 16mA load on the output pin. Are these 4 assertions correct?
    – smeeb
    Sep 7, 2017 at 21:25
  • Spot on! I have added the datasheet to my answer.
    – MatsK
    Sep 7, 2017 at 21:32
  • Not really. 1) don't go above 3.3V OR below 0V. 2) current does matter if you go outside the safe voltages, that's where the 0.5mA figure comes into play. 3) the output pin won't be 3V3 if you draw too much current. 4) you can draw far more than 16mA from a GPIO. Probably not sensible to do so though.
    – joan
    Sep 7, 2017 at 21:44
  • @joan Where do you get the 0.5 mA from, the datasheet mention leak current of 5uA and that the pullup/pulldown resistor is 50-65k ohm = 50-60 uA !
    – MatsK
    Sep 7, 2017 at 21:52
  • 1
    I think the 0.5mA figure is the current the GPIO protection diode is said to be able to safely shunt to the 3V3 rail when exposed to an over voltage.
    – joan
    Sep 7, 2017 at 21:54

The GPIO hardware peripheral is identical on all current Pi models.

The GPIO are all 3V3. This means you should not expose them to a voltage outside the range 0 to 3.3V.

When set as an input the GPIO will be seen as a very high resistance. It will only use a few microamps to register as low or high.

When set as an output the current you can draw whilst ensuring that the output will be reliably low or high depends on the (configurable) drive strength which defaults to 8mA. This means that if you set the GPIO as an output and write 1 the GPIO may appear to be at a logic 0 if you draw more than 8mA.

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.