8
\$\begingroup\$

From research you read on LEDs they need resistors to limit current.

But from experimenting, it seems to draw current given the correct voltage.

Even if I put a 5mm LED between 5 V and ground on an Arduino, it doesn't pull runaway current like a dead short. It just runs at 5 V and bright, then eventually burns out.

If that was a wire or a diode it would give high amounts of current causing power supply to cut out / Arduino to restart.

EDIT: The Voltage source was a USB port on a laptop.

The full circuit is

5V Laptop usb -> Arduino Nano -> 5v PIN -> multimeter -> White 5mm LED -> Nano Ground

With this I managed to keep the LED running solid at 150ma without a resistor. Overtime that current would go up a little, then drop a lot (assuming this is burning out), then would settle at 30ma, very dull, but not burn out.

Question 1)

Why does most of the internet say LEDs will pull too much current without a resistor, but it seems like the resistor is there to bring the voltage down, but the LED pulls the current it needs?

Or am I wrong in this thinking, and something else in the circuit (a circuit of Arduino, and LED between 5 V and ground, nothing else) limiting the current?

Question 2)

How would you drive an LED at more current than it pulls? If I wanted to pulse it at say 1 amp... how would that be done? Do I have to pulse at much higher voltage or is there a way to push current through the LED?

\$\endgroup\$
10
  • 1
    \$\begingroup\$ Does this answer your question? electronics.stackexchange.com/questions/529547/… \$\endgroup\$ Commented Apr 25, 2023 at 20:53
  • 2
    \$\begingroup\$ here is a fun fact: when (some types of?) green LEDs overheat they turn orange. Try it! \$\endgroup\$
    – user20574
    Commented Apr 25, 2023 at 22:41
  • 8
    \$\begingroup\$ "It just runs at 5 V and bright, then eventually burns out.... Why does most of the internet say LEDs will pull too much current without a resistor"... what? The internet says that it pulls too much current without a resistor, because it pulls too much current without a resistor. If it weren't pulling too much current, then it wouldn't burn out. \$\endgroup\$ Commented Apr 26, 2023 at 17:57
  • 8
    \$\begingroup\$ They are transformed into Darkness Emitting Diodes --- DEDs. :) \$\endgroup\$
    – PStechPaul
    Commented Apr 27, 2023 at 1:44
  • 4
    \$\begingroup\$ "Why does most of the internet say LEDs will pull too much current without a resistor?" because the internet is wrong. Either through oversimplification, convolution, not understanding the underlying dance of electrons, or inexperience with electronics. More accurately "an LED would PASS too much current..." Once the Vf is met the saturation region bridges, the gate opens, and it's mad dash to the sweet embrace of those lonely protons. But, too many cars too fast means lots of crashes across that bridge. Eventually the bridge fails. Add a cop (resistor) and they drive nice and orderly again. \$\endgroup\$
    – Tank R.
    Commented Apr 27, 2023 at 12:57

5 Answers 5

31
\$\begingroup\$

When we call the LED a certain voltage, that's a simplification, or lie-to-children. Actually, you can look up the real current/voltage curve.

If you have a specific LED in mind you can look at its datasheet, but otherwise, here's some random chart for some random LEDs of different colours: (borrowed from another answer) enter image description here

Your LED won't have the same curve as whatever random ones they used, so don't read the actual current and voltage off this chart. Just look at the shape. (I'd guess your ones have lower current than these ones.)

You can see the curves are kinda vertical, especially for the more red LEDs. So it's pretty reasonable to simplify the calculations by calling it a certain voltage. But it's not properly accurate.

If you feed the LED a certain voltage, it will stabilize at some current. If you put 5V across whatever UV LED they used to make the chart, it would draw about 78mA, as the chart says. If you put 5V across whatever red LED they used, the current would be off the chart. From the looks of it, about 350mA.

In most cases this current is way too high and the LED burns out. Hence the resistor is needed. You said this yourself - you said your LED runs bright and then burns out. So you have a problem, which you can fix by adding a resistor.

The I/V curve is maintained across the LED at all times (although it may shift depending on the temperature). If you want higher current you also need higher voltage. If you want higher voltage you also need higher current. They go together. This applies to almost all electronic components.

\$\endgroup\$
4
  • 11
    \$\begingroup\$ I’d add that OP’s “5V” source probably has a lot of internal resistance or overcurrent protection. So it’s maybe not even the LED which is limiting the current. \$\endgroup\$
    – Michael
    Commented Apr 26, 2023 at 6:45
  • 2
    \$\begingroup\$ Why is it that the forward voltage at a given current seems to be mostly in order of the frequency of light emitted, but green and yellow are swapped? \$\endgroup\$ Commented Apr 26, 2023 at 17:59
  • 5
    \$\begingroup\$ Probably a different substrate. AlInGaP vs InGaN, for example. \$\endgroup\$
    – vir
    Commented Apr 26, 2023 at 19:08
  • 2
    \$\begingroup\$ @KarlKnechtel The green (due to the different substrate and its electronic structure) is more efficient. The yellow has more additional non-emitting transitions between excited and ground state. \$\endgroup\$
    – Karl
    Commented Apr 27, 2023 at 6:34
9
\$\begingroup\$

An LED can be reasonably modeled with a couple ordinary silicon diodes and a series resistor. And the Arduino GPIO high output can be simulated by a resistor to Vdd, such that it will draw perhaps 60 mA into a short to GND. Simulating these would be as follows:

schematic

simulate this circuit – Schematic created using CircuitLab

GPIO voltage

LED current

\$\endgroup\$
3
  • 1
    \$\begingroup\$ They said they put the LED between 5V and ground on an Arduino. That seems to me ambiguous between a GPIO pin (which would have some resistance and maybe over-current protection, perhaps at a higher current limit than a small LED would survive) or the actual 5V power supply rail (which I assume could supply much more current into a short). IDK which is more likely given the reported behaviour of bright and then burning out non-instantly. But yeah, useful to mention the GPIO outputs anyway, to point out that they're far from a "dead short". \$\endgroup\$ Commented Apr 26, 2023 at 15:14
  • 1
    \$\begingroup\$ OP's comment on another answer reports touching the LED to the actual 5V rail by hand, just to see what happens, with the Arduino board apparently just being used because they had it nearby as a convenient source of live 5V. (And measured 62 mA when touching the LED to Vin, vs. 152 mA on a 5V regulator directly.) \$\endgroup\$ Commented Apr 26, 2023 at 15:16
  • \$\begingroup\$ It's a very good udea to represent this configuration by such an equivalent circuit. \$\endgroup\$ Commented Apr 27, 2023 at 9:02
7
\$\begingroup\$
  1. Why does most of the internet say LEDs will pull too much current without a resistor, but it seems like the resistor is there to bring the voltage down, but the LED pulls the current it needs?

    For those who just want an LED indicator circuit without getting mired in excessive detail, treating the LED as if it has a pre-programmed voltage and current and computing the resistor value from that is more than enough detail for many. And it works fine enough for LED indicators using a DC supply.

    Either algebra/calculus or geometry/pictures helps gain stronger insights. And there is no single best way to go here, either, as the better approach usually depends on the ways one prefers to think about the world in quantitative ways. For some, that's found in symbolic statements. For others, that's found in graphs or geometric presentations. For still others, both are wanted.

    A symbolic way, without an added resistor and for smaller currents, is \$I_{_\text{LED}}\approx A\cdot\exp\left(B\cdot V_{_\text{LED}}\right)\$. Constants \$A\$ and \$B\$ characterize the specific details and are, themselves, functions of the LED chip temperature, among other things. For higher currents, various impedances start to matter (and eventually dominate.) These can be bulked together into a single term, \$R_{_\text{LED}}\$. Then the more detailed equation that covers more territory (wider current operating range) is \$I_{_\text{LED}}\approx A\cdot\exp\left(B\cdot \left[V_{_\text{LED}}-R_{_\text{LED}}\cdot I_{_\text{LED}}\right]\right)\$. Note that now \$I_{_\text{LED}}\$ appears on both sides and solving that requires a diversion into product-logs. But an iterative approach also works. When adding an external resistor, this resistor is just added to \$R_{_\text{LED}}\$ so the new equation is then \$I_{_\text{LED}}\approx A\cdot\exp\left(B\cdot \left[V_{_\text{SUPPLY}}-\left(R_{_\text{LED}}+R\right)\cdot I_{_\text{LED}}\right]\right)\$. That's not any worse than before. But it's still messy. (Note that I changed \$V_{_\text{LED}}\$ to \$V_{_\text{SUPPLY}}\$ because we're now talking about the external supply rail and not the LED terminal voltage.)

    The above doesn't provide a lot of insight for most. You can kind of see that the series resistance drops some of the supply voltage. This fits under a general topic called negative feedback (NFB) and when one is tuned into such things then the equation makes some sense. Let's switch over to drawing some pictures to see how this bulk resistance-style NFB works. To do that, let's plot these two equations:

    \$y=A\cdot\exp\left(B\cdot x\right)\$

    \$y=A\cdot\exp\left(B\cdot \left[x-C\cdot y\right]\right)\$

    Above, \$C\$ is the NFB factor (the added resistor), which feeds some of the output back to the input to reduce its impact. I'll pick some values: \$A=3\times 10^{-15}\$, \$B=9.6\$, and \$C=100\$ and plot a result.

    Before I do that, one more equation which is the exact solution equation for the 2nd equation above, using those constants I just mentioned:

    \$y=\frac1{960}\cdot\operatorname{productlog}\left(2.88\times 10^{-12}\cdot\exp\left[9.6\cdot x\right]\right)\$

    Now, here's the plot (performed using Wolfram Alpha's website):

    enter image description here

    The exponential curve (no R) is the LED without a resistor providing NFB drawn from the 1st equation above. The 2nd equation could be plotted, parametrically, but instead I used the 3rd equation to plot the Exact line, where a resistor has been added to provide NFB. Note that the resistor tends to linearize the exponential curve, so that slight increases in voltage mean slight increases in current (instead of rapid increases.)

    I've added what's called a load line for the resistor. (These were in more common use before calculators and computers became so readily available.) Note that this line intersects the exponential LED curve at a certain point. By finding this intersection, one finds out where the LED current will wind up when adding a current limit resistor.

    The load line is easy to draw. On the left, on the y-axis, mark a point with \$V_{_\text{LED}}=0\:\text{V}\$ (can't happen, but assume it for now.) In this case, all the supply voltage (call it \$5\:\text{V}\$) is across the resistor. So the LED current would be: \$\frac{5\:\text{V}-0\:\text{V}}{R=100\:\Omega}=50\:\text{mA}\$. On the right, on the x-axis, mark another point with \$V_{_\text{LED}}=5\:\text{V}\$ (also can't happen.) Now, all of the supply voltage is across the LED and there's nothing left over for the resistor, so \$\frac{5\:\text{V}-5\:\text{V}}{R=100\:\Omega}=0\:\text{mA}\$. Draw a line between these two points and see where that line intersects the unlimited LED I/V curve. That's the operating point!

    Again, note that the Exact calculation that includes the NFB and solves for the LED current treats the x-axis as the supply voltage axis instead of the LED voltage axis. But please see that right at \$5\:\text{V}\$ for the supply voltage that curve just touches the red horizontal line, right at the exact same current as did the load line intersection. This is why a load line is so nice. No nasty equation solutions to work out. Just draw and it shows you the right result.

    Regardless of how you do it, super-math mode or load-line graphs, the above picture should get the point across. There's much better control and predictability when a resistor is added -- good enough for most indicator light uses, anyway.

  2. How would you drive an LED at more current than it pulls? If I wanted to pulse it at say 1 amp... how would that be done? Do I have to pulse at much higher voltage or is there a way to push current through the LED?

    In general, it's just a bad idea. An LED's package is designed for a certain rather narrow range of continuous operation and you should stay within it. If you do attempt to over-drive an LED then the bulk resistance will play a larger role (and will increasingly waste power creating more heat than it does light.)

    That doesn't mean it's not done, in practice. It just means that you should spend time understanding the trade-offs. For example, the manufacturer will almost certainly specify that the LED cannot be operated at significantly higher current unless you (1) do so for only a short time and (2) leave it off for some time. They will specify safe operating areas, which you should carefully read if you plan higher current operation.

    That said, the way to get higher currents is to provide access to higher voltages. It's the only way to get there.

\$\endgroup\$
1
  • \$\begingroup\$ An incredible story that strongly stands out against the background of everything else. It is more philosophy than craft because it involves concepts like negative feedback, load line, etc... I would add "dynamic resistance". By the way, can't we just say "resistor IV curve" rather than "load line"? How much more clear, specific and meaningful a name it is. My remark is actually not to you, but to the one who named it like that a century ago and so has hidden the meaning of this concept for generations. Just another thought: Here it is not even a "load line" but rather a "source line" :-) \$\endgroup\$ Commented Apr 27, 2023 at 9:09
4
\$\begingroup\$

The resistor is there to limit the amount of current the LED draws. The forward voltage drop/forward current characteristic of an LED is non-linear and dependent on temperature. This means that without a resistor to limit current, the LED will heat up since you are allowing it to draw more current through than it's designed for, which creates more heat than it's designed to get rid of, which causes it to draw more current, until it burns up, as you've seen.

I don't know what LED or Arduino you used but it's possible the resistance of the interconnecting wiring (which is not designed for high current and therefore would have relatively high resistance) and the forward voltage of the LED stabilized the forward current at level that was low enough to prevent the onboard regulator from tripping its overcurrent protection, especially if the LED were blue or white, which tend to have higher voltages than red or yellow. Or possibly the output of the regulator sagged to where it didn't instantly burn out the LED or both. The current was eventually too high for the LED, as you saw when it burned out.

As for pulsing, yes, you can pulse LEDs at higher than normal current. Most datasheets will give you a maximum current and a maximum continuous current value. Exceeding the maximum current could cause instantaneous damage to the device but below that, it's dependent on the duty cycle. The "average power dissipation" limit would come into play here. You'd determine how much voltage to use from the datasheet, which should have a graph of forward current vs. forward voltage, and choose your resistor or current limited supply accordingly.

\$\endgroup\$
9
  • \$\begingroup\$ Thanks for the comprehensive reply. To add a little more detail: white led, arduino nano.. No wires. Just touching ground & 5v directly to the pins. If I connect a multimeter I can see that when I connect the LED it will pull 152ma from 5v regulator, but only 62ma from the vin pin. Which is weird.. It will be stable at that current for 2/3 seconds before it starts burning out, and I can see the current rising before it does that. But given that, how could I increase the current if with no resistor its only pulling 152ma? \$\endgroup\$ Commented Apr 25, 2023 at 21:55
  • 1
    \$\begingroup\$ The FT232R USB UART is connected to the USB port of the Arduino Nano that supports the board with 5V and a maximum current of 500mA but it is recommended to only draw a current of 100mA if the microcontroller is powered via USB. Ahh usb power 100ma current limiting on usb ports? They dont just cut off over current protection? \$\endgroup\$ Commented Apr 25, 2023 at 22:26
  • 1
    \$\begingroup\$ I'm trying to make a high power ir transmitter and will be pulsing around 1 amp. \$\endgroup\$ Commented Apr 26, 2023 at 23:14
  • 3
    \$\begingroup\$ You could charge up a large capacitor via the USB port, and then discharge it into the LED with a short pulse. If 5V is not enough, you can add a boost converter. \$\endgroup\$
    – PStechPaul
    Commented Apr 27, 2023 at 1:57
  • 2
    \$\begingroup\$ @JamesWilliams: Please update the question with those extra details of exactly what voltage source you connected your LED across, and the currents it drew. Since I wasn't familiar with the Arduino Nano, I found linuxhint.com/arduino-nano-power-vin-pin - I guess you were powering the Nano from USB, so its Vin pin could work as an output in that case? And there's a +5V pin that's maybe connected directly(?) to the USB input? Anyway, an edit to the question with those experimental details of current measurements and what current/voltage sources you connected to would be good. \$\endgroup\$ Commented Apr 27, 2023 at 3:14
1
\$\begingroup\$

When connected to 5V the LED won’t fry immediately, as it has some internal resistance when forward biased. As the LED heats up, it eventually gets to a temperature where either the diode or its bond wires burn away.

The LED probably also pulled down your Arduino 5V power supply as it was being sacrificed to your fry-ode experiment. This would have prolonged the time-to-death. A stronger 5V would’ve fried it sooner.

Fun fact: diodes can handle much higher pulsed peak currents, but at lower duty cycles. This is usually spelled out in the datasheet. Example: this LED can sustain 100mA at 10% duty cycle.

\$\endgroup\$

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.