I'm in the process of building a controller for the sparkfun rgb led matrix. So far I've decided to use 4 74HC595 shift registers to drive the leds. Right now there's code to drive 1 row at one color with 4bit pwm (2 leds stored in 1 byte) using a timer2 overflow interrupt. The isr routine needs 2.3ms to complete. Extrapolating to 8 rows and 3 colors I think I'd get a refresh rate of 18Hz. Somehow I think the isr routine could run faster, maybe I got some of the WGM?? registers set wrong. If just setting the prescaler to smaller values, the program just hangs.

• Upload doesn't work? Do a loop-back test.• There's absolutely NO excuse for not having an ISP!• Your AVR needs a brain surgery? Use the online FUSE calculator.• My projects: RGB LED matrix, RGB LED ring, various ATtiny gadgets...• Microsoft is not the answer. It is the question, and the answer is NO!

The problem is that it takes to much time to shiftout all that data... the main reason is because digitalWrite (and shiftOut that uses digitalWrite) takes alot of time, writing to the port directly is alot faster, it takes just 1/8 of the time... However port manipulation is really hard at the begining... Another bad thing is that you have to hardcode what pin you are going to use...Have a look here: http://www.arduino.cc/en/Reference/PortManipulationI'll post some examples later when i get home...

just had a look at the code of shiftOut(...).I won't be able to do without the for loop, as this a serial connection hence the shift registers.maybe I can still save some time by removing the mapping between arduino- and real pins.

• Upload doesn't work? Do a loop-back test.• There's absolutely NO excuse for not having an ISP!• Your AVR needs a brain surgery? Use the online FUSE calculator.• My projects: RGB LED matrix, RGB LED ring, various ATtiny gadgets...• Microsoft is not the answer. It is the question, and the answer is NO!

This thing is just too slow... more than 24 rgb leds just start flickering too much.I think I'll have to think about using e.g. the TLC5940, but if I stick to multiplexing I might run into the bandwith limit of shiftOut again.Right now a pwm cycle needs 16x8x3 bits shifted out per rgb-row... the 5940 nees 192 bits in greyscale mode per 16 leds & color. 1.33 rgb rows would take the same amount as the 4 shift registers I'm currently using, actually I'd have to use 2 of these with 8 unused pins, no gain at all, and it nees a pwm reference.... maybe I should use 12 of these and skip multiplexing completely. Another 50 bucks down the drain.

Time for some liquid nitrogen and a few more MHz for the atmega !

• Upload doesn't work? Do a loop-back test.• There's absolutely NO excuse for not having an ISP!• Your AVR needs a brain surgery? Use the online FUSE calculator.• My projects: RGB LED matrix, RGB LED ring, various ATtiny gadgets...• Microsoft is not the answer. It is the question, and the answer is NO!

- 8x8 rgb matrix (16 levels per color channel, 4bit) can be addresses individually, no flickering- irq routine runs quite well- got rid of the 2 leds in one byte thing, needs 2x the ram but saves cpu power- brightness needs some adjustment of resistors- high speed spi and breadboards don't like each other (noise, bad contacts, strange behaviour)- speed/brightness might be improved by using another 8 pins of the arduino for driving the rows in parallel. needs current source driver.- definitely need a new osci.

as soon as I've got hold of the real led matrices I'll report back.

• Upload doesn't work? Do a loop-back test.• There's absolutely NO excuse for not having an ISP!• Your AVR needs a brain surgery? Use the online FUSE calculator.• My projects: RGB LED matrix, RGB LED ring, various ATtiny gadgets...• Microsoft is not the answer. It is the question, and the answer is NO!

We were just given a demo of these units at the uni I work for. So far we are very happy with their capabilities, the only thing that irks us a little on the lower models is you can't change the centre frequency of the FFT, so if you zoom, its not necessarily where you want to zoom to.

I'm not quite sure which one to get though. One of the older ones including a 16 channel logic analyzer (60MHz, 400Ms/s, 1M memory, DS1062-CD), or one of the newer ones (60MHz, 2Gs/s, 10k mermory, DS1062-CA).Unfortunately I have no feeling for how 'much' 10k of storage actually is worth, but I know that I don't like 400Ms/s at 60MHz bandwidth.

• Upload doesn't work? Do a loop-back test.• There's absolutely NO excuse for not having an ISP!• Your AVR needs a brain surgery? Use the online FUSE calculator.• My projects: RGB LED matrix, RGB LED ring, various ATtiny gadgets...• Microsoft is not the answer. It is the question, and the answer is NO!

I found some videos/documents on the tektronix website (www.tek.com) that make me feel uneasy about getting rigol devices, at least the old ones (without A suffix). It seems the available actual bandwidth and sampling rate differ significantly from what's said in the specs.

The videos are from 2005, so maybe the newer rigol devices got better. Unfortunately I can't find any reviews yet.The manual states the full bandwith should be available at all times, but who knows for sure...Seems like I'll have to spend 2k for a tek

• Upload doesn't work? Do a loop-back test.• There's absolutely NO excuse for not having an ISP!• Your AVR needs a brain surgery? Use the online FUSE calculator.• My projects: RGB LED matrix, RGB LED ring, various ATtiny gadgets...• Microsoft is not the answer. It is the question, and the answer is NO!

matrix chips finally arrived. leds are miniscule, no diffusor, will cause trouble for RGB mixing at close viewing discances. brightness levels/spectral emittance/spectral sensitivity of human eye needs some serious adjustment of resistors for good RGB mixing.blue leds may be too weak.

• Upload doesn't work? Do a loop-back test.• There's absolutely NO excuse for not having an ISP!• Your AVR needs a brain surgery? Use the online FUSE calculator.• My projects: RGB LED matrix, RGB LED ring, various ATtiny gadgets...• Microsoft is not the answer. It is the question, and the answer is NO!

the red leds suck way too much current. relative brightness needs adjustment to get close to white light. overall brightness not yet acceptable. 4bit pwm is feasible with hardware SPI (fosc/4). no flicker. if this will run properly with an ISR remains to be seen. maybe I can get 6 or 8bit pwm to work. will investigate SPI with fosc/2. enable/disable pins should not be left floating...

the rgb leds may be miniscule, but they're damn bright.

• Upload doesn't work? Do a loop-back test.• There's absolutely NO excuse for not having an ISP!• Your AVR needs a brain surgery? Use the online FUSE calculator.• My projects: RGB LED matrix, RGB LED ring, various ATtiny gadgets...• Microsoft is not the answer. It is the question, and the answer is NO!

I'm experimenting with toner transfer right now to get a decent pcb done for this project. Seems I'll be needing a laminator - or much more practice and pressure. My tiny iron just doesn't do a good job for more than 25x25mm. So far I've tested this with "HP Premium Plus Photo Paper, satin matte" (for inkjets, but printed with a laser of course). Except for some defects at the edges it delivers a remarkably sticky layer on the copper with sharp edges. Not worse than most of the photo transfer I've done so far, and less chemicals :-)

I'll post some pictures and videos of the current status when I wake up again. Right now there's also code for individually addressing each of the 64 rgb leds, set a HUE value, set RGB values and some fader effects for testing. Right now the PWMing is done with an ISR routine and supports 28 brightness levels for each colour channel. Anything above that takes longer than timer2 can support. I'll switch to timer1 to get more time in the ISR routine.

Right now I just use 4x 74HC595 3-state shift registers. 1x as current source for each row, 3x as current sink per column and colour. If I crank up the current too much, this gives some crosstalk between the leds as the 595's current sourcing capacity is maxed out (1 whole row is on at a time). I guess I'll add something like an UDN2891A as a booster.

• Upload doesn't work? Do a loop-back test.• There's absolutely NO excuse for not having an ISP!• Your AVR needs a brain surgery? Use the online FUSE calculator.• My projects: RGB LED matrix, RGB LED ring, various ATtiny gadgets...• Microsoft is not the answer. It is the question, and the answer is NO!

• Upload doesn't work? Do a loop-back test.• There's absolutely NO excuse for not having an ISP!• Your AVR needs a brain surgery? Use the online FUSE calculator.• My projects: RGB LED matrix, RGB LED ring, various ATtiny gadgets...• Microsoft is not the answer. It is the question, and the answer is NO!

• Upload doesn't work? Do a loop-back test.• There's absolutely NO excuse for not having an ISP!• Your AVR needs a brain surgery? Use the online FUSE calculator.• My projects: RGB LED matrix, RGB LED ring, various ATtiny gadgets...• Microsoft is not the answer. It is the question, and the answer is NO!

• Upload doesn't work? Do a loop-back test.• There's absolutely NO excuse for not having an ISP!• Your AVR needs a brain surgery? Use the online FUSE calculator.• My projects: RGB LED matrix, RGB LED ring, various ATtiny gadgets...• Microsoft is not the answer. It is the question, and the answer is NO!

that's all. no transistor arrays yet. SR1 might be supported by an UDN2981A in the future for more current output for each of the row pins. what's also possible is to move the row selection to arduino pins for more speed using direct port manipulation.

• Upload doesn't work? Do a loop-back test.• There's absolutely NO excuse for not having an ISP!• Your AVR needs a brain surgery? Use the online FUSE calculator.• My projects: RGB LED matrix, RGB LED ring, various ATtiny gadgets...• Microsoft is not the answer. It is the question, and the answer is NO!