Introduction: Dance Messenger

Picture of Dance Messenger

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

Picture of 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 ( 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 (

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 ( 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

Picture of Attach to Shoe

just tape or glue the board & battery to your shoe!

Step 4: Do Some Dancing!

Picture of 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.


Matt428 (author)2014-06-18

corwell? That's an odd name

nox1468 (author)2013-05-10

here's an idea: atach it to a glove and make it say "POW" so when you punch it makes comic-book effects.

elabz (author)2013-04-03

Built a similar project recently and was confronted with the same issue - how do you make sure the message is written only on the way forward. Meaning, the leg's movement is reciprocal, so at least half of the time the display should be off else it will write the message flipped (mirrored) horizontally.

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!

shams (author)2009-11-05

what is the subsitute of this AVR ? I'am asking u about any through the hole chip.....this one is surface mount....I cant use it.... 

robot1398 (author)shams2011-06-14

this same AVR is present in a whole chip form buy it from here

agent (author)2010-05-12

Think this would work on roller skates? Would I be going fast enough for people to see the effect?

zeibak (author)2010-04-12

this one is the best but it seem that it's too hard for me lol

negative zero (author)2009-10-30

 For a really low budget and a camera if you take a picture every minute or so then string them together it should make a nice time lapse 

sebas125 (author)2009-10-15

 How it works?? i dont understan it.

keastes (author)sebas1252009-10-28

i works because of a phenomion called persistence of vision,  anything that flashes more than 50 times a second appears to stay lit, make has a better description in the digital glow stick project, and wikipedia's article

sebas125 (author)2009-10-15

 if it works that would be awesome!!!

Briguy9 (author)2009-07-20


LilPurpleCow (author)Briguy92009-08-10

Lol that's what I was wondering!

squid labs

zimmemic25 (author)2009-04-18

what i never understand: how does that thing know how fast it moves? because if i move faster, but the animation speed of the LEDs is the same, the text will be wider but have the same size, so itll look stupid.

fwjs28 (author)zimmemic252009-05-25

thats my question....

merseyless (author)fwjs282009-05-29

it doesn't know how fast it's moving, it just keeps blinking

fwjs28 (author)merseyless2009-05-29 if you moved it really fast it would just be longer between the letters...i see

zimmemic25 (author)fwjs282009-08-07

and if it would be moved even faster, there would be letters at the ends of the area in which its moved, which suddenly end in the air. don't think thats a good solution.

fireman115 (author)2009-07-24

Freaking Awesome

MELEGO351 (author)2009-03-30

How about modifying this for a bike rim so when you ride you can display messages or just cool images. Could this work?

Paturnus Prime (author)MELEGO3512009-05-09

Why not? Combine it with another Instructable for powering safety light with dynamo from disk drive magnets. As wheel spins it generates power. Do this on one side of wheel. 180 degrees opposite put Dance Messenger. Vary distance to hub of wheel of both assemblies to balance wheel.

tannerr52 (author)2009-06-07

Dont step in a Puddle! Nice Instructable!

MattGyver92 (author)2009-05-05

What if someone used this technology to mount one of these circuits on a boomerang. As it flies, it spells out a word. Is this possible?

pyroelfears (author)2009-04-09

can u use the arduino

shady_deluxe (author)2006-03-25

Hi, that's my version, with a PIC16F627

Very nice, Arthur! :) ...I've just started programming PIC16F684's, and I've been wanting to build a POV device. Could you tell me how you did yours? Schematics or anything? Thanks!

Sorry it's too long ago.
There is nothing special:

GND <-----LED----Resistor---------IO_PORT on PIC

That's it??? Just simple LED outputs from a PIC's I/O ports? But isn't there some fancy timing scheme? Or an accelerometer to detect how fast you're waving it back and forth - in order to control how fast the lights are updated?

Here the board:

Thanks, Arthur! :) Nice pictures - not all that complicated. What are the chances that you'd send me your schematic and code? If so, please send directly to Thanks a bunch!!! -Aaron-

Hi, it could be take a while. I'll search for it.

Thank you, Arthur! :) I really appreciate it!

Yes. It's a photo effect - playing with exposure. Here an other picture:

How? Please.

a_d777 (author)shady_deluxe2007-11-13

Hey Shady! I like that thingy......!! its pretty neat....can you send me the circuit you used?? i mean i am looking for some PoV toys that use PIC12F629....or maybe PIC16F627... Ya' know, its free!

sparr (author)2008-12-05

the minipov3 is out from, might be worth linking

Badgergirl (author)2008-10-07


boday (author)2008-06-04

hai i am boday from INDONESIA.. i want to know in your project "DANCE MESSENGER", in "the Circuit board step" you say :L1, C1, and C3 -->"Dont need these for this project" the orange wire and X1,X2, and X3-->"Not used" what must i do to this component?? can i "short" them??(i mean Like use jumper??) thank for you answer...

dan (author)boday2008-06-23

dont put anything there. no connection.

hpt (author)2007-11-02

I need to know how to do pov with BX 24!!!!!!!!!!!!!!! URGENT

dan (author)hpt2007-11-27

what is BX 24?

noobsarenew1 (author)2007-03-31

you can buy these "electricbilboards i think there called at walmart on toy section

VIRON (author)2006-06-02

Did that a long time ago in a lightstick. Would you party like this?

noobsarenew1 (author)VIRON2007-03-31

lol i can read that lol dude... thats like wierd danceing

ich bin ein pyro (author)2007-03-30

awsome!!!! why didnt i notice this instructable before? very cool

Lancealator (author)2007-03-09

you should make a video and put it on youtube

zenith (author)2007-02-11
zozodi (author)2006-11-11

I urgently need schematic and pcb for eagle pov2 project as is on adafruit web page.

About This Instructable




Bio: Dan Goldwater is a co-founder of Instructables. Currently he operates MonkeyLectric where he develops revolutionary bike lighting products.
More by dan:Giant Xylophone made from Bed SlatsEasy Mothers Day Fudge (with small child)Mosaic Tile Pixel Art Car
Add instructable to: