What is the maximum amount of current that can be pulled from a single GPIO pin?

Does the maximum current decrease if current is being pulled from multiple GPIO pins?

From my research, I've found:

This answer is OBSOLETE. The Pi 3.3V rail is widely assumed to provide 50mA, but this is not officially documented for recent Pi models. The original Pi has an on-board linear regulator which was limited, but the B+ and later have a switch mode regulator which can supply more. The regulator chip (which supplies both 3.3V and 1.8V) is rated at 1A. Raspberry Pi Power Limitations

This is an interesting question because it has a not so concrete answer.

The power rails...

  • The 5 V rail appears to passed straight through from the USB and the current is therefore limited to whatever the USB port can supply minus the current being drawn by the board. (Source 1)
  • The 3.3 V rail can supply a maximum of 50 mA. (Source 1)

The GPIO...

So here it gets a little foggier. There isn't any current limiting features on the board, so if you demand a certain amount of current from a pin, it will attempt to drive it until something breaks.

Saying that, from the research I've done, the absolute maximum you should draw from a single pin is 16 mA. HOWEVER, a pin is driven by the 3.3 V rail, which can't drive more than 50 mA! So it's a balancing act. It is recommended though, that a series resistor is placed on the GPIO to limit the current and prevent damage. The board was really designed to be buffered before being connect to peripheral devices. (Source 2) (Source 3)

Source 2 and 3 link to pages that explain the operation of the Pi's driver set up on the GPIO. It's worth a read though may be a bit outside the scope of the question.

To summarise from another source, the GPIO output current is...

A maximum of 16mA per pin with the total current from all pins not exceeding 50mA[sic] (Source 4)

This answer is OBSOLETE. The Pi 3.3V rail is widely assumed to provide 50mA, but this is not officially documented for recent Pi models. The original Pi has an on-board linear regulator which was limited, but the B+ and later have a switch mode regulator which can supply more. The regulator chip (which supplies both 3.3V and 1.8V) is rated at 1A. Raspberry Pi Power Limitations

According to this blog

When the Pi was designed, they used a figure of 3mA per GPIO pins in determining if the regulator could supply enough current.

17 pins at 3 mA each means the power regulator is only rated for 50 mA

50 mA / 17 =~ 3 mA

The author of the same blog suggest that 16 mA be the maximum pulled from any 1 pin, and that 50 mA as the maximum from all pins.

  • 1
    Thanks! Here is an archive link in case the link above stops working. – akhmed Jul 10 '16 at 22:23

A Raspberry Pi pin (GPIO) gives me a 23 mA max current (3.43 V) when I set it to on (using pi4j or RPI.GPIO). I think the maximum permitted is 30 mA, otherwise your Raspberry Pi is dead.

You can check it yourself by using a multimeter connected in series.

  • 2
    that 23ma could most likely be explained by ohms law with the voltage drop on your multimeter, not the Rpi's actual capability. Current = Voltage / Resistance And no current meter has 0 ohm resistance. Just a little bit of theory for the day :) – user30946 May 17 '15 at 2:37
  • @user30946: 23mA at 3.43V would give 149 Ohm. A current meter which such a high resistance would be useless and would burn out on any medium current. – Martin Scharrer Oct 8 '15 at 21:19

This answer is OBSOLETE. The Pi 3.3V rail is widely assumed to provide 50mA, but this is not officially documented for recent Pi models. The original Pi has an on-board linear regulator which was limited, but the B+ and later have a switch mode regulator which can supply more. The regulator chip (which supplies both 3.3V and 1.8V) is rated at 1A. Raspberry Pi Power Limitations A maximum of 16mA per pin with the total current from all pins not exceeding 51mA

From the Gert himself!

So, if your project is only using 4 pins, make sure that your current settings do no exceed the 16mA per pin and all driven together don't exceed the total of 51mA. I believe that the 16mA is also configurable somewhere.

Generally, you should be using a buffer of sorts or a transistor to drive things like LEDs or relays. If you have a bit of a wiring problem or component failure, your board and or CPU may let out the magic smoke.

I know HP used to make some marvelous low current LEDs back in the day. They used to need 2mA of current and a forward voltage for their red one of around 2V, so you would need a small resistor to limit its current consumption and protect the CPU pin.

I see Vishay have a similar type device, and I suppose Kingbright do too.

To calculate the current limiting resistor:

resVal = (Vsupply - VforwardLED)/currentLimit

so... for a 3.3V RPi pin, LED spec says 2V, our limit is 2mA, we get:
resVal = (3.3 - 2)/0.002

resVal = 650 Ohms

Safely round that up to the closest E12/E24 resistor value of 680 Ohms

Here is the values table and color codes if needed.

Enjoy your RPi! Everything should have more LEDS!

Your Answer

 
discard

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.