I have been experimenting a lot with an array of 35 shiftbirtes. Controlling them directly from an arduino via the built SPI is very fast and works great.
However, when I am using a PC to send values to shiftbrites via the Arduino I have a bottleneck of the serial baud rate.
For example if I reduce the color per pixel to only 256 values and I send hex values to represent each color then there would still be 35x6 bytes to send for each new screen value (i.e. every time I wanted to redraw the whole array).
At 9600 baud this is definitely too slow.
I have the option to increase the baud rate but this will only help so much and I would like to eventually control a much larger array (i.e. 200 shiftbrites)
So I am thinking I can add an ethernet shield but then I lose the spi port for controlling the Shiftbrites and would have to bit bash them with othe digital i/o pins and this will not be as fast.
I run my baudrate at 115200 without any problems. 16X as much data in the same timeframe - it happliy transfers over a kilobyte in a fraction of a second.
256 values per colour * 3 colours is more than the human eye can see (16 million vs approx 10 million for the eye). Depending on what you're displaying, you could probably get away with 4 bits per colour which would reduce the bandwidth by half. It should be be able to manage several screens a second with 200 Shiftbrites.
Here's an alternate possibility...though it doesn't use an Arduino:
Basically, you can use an FTDI cable in bitbang mode to get about 350Kbits directly to the ShiftBrite chain. And if you share the clock, latch, and enable pins, you could have five parallel chains of ShiftBrites at that speed.
Danjel, the drivers are a special DLL that allows bitbang access instead of UART access to the FTDI chip. They're called D2XX, and available here: http://www.ftdichip.com/Drivers/D2XX.htm
I don't think the DLL will work with Processing, but maybe there's a way to use it. Native code will have a better chance of actually achieving the higher bitbang speeds anyway. Maybe write a little application that can pipe data between Processing and the FTDI chip?
Yeah I just figured out the resources he meant were all on the driver page.
All their documentation for bit bang mode is based on using their d2xx drivers. I have not found the info yet for essentially creating my own driver...