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, 2019 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, 2019 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, 2019 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, 2019 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, 2019 at 11:55

1 Answer 1


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.

EDIT/UPDATE, 2021-06-09:

The "Official Documentation" on the RPi GPIO is written for the BCM2835 - the Broadcom processor used in Raspberry Pi 1 and Zero. The Foundation has not yet updated this GPIO documentation for the RPi 2, 3 or 4. This may mean the BCM2835 GPIO documents remain valid - or it may not. The CM4 documentation addresses the BCM2711 (the RPi 4b SoC), and covers some of the details in the "Official GPIO Documentation", but not all. You can follow this question if you're interested.


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.