I have read that limits may be programmed for the output current of GPIO pins. However, after reading several online versions of Broadcom's data sheet for the SoC, I've found nothing to corroborate the data in this reference. Is there a "definitive source" for this GPIO current limit function, either in hardware documentation OR software documentation?

  • The title may mislead. The scribd document is quite nuanced and is all about how much current may be sourced/sinked from a GPIO while still maintaining the correct (driven) logic level. – joan Mar 31 at 19:56
  • If you're suggesting that the scribd document may have details that aren't in the Foundation's "official" documentation, I agree with you. This Q&A has been in my "to do list" for nearly 9 months. My original intent was to verify the scribd document, but I wasn't quite able to do that. What I did get from the maintainers was an update to the "official documentation" that addressed the GPIO current limit. I figured that was worth "publishing" here in hope that some would benefit. But if you have thoughts or suggestions, I'll happily try to incorporate those. – Seamus Mar 31 at 20:13
  • Not quite. I am pointing out that these are not current limits. The default pad setting is 8mA. You can still draw say 16mA from that GPIO. However the hardware no longer promises that the voltage will still be high enough to be seen as a logic 1 on that GPIO. For instance it might have dropped to 2V7. – joan Apr 1 at 7:20
  • @joan: If I understand what you're saying, it's this: While you can set current limits on the GPIO in software, those limits are, for all intents and purposes, meaningless. For example, you can set the current limit to 2mA, yet if you connect a load of 330 Ohms from that pin to ground, and set the pin to "HIGH" (3.3V)) the pin will source 10 mA, not 2 mA. – Seamus Apr 1 at 11:35
  • No, I am trying to summarise the scribd document. "What does the current value mean? The current value specifies the maximum current under which the pad will still meet the specification. It is not: The current that the pad will deliver. It is not: A current limit so the pad will not blow up.The pad output is a voltage source. If set high the pad will try to drive the output to the rail voltagewhich on the Raspberry-Pi is 3V3 (3.3 Volts). If set low the pad will try to drive the output to ground (0 Volts). As the text says: the pad will try to drive the output high or low..." – joan Apr 1 at 11:55

Yes. The definitive source for RPi hardware documentation is the Raspberry Pi Foundation. The Foundation updated their published documentation to include programmable GPIO current limits recently (Jan, 2019), and the latest "official documentation" of the GPIO docs can be found here.

In general, The Foundation's "official documentation" is published in the following locations:

The Foundation has also referenced some documents published by Broadcom as part of their official documentation. Specifically with respect to the GPIO, you may wish to consult this document beginning on p. 89.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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