P.O.V [Persistence of Vision v.1.0]

Weekend/Afternoon project: Persistence of vision toy

    (checkout rev2 RGW)

What is Persistence of Vision? 

POV is a really cool concept, similar to the way a television works, an image or series of colors is spewed out and 'blend' together because the light pulses occur at a speed faster than our eyes can properly observe. thus like a camera with a long exposure, we see a blur and this blur can be made directly into an image of your choosing. In this case, my 8 year old brother Thomas designed a 'timing diagram' which would correlate to his name. 

How does it work?

check out the following image:

In this project it can be as simple as 8 led's hooked up to a single port of your micro. as time proceeds, you simply have to select the individual lines for each segment:

    Example pseudo code:

dim var as word

portb=226 'This means that port 'b' will look like "11100010"
waitms Var
portb=194 'This means that port 'b' will look like "11000010"
waitms Var
and so on
goto main

whats the var for? 

    The 'Var' variable is simply a way to tweak the project, it sets the time between the letters. theoretically you could throw in an accelerometer to determine the bottom of the loop to restart the program. in my case i used a potentiometer to make a varying analog value , and then ran it directly into an adc. Thus with the twist of a screwdriver i could speed up/down the refresh rate

How can i make one?

Step 1: Grab some parts

For this project we will be using some commodity led's, a microcontroller, a 200k potentiometer, a 3.7v lithium battery (or 3 aaa cells). yes, this is up in the air, you could use anything from small surface mount led's (see version 1.4) to ultra bright blue/white led's. for your micro, you theoretically can get away with an attiny 8 pin dip and a multiplexor.  I used an atmel avr mega 48 in this project, namely because i actually used 2 ports (16led's), but it can get a bit cumbersome.

Step 2: warm up that iron

As you may have all ready realized, swinging around a breadboard is ridiculous and will fly apart, unless you hot glue everything in place. as shown on the main image, the entire project is just an oversized protoboard

        Step3: modifications

 Because the timing of the pov's refresh rate, or cycle rate is dependant on a specific value (the var variable in this case), a potentiometer can be used to vary the refresh rate.  otherwise, other interrupt devices could be used to trigger a refresh input like and accelerometer, or a hall effect sensor. for instance, if you mounted a magnet to your bike and used a pulse output hall effect sensor, you could attach the pov to your bike tire and display words.

Images of operation:

"Thomas" from another angle


Rensselaer Polytechnic Institute 
Electrical & Electrical Power

Free Domain Names @ .co.nr!