This article is brought to you by MonkeyLectric and the Monkey Light bike light
Step 1: The circuit 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.
Parts used:
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
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 4: Do some dancing!
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
http://www.ladyada.net/make/minipov2
http://www.adafruit.com/index.php?main_page=product_info&cPath=5&products_id=1












































Visit Our Store »
Go Pro Today »




In my case the reciprocal POV display is supposed to be help by hand, so perhaps it might be a bit easier to control the location, but for a shoe-located device you might also want to investigate using ball switch as a crude (but very cheap!) acceleration sensor which would trip an interrupt when the leg has reached the back position and is just about to move forward - that' when you'd show the message and it's guaranteed no to show mirrored.
Another good thing about ball switches (a.k.a. shake switches) is that they make it very easy to turn the MCU off (sleep) when there's no movement - good for battery life and for not disturbing the people around if you're just, say, sitting in a restaurant with your display on. My POV display project also has Atmel code, so it should be easily adaptable, so check it out!
http://cgi.ebay.com/New-ATmega8-16PU-Atmel-AVR-16MHz-PDIP-Flash-MCU-ATmega8-/130531687605?pt=UK_BOI_Electrical_Components_Supplies_ET&hash=item1
http://www.instructables.com/id/SpokePOV%3a-LED-Bike-Wheel-Images/
There is nothing special:
GND <-----LED----Resistor---------IO_PORT on PIC