What does Min. Current per I/O pin mean?

The electrical characteristics say:

Current per I/O pin: Min 8mA - Max 20mA

I can certainly understand the max current limit and I’ll make sure not to exceed it.

But what does the min current mean? For example, should I avoid controlling a transistor with a 3mA base current out of a I/O pin? Should I make that at least 8mA? Why?

1 Like

Without enough current the circuit will not maintain a valid logic level. Read more from TI handbook on TTL below

OL Low-Level Output Current
JEDEC – The current into the output terminal with input conditions applied that, according to the product specification, will establish a low level at the output.
TI – The current into an output with input conditions applied that, according to the product specification, establishes a low level at the output.
TI data sheets specify currents flowing out of a device as a negative value. IOL maximum is used as a test condition for VOL. See VOL testing for details.Logic output drivers have a maximum current-drive capability that they can sink and still be able to sustain a valid logic-low level. In a static dc state where current is continuously drawn into the output, because CMOS drivers operate in the linear region, their behavior will be somewhat like a low-impedance resistor and will increase in voltage potential (i.e., increase the VOL level) as the increasing current is sunk into the output pin during a VOL test. Consequently, a TI logic device will operate with a low-level output current that is above the recommended operating range (but below the absolute maximum rating), but TI does NOT represent that the device can sustain the specified VOL level or that the device will operate without any reliability concerns.

IOLS Static Low-Level Output Current
JEDEC – no definition offered
TI – The static and testable current into a Dynamic Output Control (DOC circuitry) output with input conditions applied that, according to the product specifications, establishes a static low level at the output. The dynamic drive current is not specified for devices with DOC circuitry outputs because of its transient nature; however, it is similar to the dynamic drive current that is available from a high-drive (nondamping resistor) standard-output device.
TI data sheets specify currents flowing out of a device as a negative value.
DOC circuitry is designed to drive CMOS input devices, which are capacitive in nature, in point-to-point applications (one receiver input per driver output). For this reason, a large static low-level output current is not required. What matters most in this case is the high-transient-drive capability of the output.
For additional information about DOC circuitry, refer to the TI application report, Dynamic Output Control (DOC) Circuitry Technology and Applications, literature number SCEA009.

@tobia, actually, I believe the minimum current per I/O pin specifies the minimum guaranteed current you can sink/source on any given pin while the maximum is the most you can sink on that pin. You will also see that the maximum PACKAGE current limit is 200ma which is the sum of the current on all the GPIO pins. :grinning:


Hi @tobia

As usual @peekay123 is right on here. You are guaranteed to get 8mA out of all the pins up to the package max of 200mA but you should not try to get more than 20mA per pin or you will damage the device.

If you have a circuit you are thinking of where this current rating is important, you might want to run by us in forum for review. Normally you don’t need to think about this for driving digital logic, but directly driving LEDs or other high current devices requires some thought.


Thank you, now it makes sense.

I was looking at the current rating because I’m using some IO pins to drive mechanical relays through transistors (common emitter) and I was wondering what resistor value to put after each IO pin. The schematic below suggests 1kΩ for a 5V device. On 3.3V this should source less than 3.3mA and the relay seems to work, so I guess it’s ok.

Do engineers always check all the other parameters? Both the transistor and the relay datasheets have dozens of current ratings, voltage and and other stuff. I could spend a day computing formulas with them!

Hi @tobia

Your circuit is fine and will work great for small relays. This is a tried-and-true circuit.

If you want more detail, assume you drive the Spark pin to 3.3V so the base current going into the transistor is (3.3V - Vbe)/R1 with Vbe = 0.7 and R1 =1k, you get 2.6mA. These small signal transistors have current gains (beta or hfe) of around 100, so you should be able to switch around 100 times 2.6mA or 260mA. You can lower R1 to get more base current but you can’t switch too much current with one of these little guys.

The book Art of Electronics is a great reference if you don’t already have it.

To put you at ease, no not always - they know them already by heart :wink:

Just kiddin’
If you’re only using a transistor as a switch - as you’ll do - you don’t need to dig too deep into the datasheets, almost any ol’ TR will do.

On the other hand, if you’d use them as analog amplifiers and maybe even HF then you’d have to carefully select the appropriate type and will have some digging to do.