This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

GPIO drive high Vf LED w/o current limiting resistor?

Specifically, sinking a Cree C503B green LED (Vf 3.2V at 20ma) from a GPIO configured for high drive, without a current limiting resistor, from VDD 3.6V?

Figure 23 “GPIO drive strength vs Voltage, high drive VDD=3.0V” of the nrf52832 product spec, seems to show that the voltage drop across the GPIO rises with current. My reasoning is that the circuit would stabilize at about 0.5V drop across the GPIO, 3.1V across the LED, and 13mA current. I know an LED should be driven from a constant current source, is a GPIO in some sense regulating the current, at least in this circuit? I am not a electrical engineer.

Parents
  • it's not a very good idea. High drive will still limit current, although much less-so than low drive. However it will let you pull about 15mA through the pin. That's ok as long as nothing else is pulling current through pins. If it is you're exceeding the total GPIO current draw of 15mA and bad things are likely to happen.

    If you really want to drive a 20mA LED you should really just put a driver circuit on it, an sot-23 mosfet is plenty good enough, and a current limiter (unless your power supply is sufficiently close to 3.2v you're on Vf anyway). The nRF series aren't like the chips they put into arduinos which are designed to drive things directly, it's low power, doesn't have a big fat power bus in there.

  • I should explain more. I don't want to drive 15ma, only 1 or 2ma (that provides all the brightness I need.)

    You might exceed limits when a GPIO load is low impedance. This LED (green, high brightness) is high impedance and drops 3.2V. If the GPIO drops more than 0.4V (at say a few mA), then the LED turns off since the voltage across the LED is less than Vf? You could say it is a special case, a hack. Am I analyzing the circuit properly? Does it resonate at such a high frequency that it doesn’t produce any light?

    The typical Vf for this LED is 3.2V, and the max Vf is 4.V. I will need to qualify the LEDs to make sure instances have actual Vf below 3.2V. I should probably go with a resistor/mosfet design just to insure that all my board instances have the same brightness.

    I also don't want a resistor to limit current (a resistor wastes power into heat?) or board space for a mosfet. I am probably optimizing too much, the wattage through the resistor is small compared to the wattage through the LED, and the board space is no big deal.

    I want blue/green: more visible to night vision. Produces one candela of brightness (in a 15 degree cone, at 2mA), visible a mile in the dark? energy as possible.

Reply
  • I should explain more. I don't want to drive 15ma, only 1 or 2ma (that provides all the brightness I need.)

    You might exceed limits when a GPIO load is low impedance. This LED (green, high brightness) is high impedance and drops 3.2V. If the GPIO drops more than 0.4V (at say a few mA), then the LED turns off since the voltage across the LED is less than Vf? You could say it is a special case, a hack. Am I analyzing the circuit properly? Does it resonate at such a high frequency that it doesn’t produce any light?

    The typical Vf for this LED is 3.2V, and the max Vf is 4.V. I will need to qualify the LEDs to make sure instances have actual Vf below 3.2V. I should probably go with a resistor/mosfet design just to insure that all my board instances have the same brightness.

    I also don't want a resistor to limit current (a resistor wastes power into heat?) or board space for a mosfet. I am probably optimizing too much, the wattage through the resistor is small compared to the wattage through the LED, and the board space is no big deal.

    I want blue/green: more visible to night vision. Produces one candela of brightness (in a 15 degree cone, at 2mA), visible a mile in the dark? energy as possible.

Children
No Data
Related