How many LEDs can I attach to a duemilanove alone?

Hey I just got a Duemilanove kit, and I want to use it to power a lot of LED's. I have about 100 common cathode RGB LEDs that I never used on my last project and I want to make a giant strip out of them for my ceiling.

So I guess my question is, how many RGB LED's can I power, using only the Duemilanove? If it is substantially less than 100, what do I need in order to be able to power all of them.

Please note that I want it so that all LEDs are the same color at the same time, so there is no need to worry about a second channel or something.

Sorry if this is in the wrong section also! im a newb

Your question is just fine. Your project will need some drivers.

I just answered this way in another thread:

One standard LED per digital output pin (with limiting resistor) is fine. You start to get into trouble when you're using high-power LEDs or multiple-LED strings on each output pin, such as matrices. There are cheap LED driver chips that work for most POV systems. Which one you choose depends on your intentions.

If you want all your LEDs in a single row, you can still wire it up like it's a matrix, with one common cathode or anode per eight LEDs or so. But you'll need to be driving these from a multiplexing package like a couple 74HC595 chips (a dollar each) or a MAX7219 (about $10 per 64 LEDs).

I'm not sure I understand if you're asking a PIN/CPU question, or a power question. If you want a single RGB "strip", so that you're only driving 3 "signals" (changing the color of your strip, but lighting or not lighting ALL of the LEDs at once), then your main limit is the power available at a single pin, and on the Arduino board as a whole (although there are many ways to boost this.)

If you want to have the LEDs light in animated patterns or similar, then you have pin/CPU issues as well (and there are many ways to handle these as well.)

Could you clarify?

I do not need any animated patterns. All I want is all leds to be able to shift to any color on my command, at the same time. So I think it is just a power issue.

Halley, regarding the two chips you mentioned, I think a series of the 74HC595 chips would be ideal, seeing as I plan on powering a few more than 64 leds, and I dont need the ability to trigger them individually.

Do you know where I can find some information on how to use these chips to accomplish my objective? I have a very limited knowledge (although I am trying to learn) about the use of microcontrollers in complex circuits.

I didn’t mean to lock you into a specific solution. The 74HC595 may not be the best way to go. As you say, you’re treating them all as one big skinny lamp. (However, for ANY package, try googling for " datasheet" and download whatever .pdf file you find. It’s good to start a habit of reading through these things even if you don’t understand 5% of them.)

Are these a hundred RGB LEDs, or a hundred individual LEDs?

If it’s 100 LEDs in a string, you only need one output from the Arduino, going into whatever your “current driving” solution is.

If it’s 100 RGB LEDs in a string, you need three outputs from the Arduino, going into three copies of whatever your “current driving” solution is.

Ive got roughly 100 common cathode 4-pin RGB LED's.

100 LEDs will require a driver (and wires) capable of about 2A, and/or series parallel wiring and higher voltages (call it 10W.) That would be for EACH color; approximately 30W if you're going to turn them on all at once for pseudo-white.

This means that you'll need some sort of bigger power supply, and some sort of "LED Driver" circuit external to the arduino.

To a pretty close approximation, the Aduino, all by itself, can drive ONE led chip per pin (3 pins for an RGB led with 3 chips.) A total of about 20 LEDs, or 6 RGB leds. (you can do fancy things to get it to LOOK like more LEDs are on, but they mostly amount to turning on no more than 20 LEDs at a time, and switching which 20 too fast for the human eye to follow...)

74HC595's are great for this kind of application and very cheap. I have used 4, powered by the Arduino, to control an RGB LED matrix, which is 192 LED's.

If you are trying to control the color of the LEDs and want other colors then just Red Green and Blue then you are going to use PWM witch will not work with the shift registers you are looking at I don't think. I've done something similar to what you want but with less RGB LEDs. I ended up using Darlington Transistors to power the leds. I don't know the math to figure out how many LEDs you can run of each Darlington. Just remember that you need three transistors, one for each color channel. Hope that helps. -Tim

Why do people keep mentioning shift registers? He wants them all on at once. So it's just a matter of 3 arduino outputs directly driving transistors which drive the LEDs and making sure you handle the power requirements, as westfw said.

To be precise, he said (1) it was for his ceiling, and (2) he wanted them all the same color at the same time. westfw did give the power requirements for driving all 300 LEDs at 100% duty cycle, in case he really wanted it for maximum power for illumination. To push 2A, you're no longer talking about "the Arduino alone" but will require either logic OR power components.

I think we all are familiar with the fact that few LED devices try to burn all LEDs at 100% duty cycle: it's usually about the display, especially since it's color, not about the maximum possible brightness. By using PWM or multiplexing in smaller gangs, the perception of constant display is there, with more color options available (fades vs 8 colors), while cutting power requirements very drastically.

I am trying to do something similar. Except I want to use 6 PWM pins to control two strings of RGB leds. My LEDS are common anode though and I am currently powering 6 LEDS with the arduino alone. Do I need transistors to power a total of 40 leds? I haven't worked with transistors before so any help would be great.

Do I need transistors to power a total of 40 leds?


Just use the circuits here only substitute your LEDs for the motors or relays.