[Noisebridge-discuss] Big LED Screen - potential upgrade?

nils at shkoo.com nils at shkoo.com
Fri Apr 10 04:49:14 UTC 2009


Hi,

As I said on Tuesday, the LED screen basic functionality works pretty OK 
using two arduinos and now it's just left to make applications that use 
it.  However, we probably won't get up to faster than 5 frames per second 
or so, and that's only with really simple patterns.  We'll only be able to 
do two colors at 1 bits per pixel, red and black.  (Though we might be 
able to do 2 bpp if I swap out the atmel mega168 chips with the new atmel 
mega328, which would be pretty easy since they're pin and software 
compatible).  Plus, we won't have enough memory to store very much so 
we'll be stuck with patterns and maybe text; no non-trivial images.

I'm thinking about redoing it and going "balls to the wall" and making it 
able to do full motion video (albeit in shades of red) and networking by 
putting in a real processor such as an ARM.  How cool would it be to be 
able to log into our sign over SSH?

Basically, the hard part is that we need to be able to output 2 serial 
channels at between about 1.5Mhz and 3.3Mhz.  The catch is that we have to 
emit clock signals as well as data signals.  SPI will work for this, as 
will the USART on some of the atmel devices can run their USART in SPI 
mode.

I'd much prefer to use DMA since we're going to spend so much of our time 
doing this, and we'll waste a lot of processing power if we have to output 
byte-by-byte.

We also need to be able to have at least 4 general I/O pins (2 input and 2 
output) but I think that's less tough to come by.

Many of the atmel ARM-based chips (like AT91SAM9260) look like they have 2 
SPI controllers, and some of them connect their SPI interfaces to the 
Peripheral DMA Controller.  Unfortunately their USARTs insist on adding a 
stop bit to each byte, which is bad for us and means we can't use them. 
(Plus, it's tough to find boards which export the USART clock pins), so I 
think we're stuck using the SPI ports.

http://www.sparkfun.com/commerce/product_info.php?products_id=9047 looks 
like it might be appropriate board.  However, it only makes pins to one of 
its SPI ports accessible.  I'd much prefer to have two different SPI 
devices, one for each half of the sign, but we might be able to make it 
work with one.  Unfortunately that means we have to shift out at least at 
3Mhz to keep up with the refresh rate (which is timed for 1.5Mhz 
displaying only half of the board).  The shift registers only support up 
to 3.3Mhz data rate, so that's cutting it much closer than I'd like.

I guess we could add some TDM logic or something external to the ARM 
board, but yuck.  Or we could try to rework the board and solder a wire 
onto that pin on the surface mount chip, but yuck also.

I guess if it doesn't work we can always cut the refresh rate in 2 and 
swap between displaying on the two sides. (Display side 1, blank side 1, 
display side 2, blank side 2), but I'd rather not do that either.

Does anyone have any input relating to this stuff or ideas of good boards 
to use?  Does anyone want 99 of those sparkfun SAM9-L9260 boards so we can 
get the bulk discount? :)

If this doesn't work out I guess we can just do the basic stuff and it 
would still be cool, but not *as* cool. :)  I think Steen is working on 
making a font to use for display, and I bet we can still do that with the 
current hardware.

-nils

As a side note, it looks like the "arduino mega" is not actually 
appropriately outfitted to be able to run the sign.  According to 
http://arduino.cc/en/uploads/Main/arduino-mega-schematic.pdf it does not 
make the clock pins for the USARTs available.  The pins we would need are 
at least two of the following: PE2(XCK0), PD5(XCK1), PH2(XCK2), or 
PJ2(XCK3).  I guess we can always do some rework and try to solder on 
wires to the tiny pins on the surface mount chip, but yuck.



More information about the Noisebridge-discuss mailing list