the MAX7221// THE STRIBE

Okay so I'm looking at this device called the stribe: http://www.soundwidgets.com/stribe/

He uses MAX7221's to control LED bars. He has 8 rows of 64 LED's and controls them with 16 MAX7221's. Do the math and thats 32 LED's per MAX7221.

I'm wondering how he does this. The schematic of the MAX7221 that I've been looking at is: Arduino Playground - MAX72XXHardware

And that has 16 pins. I understand how the matrix works, but I simply dont understand how he can turn on for example 29 LED's with 16 outputs on the IC.

Also I'm just wondering if its always the case where LED's are mulitplexed that to turn all the LED's on you have to turn a set on then turn the set off, then turn the next one on then off, etc etc giving the illusion that theyre all on at the same time? Is that the case with the stribe? To me that seems inefficient in optimizing brightness.

Any explanation would be sweet.

Each 7221 can control 64 LEDs arranged in 8 rows with 8 columns of LEDs in each row. I'm not sure how he has his LEDs wired but if he only has 32 LEDs attached to each chip he is probably using 4 rows of 8 (it doesn't matter that they are laid out in one long row as long as they are wired in groups of 8).

The 7221 is only turning on 1 LED at a time using one row output and one column output. By cycling through all of the rows and columns very quickly it appears that any or all of the LEDs are lit at the same time.

"Each 7221 can control 64 LEDs arranged in 8 rows with 8 columns of LEDs in each row."

This is correct. On the original prototype I actually left them in grids, which later-on proved to be a decision that made a lot of things more difficult. The idea though was that the Stribe circuit is basically the monome 40h circuit x 16, so I thought it would ake my life easier. I was wrong, it proves to require some complicated math that makes my head hurt. In the new Stribe1 kits, each vertical 64 LEDs is controlled by one MAX7221, using the grid multiplexing method mentioned previously, so much easier to think about.

"I'm just wondering if its always the case where LED's are mulitplexed that to turn all the LED's on you have to turn a set on then turn the set off, then turn the next one on then off, etc etc giving the illusion..."

You can turn them all on at once as seen in some pics. You are partly right about the flickering but that is all handled by the MAX7221 chip so you don't have to think about it. Each column can be treated as a digit with 64 elements. You push a string of 8 bytes in to each address (column). Each byte (row of 8 bits) = 8 LED ons and offs.

For example:

Number 8 LEDs like this: 1 2 4 8 16 32 64 128 255

Send 255 to turn them all on, 0 to turn them all off
Send 1 to turn on the first LED
Send 3 (1 + 2) to turn on the first and second only
Send 5 (1 + 4) to turn on the first and third only

Each byte will overwrite anything previously there, so you have to keep track of state in arrays etc.

"I'm just wondering if its always the case where LED's are mulitplexed that to turn all the LED's on you have to turn a set on then turn the set off, then turn the next one on then off, etc etc giving the illusion..."

Yes that is always true, it is what multiplexing means.

The MAX6953 can control individual 128 LEDs so it is much more efficient for making into a Stribe.