I'm working on controlling around 50 RGB LED's from software running on a PC.I've got two of them working great (yea!), but I can obviously see the need to scale this out since I need like 150 connections (one for each lead of the RGB LED).

I'd like to use PWM, I think, so that my shading of the LED's can be inifinite.

Would someone be willing to suggest a general approach here? I've read about multiplexing, but I'm not sure what that would entail.Thanks for any pointers.-Kevin

The main piece missing here is how you want to arrange these LEDs. How bright are they, should they be clusters or single LEDs, how far apart should each pixel be, how bright, etc.

Trying to control 150 wires' worth of PWM is not the best approach here. You need smart pixels, which come in a wide range of types. They will communicate down a single chain of wires using a serial communication protocol. You can actually just buy premade pixel strings with 25 or 50 pixels on a wire, spaced 4" apart. Look for WS2801, WS2811, etc. I also sell LED stuff like the ShiftBrite which is more modular as you chain them together with pluggable cables. The WS2811 strips are also really great because they are really cheap and you can cut them up and rewire as needed.

I'm trying to build something very similar to your hat....I will likely order some strips from you shortly!

The display I'm trying to build is perhaps best described as an excel document:

The row is 6 inches tall

Each column contains 3 RGB LED's

There are 20 columns

So I want to have 20 different parts of the display each be controlled independantly. Does that make sense, and if so would your suggestion of WS2811 still be the way to go? I think I'd have to have 20 different cuts of that material?

It depends how far apart you want the columns to be. If you can't use 32mm spacing or 16mm spacing, then the WS2811 strips won't work without a lot of cutting and rewiring (which wouldn't be too bad for only 60 pixels). It'll probably actually be easier to control all the RGB LEDs individually rather than trying to have groups of three controlled together...such is the state of available pixels strings and strips these days.

The WS28xx will have some limit on the number used, the limit being the refresh rate you want to achieve.For exampe, if you want a 25Hz refresh rate, then the speed you clock the data out plus the 500uS non-clocking time to give the devices a chance to respond to that data will define the limit on the number of parts that can be driven.25 Hz is 40mS, minus the 0.5mS for device updating (check the data sheet for the particular part), divided by 3 bytes per LED, divided by the data rate used, will yield the number of LEDs that can be supported.