Hi Nerds.

Volver runs on a Atmel ATMega168 AVR 8-bit microcontroller. It feeds data into three Allegro constant-current LED sink drivers. It uses two timer interrupts for 36 8-bit channels of software PWM and a FPS timer. It implements frame blending and two different overlay modes when it's running 2 patterns.

Reprogramming your blinky is pretty easy if you have a AVR programmer. There is a 6-pin header for programming at the bottom of the PCB, marked 'PROG_HDR'. The positive side is marked with a plus. Programming should be done from the back of the board.

The Eagle files are here: Schematic and Board.

The AVR-GCC code is here and a compiled hex file is here.. It is released under the GPL.

Here is the BOM:

AVR Mega168 1 ATMEGA168-20PU-ND
Power switch 1 CKC5102-ND
LED Driver Chip large 2
LED Driver Chip small 1
10k resistor 1 P10KBACT-ND
7805 5V reg 1 296-13996-5-ND
100uf electrolytic cap 2 493-1491-nd
20 mhz crystal 1
22pf cap 2 BC1055CT-ND
.1uf cap 4 BC1160CT-ND
9V batt holder 1 BH9V-PC-ND
2K resistor 3
SPST-NO button 2

All part numbers are Digikey. We get our LEDs from HB LED.

If you are running Windows, you can create pattern data in Image Node Blinky Studio Pro 2009 (Enterprise Edition) -- this is the internal tool we used to make our patterns. You will want to make patterns, export the C code, drop it into Blinky09_final.c, and then change some of the if/else if statements in playpatterns() to make your patterns go.


There's nothing stopping you from recompiling the software to run on a Mega328 -- indeed we would have, except that when we bought all our parts there were no Mega328s available, and we wanted our parts. You will get twice the pattern storage!

You can run the blinky off of any 9-12V power supply by soldering the wires into the + and - terminals on the back of the board, located between the battery connector and the mounting hole. The 7805 might get a little hot if you are running at 12V but it's within its spec.

To get more battery life, you can replace the 7805 with a LDO regulator with the same pinout like the LM2940. You should tack-solder a .47uf ceramic cap between the input and ground if you do that, and replace the 100uf cap with a 22uf cap.

You can fill the LED slots with any LED you want, as long as it does not pull more than 20mA. Using high-wattage LEDs will thermally kick the ass of the LED driver chips.

Got a hack? Email me at twina at imagenode.org to let me know...