Externally powering LEDs so Arduino doesn't fry

It'd likely be easier to reduce/limit the current for each LED to 10 mA.

20 LEDs isnt too many for the arduino to control, even at 20mA each, but it depends on how you plan on wiring things up. You can also take advantage of serial data transfer, to control many many LEDs, which includes 20. There are many methods of serializing and controlling the LEDs one way may be better than another way, depending on many factors.

If you multiplex 20 LEDs in a 4 x 5 matrix, you end up needing a total of 9 control lines, but you could multiplex in many ways. You could further reduce the control lines by charlieplexing the LEDs.

If dimming or brightness are important, you may want to consider taking advantage of PWM.

There are a lot of factors, based on only knowing that you want to control 20 LEDs, I'd say multiplex or charlieplex are the easiest options.

If using an external power supply is important, then using a constant current driver is maybe the best option.

Hippynerd:
20 LEDs isnt too many for the arduino to control, even at 20mA each

My copy of the datasheet says maximum current allowed through the VCC or GND pin is 200mA...

20x20 is 400 - too much.

teke115:
Hello,
I am making a type of LED arrangement almost like a display board with over 20 LEDs being used. My arduino gets very hot when i power 12 of them at once. Can someone draw me a setup on how I could hook up an external Power supply to power all of the LEDs while using the arduino as a switch? Thank you all!!!

First we need to know if you need to be able to turn on and off each of the 20 leds independently of each other or do they all turn on and off together as a single unit? Or some situation between those two extremes?

Lefty

fungus:

Hippynerd:
20 LEDs isnt too many for the arduino to control, even at 20mA each

My copy of the datasheet says maximum current allowed through the VCC or GND pin is 200mA...

20x20 is 400 - too much.

I cant find it right now, but Im fairly certain that the 5v line has a 500mA max because of the voltage on board voltage regulator. Each I/O pin is 40, and the 3.3 pin is 50mA. according to:

but it doesnt list the 5v pins current max.

I looked in the datasheet thats linked on the same page, and it does list this:
DC Current VCC and GND Pins................................ 200.0 mA
on page 313, but I think thats the IC, not the arduino as a whole.

Hippynerd:

fungus:

Hippynerd:
20 LEDs isnt too many for the arduino to control, even at 20mA each

My copy of the datasheet says maximum current allowed through the VCC or GND pin is 200mA...

20x20 is 400 - too much.

I cant find it right now, but Im fairly certain that the 5v line has a 500mA max because of the voltage on board voltage regulator. Each I/O pin is 40, and the 3.3 pin is 50mA. according to:
http://arduino.cc/en/Main/ArduinoBoardUno

but it doesnt list the 5v pins current max.

I looked in the datasheet thats linked on the same page, and it does list this:
DC Current VCC and GND Pins................................ 200.0 mA
on page 313, but I think thats the IC, not the arduino as a whole.

Yes the total +5vdc current available from the board is higher then 200ma, but it the things being powered are being controlled by digital output pins then their combined load current has to pass through the chips output pins thus the chip's lower total current limit takes precedence. That is unless one uses external switching transistors (or driver ICs) to control the current switching duties and the output pins only have to drive the transistor inputs.

Lefty

Well, that does make me wonder how my units have survived the abuse I have been delivering to them.

Hippynerd:
Well, that does make me wonder how my units have survived the abuse I have been delivering to them.

That has been puzzling us all.

I would say that it was just the cheap knock off units, but the uno was running a cube drawing upto 360mA, so the original unit seems pretty sturdy too.

Reliability and electronic life time is a statistical thing. If you over stress the components then that life time gets shortened no question about that. However, seeing that with a sample size of one is impossible no matter if it carries on working until hell freezes over or it goes fut tomorrow.

Well, technically just using the electronics shortens its life. so the only way to ultimately protect your electronics is to not ever use them.

Sample size has nothing to do with it. but if you say it can work until hell freezes over, then it sounds like specifications dont really matter.

VCC and AVCC can each support 200mA - so 400mA total.
The ports should then be limited to 300mA:
3. Although each I/O port can source more than the test conditions (20mA at VCC = 5V, 10mA at VCC = 3V) under steady state
conditions (non-transient), the following must be observed:
ATmega48A/PA/88A/PA/168A/PA/328/P:
1] The sum of all IOH, for ports C0 - C5, D0- D4, ADC7, RESET should not exceed 150mA.
2] The sum of all IOH, for ports B0 - B5, D5 - D7, ADC6, XTAL1, XTAL2 should not exceed 150mA.
If IIOH exceeds the test condition, VOH may exceed the related specification. Pins are not guaranteed to source current
greater than the listed test condition.

So at 360mA, you're pushing it some.
Best bet is to use a couple of external shift registers such as TPIC6B595 that can sink the higher current amounts.
78 cents from avnet.com
https://avnetexpress.avnet.com/store/em/EMController/Counter-Shift-Register/Texas-Instruments/TPIC6B595N/_/R-1750249/A-1750249/An-0?action=part&catalogId=500201&langId=-1&storeId=500201&listIndex=-1&page=1&rank=0

Hippynerd:
it sounds like specifications dont really matter.

You hear the words ... but you don't listen to them.

Hippynerd:
Well, technically just using the electronics shortens its life. so the only way to ultimately protect your electronics is to not ever use them.

Sample size has nothing to do with it. but if you say it can work until hell freezes over, then it sounds like specifications dont really matter.

Why do you persist in being so resistant to trying to understand this subject? Those two statements are totally wrong. You have been told many times but you think that you know best. Let me tell you now, you don't.
The human propensity for self delusion never ceases to amaze me.

In the 320mA case (I dont have the datasheet on the LEDs, so I assume 20ma) didnt really happen until I converted the cube to using shift registers (originally it just used 20 pins, and 4 resistors, an it only lit one LED at a time.). With the shift registers, it changed it so that it was lighting 16 LEDs at a time, and it needed 16 resistors instead of 4. I should probably stick some transistors on the plane pins, and replace the shift registers with ones that will support 160mA.

I have a couple other cubes that are running a fair amount of electricity (kill-a-watt shows about 1/2 watt). They run off of USB wall warts one is 500mA, the other is 850mA, and my guess is that they are using all of it. Those cubes use 16 lines, and im pretty sure that they are lighting no more than 8 LEDs at a time. One cube uses resistors, the other cube does not.

If i run a cube off battery, I should be able to measure the current.

Grumpy_Mike:

Hippynerd:
Well, technically just using the electronics shortens its life. so the only way to ultimately protect your electronics is to not ever use them.

Sample size has nothing to do with it. but if you say it can work until hell freezes over, then it sounds like specifications dont really matter.

Why do you persist in being so resistant to trying to understand this subject? Those two statements are totally wrong. You have been told many times but you think that you know best. Let me tell you now, you don't.
The human propensity for self delusion never ceases to amaze me.

You say a lot of stuff, you try be insulting, but you dont really say anything of any value.

Which part of any of this was I suppose to understand me up on the subject?

It seems all you are good at is telling me im all wrong, but never why, because telling me that im wrong seems to be the only important thing to you.

I keep telling you why you are wrong but you do not want to understand.

Grumpy_Mike:
I keep telling you why you are wrong but you do not want to understand.

Short version: You believe that "specifications dont really matter".

Not only that, you give out 'advice' based on that philosophy.

So, now you want to tell me what Im thinking and feeling?
Why do you want to try to tell me what Im thinking? why do you always get it wrong?

because you are both only interested in telling me Im wrong.

Show me some evidence of your claims, or take them back.

That goes for both of you.

I understand that you wont reply, because whenever I have pointed that out, you both respond with responses like
"I keep telling you why you are wrong but you do not want to understand."

and
"You believe that "specifications dont really matter". "

This is not educational at all, Its just trying to make someone out to be the bad guy, It only serves to make you feel superior, its the opposite of helpful.

Lefty and crossroads posted some facts, did you notice how they didnt add a bunch of subjective crap that has no pertinent info?

I dare you to stick to the facts.

OK I will try one more time, but this is a triumph of hope over expectation because you have ignored facts in the past.

I used to do this for a living so I have been involved with this process professionally.

Look at how reliability of a circuit is measured, calculated, worked out. An link, this is one of the first I found:-
http://www.ece.cmu.edu/~koopman/des_s99/electronic_electrical/
Look at the bath tub curve. This shows that you can get a failure at any time but there is more chance of getting one early or late.

Read the bit about stressing components.

Now the more a thing is subjected to stress, the shorter is it's life, this applies for lots of things including electrical circuits.

There is not one point in a rating of a component where below is safe and above it instantly vaporises. Engineering is not that good. It is a continuum to more stress a component is placed under the shorter will be its life. So how much stress is safe?
To find out what you have to do is to test a lot of parts under conditions to accelerate any ageing. Most of us can't do that so it is lucky that the manufacturers do it for us. They work out what is a safe stress and publish it in the data sheet.
So if you step over that line then the component does not instantly die but it's life is shortened. The more the stress the shorter the life, too much and the life is very short indeed.

So when we make stuff into a system we need to go through all that with the complete system. You take a number of samples, the more samples the shorter time you get your answer. You also subject it to accelerating conditions like elevated temperature and humidity. You have to wait for two failures to get a 65% estimation of the life. You have to do this because one failure could just be a "random" failure from the bath tub curve. You then subtract the accelerating factors to give you the life time of the system. The longer the test and the more failures you get the higher degree of certainty is your life time estimate.

From that you can see that just testing one sample is not going to tell you anything. Just like the fatal dose of poisons is worked out by the concept of a half lethal dose. That is a dose that will kill half the people it is administered to. It will not kill half the people but you can not conclude from just giving it to one person that it is safe or not.

So the way systems are designed are that the stresses on components are less than that stated by the manufacturers. Normally these are reduced to the 80% level. Even then some parts of a system may fail before others and by testing you can hope to identify these parts and either replace them with higher ratings parts or try and reduce the stress on a part.

Now what you are doing is taking a design that exceeds the manufacturers ratings and coming to the conclusion that because it is still working, you say undiminished, then the design and practice of exceeding these limits is some how validated.

You have made no measurements of light output you have just looked at it over six months or so and say it is no difference. If you take an LED and put 20mA through it and then change the current so that 13mA goes through it you can tell it gets darker. However, if you show the LED with one current and then turn it off for 5 second or so. Then put up at random one of the two currents, then you are very hard put to say what current the LED is receiving. Now I know you are not going to believe this so I invite you to make your own game of guessing the brightness and see how close you can get reliably.

Now do you understand why one sample tells you nothing about the reliability of a system design?