The first time I saw a POV (Persistence Of Vision) display was on a show called FAQ on TV. The POV display consisted of an oscillating shaft with 6 LED's mounted on the end of the shaft.

Since then I have always wanted to make one myself, I tried making one about 2 months ago with an oscillating shaft myself but I was not successful as the speed of the shaft was too low for the POV display to work. Now I decided to make the POV display with just a DC Motor instead of an oscillating shaft as they are much cheaper and easily available compared to the shafts.

In this instructable I will show you how to make the POV Display yourself!

This is a very simple project both on hardware and software (coding) areas. It costed me only about 5$ to make it from start to finish!

So lets get started!

Here is a video of it in action!

Note: The brightening and dimming of the LEDs in the video is due to my crappy camera, in reality its consistent and quite bright.

Step 1: Persistence Of Vision and how it works

POV stands for Persistence Of VIsion.

Persistence Of Vision is the phenomenon of the eye by which an image seen by our eye persists for about 0.04s during which any other images that we see are merged together with this image.

This phenomenon is used in the POV Display as we turn the LEDs on and off in such a way that the different images overlap each other forming letters.

For example:

The formation of the letter E with 5 LEDs;

1 2 3 <- Time

1 1 1 <- Bulb 1

1 0 0 <- Bulb 2

1 1 1 <- Bulb 3

1 0 0 <- Bulb 4

1 1 1 <- Bulb 5

Each column represents the 5 LEDs we used to make the display. Each element in the row represents the state of the LED at that given time.

So at t = 1 Bulb 1,2,3,4,5 are all on

at t=2,3 Bulb 1,3,5 are on

This way we can visually see the letter E formed by the LEDs but the time interval would be very small in milliseconds and not as given in the example.

Due to the short time intervals and the ability of the LEDs to turn on and off very quickly we can see the letter E as all the 3 images merge. As the motor is spinning, as time passes the LEDs move from one position to the next so all these images are merged together.

For more information on how this works have a look at these links:

Note: You can see in the above images how the 3 different pictures merge to form the letter E

Here is an animated gif that shows the formation of the letter E :http://www.instructables.com/files/orig/FIZ/ZDS5/HW4OQXU8/FIZZDS5HW4OQXU8.gif

<p>I've see another of this project on Instructables. I love Attiny85.</p><p>Very awesome project! I know the principle POV, but I never seen something like this. Simple and functionally. For the speed it's possible add a potentiometer, but the Attiny not have another pin for the input... Tomorrow I make one of this. Great! Thank!</p>
<p>Made it with an attiny85. Can anyone tell me how to make a CLOCK out of it? Just Digital numbers displaying the current time?</p>
<p>Hi Martin, what resistors did you use with your LED setup? In the tutorial no resistors were specified except for on the USB cord. I'm wary of using LEDs without resistors because I don't want them to blow out.</p><p>Any help would be appreciated. Thanks !! </p>
<p>Well... its a 3V Battery so i used about 50 to 100 OHMs.<br>surplus Voltage / allowed Amperes = Resistance<br>1V/0,02 = 50 OHM<br>Depends on LEDs used.</p>
<p>Very cool! I used &quot;<a href="http://www.instructables.com/member/ahmedebeed555" style="">ahmedebeed555</a>&quot;'s hand swing idea and attached a string to the Altoid tin. The larger circle allows more characters. I changed the code a little. All of those &quot;if&quot; statements became a &quot;switch-case&quot; setup. It only saves ~0.5Kb in the code. For that amount of variables, &quot;switch-case&quot; should be faster. Diffusing the LEDs with sandpaper is a great idea-- &quot;why didn't I think of that&quot;-- kind of great idea! I used to use a drop of superglue and sprinkle with baking soda-- messy. Somehow I soldered the pins in a mangled order. I duplicated the picture on the instructions-- confusing. I just changed the programming rather than rewire. Works like a charm! Thanks for my first ATTiny85 experience!</p><p>int LED1 = 2;</p><p>int LED2 = 1;</p><p>int LED3 = 0;</p><p>int LED4 = 4;</p><p>int LED5 = 3;</p>
<p>Oh ya, I forgot... I also added a delay at the end of the code to delay the repeat of the repeat. </p><p>Just after the &quot;displayString()&quot; within the loop, I added--</p><p>delay(100); // delays repeating for 100milliseconds, or 1/10th of a second.</p>
<p>Hi there, any way you could show us how the process would be modified if were to increase the LEDs and use an Arduino Uno? I'm an Arduino beginner and have been learning mostly off of an Arduino Uno. Also the project I have in mind requires more than 10 characters per display. Thanks so much!</p>
<p>Oops my bad--just saw that the Arduino Uno is in fact used here. I guess then would you be able to elaborate on how to program the font for 10 LEDs rather than 5? Thanks so much!!</p>
<p>Good documention !! Beatifull !!</p>
Till now the most understandable instructable I have read.... Great job
<p>a great instructable. however, i have a few questions..</p><p>first is that.. is there any substitute for the ATtiny85? if yes, what changes would i require to make in the code and the circuit?</p><p>and my second question be.. the arduino board shown here has &quot;digital&quot; written near its pins, while mine has &quot;analog&quot; written, what changes do i need to make to the code and the circuit.</p><p>please help. thank you.</p>
wonder if you can make a clock out of it
<p>You could, but you have to synchronise perfectly the motor with the display, so you display the bar in an &quot;RISING&quot; interrupt triggered by an infrared sensor pointing to a white wheel with at least 60 &quot;stokes&quot; drawn on it (1 per sector-pixel). ATMega8 seems a minimum, there...</p>
<p>Yea you can but Im not sure about the coding for it, will spend some more time learning and then Ill try make one! :D</p>
please can you send me a code to my email address rajatnegi108@gmail.com
<p>I want to make oscillatory LED display not rotary</p><p>the point is i want to make the oscillatory magnetic engine that will be needed to vibrate or oscillate the LED bar for my LED display is any body can help for the Electronic Circuit and the Electric Magnetic coil </p><p>I already built the controller and driver for LED display</p><p>I hope to have any contact for help</p><p>my Skype: nshahbo</p><p>E-mail: nshahbo@yahoo.com</p><p>Nasser</p>
<p>When I click uplode, </p><p>avrdude stk500_getsync not in sync resp 0x00</p><p>this pops up, any ideas to help? its fully assembled and all the connections are correct. All of the software was also downloaded successfully.</p>
<p>Not sure if you got the issue straightened out or not, but you can try this: Check to make sure you've selected the correct COM Port and also check to see if you've selected the correct board you are using. To check, look at the top of the Arduino IDE and select Tools&gt;Board and toggle the appropriate board. Do the same for your COM Port Tools&gt;Port. Hope that helps.</p>
<p>Excellent Instructable, really well laid out and explained, plus you have used many recycled parts, this will give people the inspiration to make these themselves, well done Regards Doc Cox</p>
<p>Hey! First of all, fantastic work on this. Your project has inspired one of my own creations for a school project and I've followed it step by step carefully, soldering is good, anodes with anodes and cathodes with cathodes, everything where it should be. I've used the exact same code, but I'm using an ATTiny 45 instead of an 85 and I do not know if that makes much of difference because it seems not to light up. I would so appreciate if you could reply to this comment, it would mean a lot. </p>
are u from india?<br>coz im having some trouble get the components<br>
<p>i had tried alot but its not giving me my original word plz can u help me in making this .</p>
<p>Awesome Instructable! Also, aren't ATtinys just awesome?!? :-)</p>
<p>ATtinys are the best mainly because they are cheap and they use the arduino code itself!</p>
<p>ATMega8 are cheap too, you can get them for about 60-80c each, they accept &quot;native&quot; Arduino code at 16MHz and can be programmed on a simple breadboard (or taken from a 1st-generation Arduino)</p>
<p>Very useful! Love that you explained some code in the end. </p>
<p>Hi <a href="http://www.instructables.com/member/vishalapr/" rel="nofollow">vishalapr</a>,</p><p>Thank you for this amazing instructable. Inspired from you, I made a RGB POV :)</p><p>I have also made aan instructable for it too.</p><p>http://www.instructables.com/id/RGB-POV-Display/</p>
<p>Congratulation :)</p>
<p>Thank you! :D</p>
<p>Had enough parts to knock one together. Need a faster motor as the digits are stretched on this one.</p>
<p>It looks great! Yea I had to adjust the speed of my motor to get them just right.</p>
<p>Thanks is very interressing instructable</p>
<p>HI, thanks for idea. I made this project on arduino pro mini. </p><p><a href="http://techfreak.pl/weekendowy-projekt-pov-arduino-mini-pro/" rel="nofollow">http://techfreak.pl/weekendowy-projekt-pov-arduino...</a></p>
<p>That looks awesome! Great job!</p>
<p>Hand swing POV</p><p><a href="http://www.instructables.com/id/Cheap-16F84-POV-Message-AirText/" rel="nofollow">http://www.instructables.com/id/Cheap-16F84-POV-Me...</a></p>
<p>Thank you for sharing. Great instructable.</p>
<p>Wow that looks very nice and compact! Glad you liked the ible!</p><p>Thanks for the pics!!</p>
<p>Looks like a great way to make my own one of these. <a href="http://www.xoxide.com/cooljag-pro-led-flash-120mmfan.html" rel="nofollow">http://www.xoxide.com/cooljag-pro-led-flash-120mmf...</a></p><p>Same circuitry can be put in many size fans.</p>
<p>Thanks! Yea you can use it with fans instead of attaching a motor seperately.</p>
<p>Too cool! I love seeing what projects people can come up with using attinys. This is one of my favorites!</p>
<p>Thanks! Glad you liked it!</p>
<p>I merged your three frames in an animated gif :)</p>
<p>Is the above image a gif? Im not sure how to open it though, I would really like to include a gif in step 2, Thanks!</p>
<p>yup here it's the direct link <a href="http://www.instructables.com/files/orig/FIZ/ZDS5/HW4OQXU8/FIZZDS5HW4OQXU8.gif" rel="nofollow">http://www.instructables.com/files/orig/FIZ/ZDS5/H...</a> </p><p>you can reach it clicking on the image</p>
<p>thanks for the gif it made the whole thing simple to understand</p>
<p>Thats awesome, thanks!</p>
<p>SUPER COOL!!!! It'd be neat to put this on a pair of bicycle handlebars....so that you could see it from the front. </p>
<p>Adafruit has a POV kit you can put on your <a href="http://www.adafruit.com/products/5" rel="nofollow">spokes</a>.</p>

About This Instructable


577 favorites


Bio: Coolest site ever -I-N-S-T-R-U-C-T-A-B-L-E-S-.-C-O-M
More by vishalapr: Diffused Glue Stick Lamp ATtiny85 POV Display Artoo [R2] (ATtiny2313 Wall Avoiding Robot)
Add instructable to: