Maximum current on GPIO?

4,029 views
Skip to first unread message

ope...@gmail.com

unread,
Jul 28, 2014, 2:26:48 AM7/28/14
to beagl...@googlegroups.com
Hi,

I already searched trough TI AM3358 TRM and BBB manual but with no success, so I'll have to ask it here: what ist the maximum current one can pull out of an GPIO pin?

And does the CPU/the related pin die in case of short-circuit of a GPIO or is there an internal protection mechanism?

Cheers

Jim

Gerald Coley

unread,
Jul 28, 2014, 10:24:52 AM7/28/14
to beagl...@googlegroups.com, ope...@gmail.com
6mA. 

No.

Gerald



On Mon, Jul 28, 2014 at 9:03 AM, PLyttle <rkst...@gmail.com> wrote:
This question has been asked and answered before. There is a search box with a big blue button marked "Search" next to it. I suggest you use it.
The document you need is the processor data sheet. (SPRS717F) table 2.7

--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

karlka...@gmail.com

unread,
Jul 30, 2014, 6:38:31 AM7/30/14
to beagl...@googlegroups.com, ope...@gmail.com

Am Dienstag, 29. Juli 2014 20:52:22 UTC+2 schrieb Brandon I:
sink 8mA


So setting a GPI to HIGH just by connecting it to 3.3V directly would be a problem? I assumed GPIO-inputs are always high-resistance!?

PLyttle

unread,
Jul 30, 2014, 6:52:08 AM7/30/14
to beagl...@googlegroups.com, ope...@gmail.com, karlka...@gmail.com
BeagleBone Black System Reference Manual Rev C page 113| (in bright red font):

"There are several precautions that need to me taken when working with the expansion
headers to prevent damage to the board.
1) Do not apply any voltages to any I/O pins when the board is not powered on.
2) Do not drive any external signals into the I/O pins until after the VDD_3V3B rail is up.
3) Do not apply any voltages that are generated from external sources.
4) If voltages are generated from the VDD_5V signal, those supplies must not become
active until after the VDD_3V3B rail is up.
5) If you are applying signals from other boards into the expansion headers, make sure
you power the board up after you power up the BeagleBone Black or make the
connections after power is applied on both boards.
Powering the processor via its I/O pins can cause damage to the processor."

Those kind of assumptions might kill your board.

LP

karlka...@gmail.com

unread,
Jul 30, 2014, 6:59:22 AM7/30/14
to beagl...@googlegroups.com, ope...@gmail.com, karlka...@gmail.com
This doesn't answers my question. So to describe it more clear:

- board/CPU is powered and running
- SYS_RESETn is HIGH
- GPIO is configured as input
...so all preconditions mentioned in BBB manual are met.

Now when I want to set a HIGH signal to that GPI, can I connect it with BBBs 3.3V directly or is a resistor needed in order to keep this 8 mA sink limit?

Dr. Michael J. Chudobiak

unread,
Jul 30, 2014, 8:48:36 AM7/30/14
to beagl...@googlegroups.com
> Now when I want to set a HIGH signal to that GPI, can I connect it with
> BBBs 3.3V directly

Yes.

> or is a resistor needed in order to keep this 8 mA
> sink limit?

No. (You must observe the 8 mA limit, but connecting a GPIO to the 3.3V
or gnd rails will not require anything close to 8 mA.)


-Mike

ky...@cranehome.info

unread,
Jul 30, 2014, 9:11:30 AM7/30/14
to beagl...@googlegroups.com
A GPIO configured as an input will not draw substantial current from the line it's connected to. It is sensitive to the charge level on the line and will not draw current from it (exempting the gate capacitor charge-up). A GPIO that is set to OUTPUT a high signal is now a potential source of current. If you hook that up to the + end of a motor it will try to power the motor with the output. In that case you MUST insure that your circuit limits the current to a maximum of 6mA. The same is true if you OUTPUT a low signal. Hook that to the - lead on a motor and the + lead to supply and the CPU is now trying to absorb all the current from that motor and will go poof.

So if you were to connect directly to the positive supply and say somehow that pin ever becomes an output that is low you now have a dead short through the I/O pin and at best you'll fry that pin or its whole bank, you'll likely kill the whole chip. Since the I/O on these devices is programmatic I never like to connect a pin directly to the supply rails.

Message has been deleted

Brandon I

unread,
Jul 30, 2014, 2:39:42 PM7/30/14
to beagleboard
The gpio are push pull/pseudo open drain, so there's a transistor/switch going from 3.3V to the pin, and a transistor going from ground to the pin. When you set the pin high, you're turning on only the transistor to 3.3V, so it's sourcing the current from 3.3V, through the transistor, out of the pin. When you set it low, you're turning on the transistor to ground, so it's sinking the current into the pin, through the transistor, and to ground. If you have both off (high impedance), there isn't any significant current going anywhere (I think it's some nA).





On Wed, Jul 30, 2014 at 6:11 AM, <ky...@cranehome.info> wrote:
A GPIO configured as an input will not draw substantial current from the line it's connected to.  It is sensitive to the charge level on the line and will not draw current from it (exempting the gate capacitor charge-up).  A GPIO that is set to OUTPUT a high signal is now a potential source of current.   If you hook that up to the + end of a motor it will try to power the motor with the output.  In that case you MUST insure that your circuit limits the current to a maximum of 6mA.  The same is true if you OUTPUT a low signal.  Hook that to the - lead on a motor and the + lead to supply and the CPU is now trying to absorb all the current from that motor and will go poof.

So if you were to connect directly to the positive supply and say somehow that pin ever becomes an output that is low you now have a dead short through the I/O pin and at best you'll fry that pin or its whole bank, you'll likely kill the whole chip.  Since the I/O on these devices is programmatic I never like to connect a pin directly to the supply rails.

--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to a topic in the Google Groups "BeagleBoard" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/beagleboard/cWGCEtg9syY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to beagleboard...@googlegroups.com.

serge...@gmail.com

unread,
Jul 31, 2014, 1:37:41 AM7/31/14
to beagl...@googlegroups.com


On Thursday, July 31, 2014 12:39:42 AM UTC+6, Brandon I wrote:
The gpio are push pull/pseudo open drain, so there's a transistor/switch going from 3.3V to the pin,...


At boot time the respective Sitara pins become outputs high/low level as needed.
Then, please never assume your GPIO is tri-state.


In theory you may connect 3.3v power line direct to the pin if:
1) you are sure it is not used at boot time as the output
2) it is 3.3v domain power related pin.

Feel free to ground the pin if:
1) you are sure it is never used at boot time as an output, and you never drive it High.


To live safe and feel happy always add pulling resistors, never connect pin to the VCC or GND dorectly.

Brandon I

unread,
Jul 31, 2014, 3:01:44 PM7/31/14
to beagleboard
Serge, I was talking about the pin driver circuit inside the package (something like this) not an external connection to 3.3V or ground, but I totally agree for external connections. Always make sure the current in and out of the pin, in any oops type configuration, will be limited to what the pin can handle.




--

neo

unread,
Sep 19, 2014, 9:59:56 AM9/19/14
to beagl...@googlegroups.com, serge...@gmail.com
hi  Serge i totally agree with what you said

PLyttle

unread,
Jul 28, 2014, 10:03:03 AM7/28/14
to beagl...@googlegroups.com, ope...@gmail.com
This question has been asked and answered before. There is a search box with a big blue button marked "Search" next to it. I suggest you use it.
The document you need is the processor data sheet. (SPRS717F) table 2.7

On Monday, July 28, 2014 8:26:48 AM UTC+2, ope...@gmail.com wrote:

Brandon I

unread,
Jul 29, 2014, 2:52:22 PM7/29/14
to beagl...@googlegroups.com, ope...@gmail.com
Source 6mA, sink 8mA, with the following pins limited to sourcing 4mA:

 P9_19 gpio0[13]

·         P9_20 gpio0[12]

·         P9_24 gpio0[15]

·         P9_26 gpio0[14]

·         P9_41 gpio0[20]

·         P9_42 gpio0[7]

Reply all
Reply to author
Forward
0 new messages