Okay, so I have 1/2 of my device working with 8 cascaded MAX7221s running 512 leds. Amazingly, I am able to do this w/ only USB power by using a 47k ISET resistor on each MAX7221 circuit to reduce the brightness. (I think the low power consumption is also due to the way the MAX7221 uses PWM to strobe the leds.) I'm also providing 5V to 8 touchstrip/potentiometers. I'm not sure what will happen when I add 8 more MAX7221 circuits. The program in the video only lights a few leds of course but the test pattern lights the whole grid so I've been using that to sort of feel my way power-wise. I have 2 external power wall-wart options: 1) 5VDC 3.7A 2) 5VDC 2A. I'm thinking I should plug the supply right into the led driver board rather than through the Arduino (Wiring) board, right? I will also need to power the Arduino/Wiring board from the external supply since this is going to run standalone as well as thru the computer. Oh, and a MIDI port takes power, too, I suppose.
Before I upped the ISET resistors to 47k, (they were 10k), my test pattern would choke on the bottom few leds of the 8th column (did most of it). After I upped them it could light all the leds on the left side no problem. I'm not sure whether to add the additional MAX7221's to the right side of the board 1 by 1 and test each time, or if it is only once I actually light the leds that the power requirements kick in. The one I have in there now is defaulting to "all leds on" - probably because there is no data coming in. I guess I will just try adding chips and run the test pattern on the left side.
The firmware is a combination of the zambetti/ness cascaded MAX7219 Matrix.h example and the SimpleMessageSystem, and I have an OSC chunk I'm adding later.
The example code with the 8 cascaded 7219's works great for the left half but I'm wondering the best way to do the other side. I have it wired up right now so the DATA, LOAD, CLK pins of the right side are hooked to 3 additional pins. I saw on the 7221 datasheet that you can cascade 16, but I'm not sure whether to try to talk to them all from 3 pins or kind of double everything up and run them as 2 separate sides. I don't know if the existing libraries will handle 16 matrices, either.
Also, I saw in the Wayoda code that he did stuff slightly differently for the MAX7221 than for the 7219 - something about the startup state. But I don't have any problems with that even though for a while I was actually using a combination off 7219s and 7221s. Now I have a full complement of 16 7221s. And I see the MAX7221 supports something called SPI, but I don't quite understand how that's different than the 3-wire interface I have right now.