multiplexing and 1W LED's


I am putting together a project at the moment which will require individual control of 128 1W LEDS. I would like to use an Arduino for this and have been suggested the MAX7219 chips, as each one of these can control up to 64 LEDs I figured it was a good solution. They look fairly straight forward to use, and before I ordered some I wanted to get some advice. Would each one of those be powerful enough to drive 64 1W led's? all the examples I have found so far concern LED matrixes which from what I have seen tend to have quite small LEDs. Does it matter that I want to use more powerful ones? I am aware that they will of course require external power, but just want to make sure that the chips themselves could drive the LED's. I was looking at using ones like these : Prolight Star Power: 1 watt Lens Color : Water Clear Emitting Color: White Intensity Type: 60~70Lm Viewing Angle: 120° Forward Voltage : 3.1V~3.3V Forward Current: 300mA Color temperature : 6000

thank you for your time

Would each one of those be powerful enough to drive 64 1W led's?

Sorry no it would not be. Look at the data sheet at the maximum current and power dissipation for this chip.

I see - i am still finding calculating the different values quite tricky. Could you suggest a more suitable chip for multiplexing so many 1W led's?

Sorry I haven't come across one.

As high powered LEDs require a constant current supply I suspect multiplexing them will be very tricky due to the constant change in that current supply. If anyone has seen one of these then it would be good to know about it.

i doubt that there is a controlloer in the micro range being able to handle your power needs in the range of 8-128W. if you're going the multiplexed way, your leds won't all be on at the same time, so your total consumption will depend on the ON/OFF ratio of each LED.

in general, the multiplexing of a Max7219 could be quite easily ported to an ATmega/Arduino. That wouldn't solve the power problem though, and i suggest to have a look into Darlington transistors for driving the rows and columns of your Matrix.


edit: Mike threw in the not so unimportant "constant current" keyword for your super LEds ...actually this might be a point speaking against multiplexing,,, but then again, what's constant in the world of electrtons. you should look up something like a max switching frequency for your LEDs (probably something that affects their life span)

thanks Mike - been looking around for a work around. One of the options is of course to use less powerful LEDs - I have come across 0.5w ones that have a much lower power consumption and have a comparable brightness (instead of 60-70Lm they are 47Lm - which is a compromise i can work with). their specifications are as follows:

Emitting Colour:WARM WHITE Luminous Intensity: 15000mcd Color Temperature: 3000K Reverse Voltage:5.0 V DC Forward Voltage: Typical:3.2 V Max: 3.6V DC Forward Current:20mA Viewing Angle:120±6 degree Lead Soldering Temp:260°C for 5 seconds

would their total power dissipation just be 20mA x 64 (number of LED's I am hoping to drive)? if not, could you please advise how to calculate it correctly

many thanks

Remember if you are multiplexing you don't get the full brightness it is only approximately 1/8 th if you are multiplexing 8 rows. You can up the current in the LED but then you run into power dissipation issues. You also need to know the peak current rating of your LED. You can calculate the power in the chip by:-

The upper limit for power dissipation (PD) for the MAX7219/MAX7221 is determined from the following equation: PD = (V + x 8mA) + (V+ - VLED)(DUTY x ISEG x N) where: V+ = supply voltage DUTY = duty cycle set by intensity register N = number of segments driven (worst case is 8) VLED = LED forward voltage ISEG = segment current set by RSET Dissipation Example: ISEG = 40mA, N = 8, DUTY = 31/32, VLED = 1.8V at 40mA, V+ = 5.25V PD = 5.25V(8mA) + (5.25V - 1.8V)(31/32 x 40mA x 8) = 1.11W Thus, for a CERDIP package ([ch952]JA = +80°C/W from Table 12), the maximum allowed ambient temperature TA is given by: TJ(MAX) = TA + PD x [ch952]JA + 150°C = TA +1.11W x 80°C/W where TA = +61.2°C. The TA limits for PDIP and SO Packages in the dissipation example above are +66.7°C and +55.6°C, respectively.

And you can set the current to up to 40mA.

I did not know about that issue regarding multiplexing -

The LEDs I have been looking at have the following information provided: Power Dissipation PD 100 mW Forward Current(DC) IF 20 mA Peak Forward Current* IFP 30 mA

just trying to calculate a solution; if I have 64 LED's and the current is set to 30mA am I right in thinking that I would need to provide a 12V supply as that would give me a 480mA of total current drawn, and not exceed the maximum current possible through the MAX7219 chips?

just starting to get all the different parts in the post and looking at the schematic found over on the arduino playground for multiplexing using the MAX7219 chips ( i am not sure how i would wire this up with an external power supply necessary for all these LEDs ( i am not going to be driving 48 on each chip). has anyone used these chips in conjunction with an external power supply?

You just need to provide a regulated 5V from your external supply. That means either getting a 5V supply or putting a higher voltage one through a 5V regulator.

Don't forget to connect the grounds together. See:-

just a quick question - I am just looking at the schematic ( and noticed that the resistor rating is not defined, just called RSet. could anyone explain what this means?

This resistor sets the current that the driver produces. There is no rating (that is power requirements). For the resistor value to use see the data sheet.

ok - so would the following calculation be correct: 5(voltage supplied) / 500 (500mA of current required to drive 25 led drawing 20mA each) = 0.01K

i was hoping to drive more off each chip but since it has a 500mA peak current and each led requires 20mA - i figured that only 25 could be wired up.

NO! page 10 of the data sheet:-

The current per segment is approximately 100 times the current in ISET. To select RSET, see Table 11. The MAX7219/MAX7221's maximum recommended seg- ment current is 40mA. For segment current levels above these levels, external digit drivers will be need- ed. In this application, the MAX7219/MAX7221 serve only as controllers for other high-current drivers or transistors. Therefore, to conserve power, use RSET = 47k[ch937] when using external current sources as segment dri- vers.

Read the rest as well.

apologies - i hope to get some results soon, this seems like it is going to be a pretty hard challenge getting this space ship lit up , but i think it will be worth it. thanks for your help mike - will make sure to read the manual in full next time.