Fun persistence of vision toy. Attach it to your shoe and write messages or patterns while you walk, run or dance!
This article is brought to you by MonkeyLectric and the Monkey Light bike light
Step 1: The Circuit Board
I used a fairly generic circuit board I had lying around for this project. The circuit is really simple though, just an Atmel AVR microcontroller, 10 LED's, a programming header and a few resistors and capacitors. maybe a button if you want to be able to turn it off. The board I used is mostly surface mount components, but all the parts are available in thru-hole form so you could easily build this up on a proto-board.
I've attached below the Eagle CAD (http://www.cadsoft.de/) files for the circuit board, the C source code for the microcontroller, and the Gerber files of the circuit board to get it manufactured. Eagle CAD is free for small-size boards like this one.
Atmel mega8L microcontroller - digikey ATMEGA8L-8AC-ND
6-pin .1" spacing pid header - digikey WM6806-ND
1206-size surface mount LED's in color of your choice - digikey 160-1406-1-ND, 160-1404-1-ND, 160-1402-1-ND
150 ohm resistor array: digikey EXB-V8V150JV
10uF 0805 size capacitor: digikey 587-1299-1-ND
switch: digikey CKN4081CT-ND
lithium-ion battery: from batteriesamerica.com (http://www.batteriesamerica.com/newpage8.htm)
Step 2: Programming the Microcontroller
to program the microcontroller you will need the Atmel AVR ISP mkII programming kit (digikey part ATAVRISP2-ND). this connects between your USB port and the programming header on the circuit board. You will need the gnu AVR tool chain (http://sourceforge.net/projects/winavr/) to compile and download the code, or download with Atmel's free AVR Studio. the supplied code was written for the Imagecraft C compiler, but making it work with the gnu tool is simple.
The C code supplied does not include on/off button functionality, this should not be hard to add. you could also add a battery-voltage tester to sense when the battery is dead (this is important for lithium-ion, they are permanently damaged by discharging too much). to make a battery-voltage tester, you could (i think!) use a 3.0V zener diode and 220k resistor across the battery, and use the a-to-d converter on the mega8 to compare when the battery voltage falls below the zener reference voltage.
Step 3: Attach to Shoe
just tape or glue the board & battery to your shoe!
Step 4: Do Some Dancing!
my friend corwin shows us some moves!
how well does this device work? it is a bit hard to notice at walking speed, mostly because if you look straight at it the effect is reduced. if you look away at a fixed object it is much clearer. at running speed or dancing it works nicely.
Step 5: Buy a Kit
Adafruit industries has open-source build-it-yourself kits of a very similar persistence-of-vision toy. Their version uses all through-hole components so it is easier to build, and it programs directly from your computer parallel port. They also have very detailed instructions for novice electronics hackers, and instructions on how to use the gnu C compiler as well.