100 LED Matrix Display

what to do with 100 5mm LED's that have a common anode.

Sorry this does not make sense as a simple LED is not common anything.
Are these RGB LEDs?

In which case you need 300 drivers.

They are RGB LED's so yes. What would you recommend as a driver for them and also what would control the driver?

There are many ways you can control them, The best way is the way that you like best. You could control them with shift registers, LED drivers, transistors, you could multiplex them (and probably will), you could charlieplex them (another viable option), you could even control them serially with individual ICs on each LED.

Since they are RBG leds, you will probably want to do PWM, or you will be limited to a handful of colors.

The LEDs on the back of the computer display thing is a fun looking project, LadyAda has a tutorial about how to do that. There are tvs that come with that feature, i think its called ambilight.

Well I don't know how to easily do a couple of those options but what would probably be the most compact solution that still includes PWM? I thought of shift registers but I have never used them before, would i use them to control the columns and then by just changing the ground on a single row, i could control an individual led; then I would just use multiplexing to light up multiple columns? Wouldn't I need a bunch considering that I would have RGB LEDS, so 3 shift registers per column or am I over thinking this?

Edit* I was taking a look online at what other people did for making a RGB Led matrix and I found this: 16x8 LED bar prototype - Processing + Arduino + 2x Rainbowduinos - YouTube
Would that be something that could work? I can get a couple Rainbowduinos if I need to, but would that be an easy method to setup?

Check out WS2803, can control 6 RGB LEDs each with PWM. (18 IO lines)
You could have perhaps a string of 4 of these controlling 24 RGB LEDs, and multiplex them across 5 rows of LEDs.
Leave each row on for 8mS for 25 Hz refresh rate.
Shift in data stored in an array using SPI.transfer( )s for fast updates.
Available on e-bay from a seller in Niagara Falls.

Wouldn't I only need two of those if I was going to make a 10x10 RGB Led Matrix since I can just use them for the columns and then use multiplexing to control the rest?

You can't charleyplexing RGB LEDs, try drawing the circuit and you find it won't work due to the three common connections on each LED.

You could try it with 2 drivers multiplexed across 10 rows.
On time per row will be cut in half to achieve the same 25Hz refresh rate.

CrossRoads:
You could try it with 2 drivers multiplexed across 10 rows.
On time per row will be cut in half to achieve the same 25Hz refresh rate.

Technically If i used two of them and made each control 5 rows would I be able to have two rows lit up simultaneously so I could have a faster refresh rate theoretically?

Also what you guys recommend for powering the whole thing? I assume I will be using an arduino then connect that to the two WS2803 which will power the LED's

What would you recommend for the housing that will hold the leds and such? It will have an acrylic sheet that is the size of my laptop screen which is 14.5in x 9in.

Grumpy_Mike:
You can't charleyplexing RGB LEDs, try drawing the circuit and you find it won't work due to the three common connections on each LED.

Sure you can. The issue is really that there are 3 different forward voltages (blue and green are very close), and that means you you need 3 different resistor sizes if you are sending the same voltage. It means if you try to send 20ma to the red, you wont be able to send 20ma to the blue or green, and or if you try to send 20ma to the blue, you will send way too man ma to the red.

I have many such RGB LEDs charlieplexed right now. They are in sets of 12 LED, that could be laid out in a long row (line), or in 16 columns like a cube, or a variety matrix configurations.

Most if not all the LEDs ive charlieplexed were common cathode, not common anode, and im unsure if it works the same with common anode, but it seems like it should.

I have been meaning to make a schematic for the cube with 64 charlieplexed RGB LEDs, but I havnt yet. I can tell you that the design uses 16 spires of 4 RGB LEDs, and each spire is controlled by 4 lines. Each spire is 12 LEDs controlled by 4 pins, and the 16 spires (64 RGB LED, or 192 LEDs) are actually controlled by 16 pins.

Technically If i used two of them and made each control 5 rows would I be able to have two rows lit up simultaneously so I could have a faster refresh rate theoretically?

You can't do that - the multiplexing comes from using a PNP transistor/row to drive those anodes with the WS2803's drive the cathodes.
If you want more rows on at one time, you need more groups with more WS2803s.

This is what I was picturing.

What do you guys recommend for placing the leds on? I have a large sheet of perf board but the holes are to far apart so the led can't sit flush on the board.

You either bend the wires and get it as close to flush as possible or you make your own PCB. Or you use the other side of the board and use surface mount LEDs.

Grumpy_Mike:
You can't charleyplexing RGB LEDs, try drawing the circuit and you find it won't work due to the three common connections on each LED.

No you can do this. It is possible with AS1119 or AS1130 LED driver (thought they are crossplexing which is an minor extension to charlieplexing it seems):

around 1:32 they put on a a 5x6 RGB matrix

or here:

I cant find any info about crossplexing, or how it is different than mulitplexing, or charlieplexing.

Mike,
I havnt made up a schematic for my charlieplexing, but I may be able to explain it with text.

Each LED spire is made up of 4 RGB LEDs, they could be common anode or cathode), Each LED has 4 leads, 3 color, 1 common. The leads are played out into a "+" shape, and each LED rotated 90 degrees as it goes from bottom to top, and 4 wired connect the 4 leads on the 4 LEDs. Each of the 4 leads connect to a common, and each of the 3 colors. You connect to one common lead, and any of the other leads to illuminate an individual LED. When you change the common connection, it changes which LED in the spire gets lit, when you change the color connection, it changeds with of the R, G or B LEDs that it lights.

Digikey has a nice Presentation on how cross/charlieplexing works and what the differences are:

The main difference that I see from the datasheet is that the crossplexed drivers can measure the voltage on each LED (as they also have open/short detection)
So a LED failor or a wrong voltage on an LED wont scrapp your matrix.

Thats kinda crazy. You cant really individually control a single LED, you always lite 2 or more LEDs at a time.

I think the open/short detection is a feature found on other LED drivers too, and not specific to crossplexing, but rather specific to using constant current LED drivers.

I guess there is some benefit, in that its lighting multiple LEDS at a time, but it also seems limited, in that you lose some control of what LEDs are lit, in that you cant light one LED without lighting another one too.

The chips are $9 each -
http://www.digikey.com/product-search/en/integrated-circuits-ics/pmic-display-drivers/2556426?k=AS1130
Makes for an expensive board.
Better off with 2 MAX7219s, only $3 each, for 128 LED display.
Parola library good for driving them.

Hippynerd:
Most if not all the LEDs I've charlieplexed were common cathode, not common anode, and I'm unsure if it works the same with common anode, but it seems like it should.

Of course it does. In fact, it generally works better because you will use NPN transistors as the emitter-follower buffers to drive the high side to multiplex, so you are driving all colours of each LED at a time.

Now (as a separate point,) someone happened to mention PNP drivers for conventional multiplexing (as common-emitter). There is an interesting reason for using NPN high-side buffer transistors for Charlieplexing since you are using a negative ground supply system. By using NPN emitter followers, you connect the collectors to the unregulated (or a least, higher) supply so that the actual current the LED array uses is not drawn from your regulator. You still of course, lose 0.7V in the Vbe drop in the transistor.

The general rule regarding multiplexing or Charlieplexing, is that you really do not want to use more than an 8-way multiplex to maintain overall brightness.