Ideas for large LED RGB display (how to drive, etc).

I'm trying to set up a rather large RGB LED display. In specific, approximately 1000 RGB LED's in a way where I have individual control of ea. LED (color must have, brightness nice to have).

My current plan (though I need to see if this will work, no previous experience) is to use a MAXIM MAX7219 serial in/out 8 digit, 8 segment driver to multiplex 64 LED's for a single color. So, for RGB each panel of

64 LED's will have 3 MAX7219 chips to drive R, G, B separately across the entire set.

The MAX7219 can be put in series up to 16 so, i'll end up with muliple sets of 16 to control all 1000 led's.

My question is this, what other methods / ideas do people have to do this. I just ordered some chips/led's to do some experiementation as i'm not sure I can PWM the LED's enough to get different shades. One additional note, I can't use an intergrated LED display as I want the ability to move/space out the LED's in a custom physical arrangement (e.g. space them out every

1-6 inches).

Any ideas appreciated....

Reply to
klaas langhout
Loading thread data ...

Cool board and I fully agree that it would be much cheaper / easier to go with VGA out to an LCD display. I can't do this however as, each LCD element in what I'm putting together is 6" apart so, I have to go with discrete LED's. Now, if there were a board that can control a ~ 30 x 30 matrix of LED's (say, a really small LCD display) that I could hack in, that would be something :)

Cheers.

Reply to
klaas langhout

have a look at:

formatting link
may be a idea worth considering

Don...

--
Don McKenzie
E-Mail Contact Page:       http://www.e-dotcom.com/ecp.php?un=Dontronics
 Click to see the full signature
Reply to
Don McKenzie

small LCD, OK here is another:

formatting link
again, it may not suit your application.

Don...

--
Don McKenzie
E-Mail Contact Page:       http://www.e-dotcom.com/ecp.php?un=Dontronics
 Click to see the full signature
Reply to
Don McKenzie

I've been toying with various means to control ~20 RGB LEDs for an architectural lighting control panel (LEDs sit behind thin PCB capacitive buttons. A number of methods come to mind, each with some significant limitations. In my case per-element brightness control is the *primary* goal, as both proper color mixing and overall brightness will be used to represent the state of the dimmer packs being controlled.

First off, a multi-segment controller will not give you any kind of brightness control, nor will it give you maximum brightness from the LEDs, because it's only driving each row of LEDs for 1/8th of the time (effectively a fixed PWM).

A MAX6964 will drive up to 17 LEDs with PWM, but the control is quite coarse, 4 bits per element and 4 bits globally. Not really enough to properly mix colors in my case. A MAX6966 will drive 10 LEDs with a full 8 bits per element. It also has the advantage of having constant-current drivers built in.

Another method is to use serial-to-parallel shift registers with latches (e.g. 74x595). Unfortunately for any useful kind of PWM, you need a

*really* fast clock and thus SPI driver. Also, e.g. TI's SN74LV595 can only drive 70mA total across all 8 pins. The TPIC6595 is a better choice, as it has 250mA drivers on each pin.

Finally, one could use a largish FPGA to do the PWM control. I taught myself only the very basics of Verilog, but one of the things I could write was a simple PWM core. Unlike with shift registers, speed is not a challenge at all because the FPGA just keeps going, and can do so at

100+MHz. CPLDs aren't generally an option because they do not have the register space to hold the independent counters and/or PWM setpoints for each LED. Some like the MAX II have "Free RAM" or somesuch, but the logic for using those is beyond my limited Verilog skills at this point. I'm sure it would be trivial for anyone who actually Knows Verilog. Either way you still are going to have current limitation issues.

The method I started out with, and even after looking at these other options, have stuck with is to use a microcontroller. I purchased a tube of 25 ATmega48's (28-DIP) for $1.69/ea a few months ago, and have initial code for doing PWM with them. The board I built works quite nicely. I can do 8-bit PWM on as many as 18 channels (6 RGB LEDs) at a reasonable rate, theoretically using either SPI or I2C as the input. Current is also somewhat limited but sufficient for my needs, at ~10mA per pin.

If you're driving LEDs at significantly higher power levels, you'll need e.g. ULN2803 octal Darlington drivers. Toshiba's spec claims 123mA per pin at 50% duty cycle for the DIP verison. Only 90mA for the SOIC version. You can gang pins together for more current, or go to a discrete FET for each if you need significantly more current.

But really the choice depends heavily on what exactly it is you're going to do with this. A few key questions:

1) How frequently does each pixel change value? Are you doing static images, or full 30FPS video? Or is this more like a ballpark scoreboard with whole ranks of LEDs per "pixel"? 2) How much current do you plan on putting through each LED? 3) How much are you willing/able to spend per pixel?

If anyone else has other ideas on how to control LEDs in either the ~20 or ~1000 count, I'd love to hear them.

Reply to
Erik Walthinsen

Erik, good information thanks.

For the questions:

- This is for an art piece and, i believe 10fps should provide a good degree of dynamic image quality. I don't need video quality :

- Only nighttime viewing (no external lighting) so, i suspect 10ma per pin may be enough.

- I'm open. for the ATMega48's at $1.69 ea for 6 rgb led's that works out to $281- for 1k LED's which is still less than the LED's.

~ klaas

Reply to
klaas langhout

What system are you going to be using to control these? Whatever it is that holds and updates the framebuffer is going to have to manage the

240+Kbps datastream, which has to be distributed to each of the controlling chips. I2C at 400KHz may or may not do it, as you have to deal with the bus overhead as well as the fact that depending on how the code is written for the ATmega, it may have to block for short periods of time, somewhat randomly. SPI would work better, since you can "broadcast" the data, but you'll have to have buffers to handle that many devices on the bus.

I don't know how much of this engineering you're planning on doing yourself, but I'd be interested in at least writing the microcontroller code (since I need it for another project anyway, and is probably saleable as a unit), and even engineering the PCBs if necessary. Would probably put 8 ATmega48's on one board with power and signal buffering, controlling 48 RGB LEDs each. Headers for flying wires to each LED, or potentially to a stacked board with spaced LEDs if your spacing requirements are consistent anywhere.

BTW, the chips drop to $1.56 in purchased q.100 or higher, and you'd need 167 for 1000 LEDs totalling $260.52. However, depending on the resulting brightness you might end up needing ATmega88's, which have twice the Flash space for code (irrelevant here) but can put out 100mA per group instead of 70mA. The most LEDs on one group will be 7, so that's either 10mA or ~14mA depending on the chip.

Something else to consider is that depending on how it's all interconnected, you could easily spend that much money again in connectors. For instance if you stacked all the boards (for power and control) and used dual-row 0.1" right-angle headers to connect LEDs one at a time, you'd use Jameco 203991CE on the board at $0.47 per chip (24 pins), plus 6 4-pin housings at $0.19 each, and 24 crimp pins at $0.07 each. Totals $3.29 in connectors (not counting wire, etc.) per $1.56 chip... If you can solder 4-wire bundles or entire ribbon cables to each board you'd be a lot better off ;-)

Reply to
Erik Walthinsen

just buy these:

formatting link

Cheers Terry

Reply to
Terry Given

The monstavision won't work: the led's have to have more space between them ;)

I was planning on driving the whole thing with a mini-itx or laptop equivalent to source the 'image' and send it to the 'display'.

I'm still in the initial r&d phase so not quite sure how much i want to do myself: the end project is an art display where i want both canned sequences as well as camera based input. I'm setting up a prototype panel just to see what the output looks like in full darkness.

The below is good info :)

the

Reply to
klaasl

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.