Introduction: Persistence of Vision

Picture of Persistence of Vision

Persistence of vision is an optical illusion, it works on a simple phenomenon how our day to day television works. MY first pov was six months before with arduino uno and with motor. However it is best to have a small and portable device that can be carried anywhere and image can be seen without any external motors or fan.

This small portable pov version uses attiny 85 ic, smaller variant of arduino uno that uses atmega 328 ic. This time, I made pov to give my sister as a gift .There are many tutorials on how to make pov but lot of them have tons of wires and motors and many a time uses the arduino uno board itself .so I thought, to come with no wire small pov with built in power source and a switch. By switching the internal crystal speed to 1 MHZ of attiny85, the image was seen more clearly without any motor. With proper camera shutter speed control the image can be seen nice and clear.

Step 1: Materials and Tools

Picture of Materials and Tools
  1. Arduino UNO
  2. Attiny 85
  3. 5 leds of any colour
  4. Breadboard
  5. soldering ion and solder wire
  6. Cutter
  7. Dotted pcb
  8. Hacksaw
  9. Slider switch
  10. 8 pin ic socket
  11. 3v cr2032 coin cell battery and holder
  12. jumper wires


  1. Cut the Dotted pcb into 9 cm by 3.5 cm using Hacksaw
  2. Solder the led's on to the board and using cutter cut the extra led foot .
  3. solder the 8 pin ic socket on the board as shown in the picture
  4. Connect the ground of all leds to attiny 85 pin 4
  5. connect the rest of circuit as given in the circuit diagram picture.make sure you use solder bridge technique,as the whole board should have no wires.
  6. check all the connections using multimeter to check if two traces are not shorted.
  7. clean the pcb and now we will solder the switch and battery holder
  8. put the coin cell into holder and check with multimeter which pin is positive and negative
  9. solder the pin of battery holder and slider switch as shown in the picture
  10. connect the 8pin of ic socket to middle pin of slider switch and first pin of slider will to positive terminal of battery holder
  11. Now trace the gnd to connect
  12. check every single connection if shorted use de soldering pump and redo the traces.

Thank you Hemal Chevli and Victor805 for sharing the pcb version of pov

Step 3: PROGRAM an Attiny

Picture of PROGRAM an Attiny

Step1. Install the ATtiny support in arduino ide

  • Open the preferences dialog in the Arduino software.
  • Find the “Additional Boards Manager URLs” field near the bottom of the dialog
  • Paste the following URL into the field (use a comma to separate it from any URLs you’ve already added)

  • Click the OK button to save your updated preferences.
  • Open the boards manager in the “Tools > Board” menu.
  • Scroll to the bottom of the list; you should see an entry for “ATtiny”.
  • Click on the ATtiny entry. An install button should appear. Click the install button.
  • The word “installed” should now appear next to the title of the ATtiny entry.

  • Close the boards manager. You should now see an entry for ATtiny in the “Tools > Board” menu.

Step 2. Upload Arduino isp sketch from example into arduino uno

Step 3. Connect the following pins of ATTINY 85 to arduino uno

ATTINY 85 ----- Arduino Uno

pin5(MOSI) ----- D 11

pin6(MISO) ------ D 12

pin7(SCK) ------ D 13

pin8(VCC) ------ 5V

pin4(gnd) ------ GND

pin1(reset) ------- D10

I made a shield to do this connection ,also added the atmega 328 support to the shield the shield is put straight on the arduino uno and you can do program without any wires and breadboard.

Step 4. Go to Tools and change programmer from avrisp mkll to Arduino as ISP

Step 5. change the board to aTtiny and select the aTtiny 85 chip and set internal clock to 1mhz

Step 6. upload the program of pov using shift + upload for successful uploading .

Step 4: FINISH!!

Picture of FINISH!!

Take out the camera and start clicking photos .Adjust the shutter speed for perfect photo.

The making of pov was less than 4$ this is very cheap gift you can give to any loved one.small and can be taken anywhere.


danamu (author)2016-01-11

it is not wroking

RaviP6 (author)danamu2016-01-16

what is it not working?

B45i made it! (author)2016-01-11

I made a PCB using Fritzing. Here is link :

RaviP6 (author)B45i2016-01-16

nice work .thank you for sharing it

vshiralkar (author)2015-11-26

I always wanted to make my POV display..
& I'm doing with the help of this amazing and easy instructable.

Victor805 made it! (author)2015-11-13

Great instructable, I had a lot of fun.

I made a schematic and board on Eagle, share it in this instructable if you want since I can't host the file indefinitely.

RaviP6 (author)Victor8052015-11-14

Victor the board looks too cool, appreciate your work. Will be sharing your pcb file for sure.

Victor805 (author)Victor8052015-11-14

I've added a heart:
int heartf[] = {12,30,15,30,12};

if (c == '*'){for (int i = 0; i <5; i++){displayLine(heartf[i]);delay(delayTime);}displayLine(0);}

kkantona (author)2015-11-08


can you upolad the block diagram please if it's not much to ask??

RaviP6 (author)kkantona2015-11-09

you could make your block diagram,just observe the circuit and if there is a problem just let me know

tmoir (author)2015-11-08

So the arduino is used as a programmer essentially.

masteruan (author)2015-10-25

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... I make one of this. Great! Thank!

ShariqM (author)2015-10-16

ravi ,

i have a pic programmer can i use instead of ATTI?

RaviP6 (author)ShariqM2015-10-17

yes you can.the algorithm will remain same for any micro-controller

ShariqM (author)RaviP62015-10-18

thanks, can you please send me the circuit diagram, i didn't find it.

NgaN3 (author)2015-10-07

Can i ask you a question?
In PCB version, why did u connect 3v3 (VCC) with GND through PWR_Flag? It just like you connect VCC and GND of that ATiny together. I think it will destroy the chip!!!

RaviP6 (author)NgaN32015-10-07

i never noticed it ,thank you NgaN3. Will make changes shortly

NgaN3 (author)RaviP62015-10-07

That's a great gift!!! Im going to make one for my friend!!! Thanks for ur working!!!

cvachter (author)2015-10-02

That was a great offering !
Don't listen to the negative nellies .. They are on a lunch break @ the flat earth society ;) . I think your lil Sis will never forget this wonderful gift.
I plan on trying to make a few for my kids and wife

RaviP6 (author)cvachter2015-10-04

Thank you cvachter .Yes she and my friend liked it a lot :)

Marcelo Ricardo (author)2015-10-02

Good morning, I'm Marcelo Ricardo from Brazil and enjoyed this project and would like to know if I buy these products you, you would send me to Brazil or to send me the product list that I can buy for me to ride with the rich details please since I'm already grateful for the attention given by you.

No more for today I'm waiting for a return.

Att. Marcelo Ricardo

RaviP6 (author)Marcelo Ricardo2015-10-04

Thank you Marcelo Ricardo .You can get all components from : The list of components are mentioned above in instructables.

vandercolt (author)2015-10-01

What Practical purpose does this device serve ? When I was younger , and just learning electronic theory I built a sequential light board with some early LED's , and later when I had been in it for a living I found the original circuit I built on a shelf , and said to myself " What am I gonna do with this thing" ? Still have it n looks cool , but it doesn't wash my socks yet even 43 years later .

Swift2568 (author)vandercolt2015-10-02

Well, art is supposed to be reason enough, but I get what you are saying. I have this problem with paper models I've designed. In this case I think you should consider making it the display for a clock. That way even if you do not use it, anyone can understand its purpose and value.

TomasE (author)vandercolt2015-10-02

Not everything has to be practical to have value, and sometimes making someone smile is worth more than anything else you could have been paid.
I can't tell you how many programs I wrote, or things I made that were nearly completely "useless", or didn't work at all. Now, I make things for a living because I learned from doing those things.
On a side note, I've been tinkering with a POV project of my own, and mine still doesn't work, so good job.

RaviP6 (author)TomasE2015-10-02

Thank you :)

It's a cupcake project. Much like a cupcake it has no point, but it's super darn fun!

Now go have a cupcake and feel better about the world!

tonep (author)vandercolt2015-10-01

It won't wash your socks, but it might save your life or your car if you have a breakdown on the road. All you do is use larger red LEDs use a motor to rotate the PCB and program in an emergency message. Keep your emergency sigh a little distance from your car and it will warn other motorists to steer clear of your car and yourself while you wait for the emergency service that you just called.

With this design, instead of having a huge display of scrolling LEDs you just need five to write the whole message ... all at the cost of $4 (if you salvage the motor from an old tape recorder and add a small AA-cell battery holder for it)!

Swift2568 (author)2015-10-02

I have been trying to figure out how to do this for a while and I had no idea what to google for. I always figured you needed a sensor to tell you that the array had advanced. My plan is to make a longer one for a cieling fan.

RaviP6 made it! (author)Swift25682015-10-02

No you dont need such sensors ,you can set a delay inside the program, which can handle the change of characters at some distance and also speed of motor is important.Do you want to make like this swift2568 or bigger then this one?

Swift2568 (author)RaviP62015-10-02

I was thinking of neopixels so I could drive all of them with a single pwm pin. Hung up on the sensor idea, I really hadn't got any further into the design.

kevshouse (author)2015-10-01

Even if you think it serves no practical purpose, it still deserves some praise. Too few of our youngsters ever explore how things work, let alone have a go at building things for themselves. I say well done!

RaviP6 (author)kevshouse2015-10-01

Thank you

Zaacharia (author)2015-10-01

HAH! This same project on a grander scale is an art installation in Seattle's University subway stop. When I first walked through the stop, my eyes caught an airplane but when I looked all there was was some blinking lights. It took a moment for me to realize what was happening - kudos to you for bringing this idea to the masses (us). Thank you.,

RaviP6 (author)Zaacharia2015-10-01

Thank you zaacharia :)

charlessenf-gm (author)2015-10-01

"What Practical purpose does this device serve"

Kind of rude, no? It serves as a demonstration of "Persistence of vision." Coincidentally, just what the maker advertised.

Good job!

RaviP6 (author)charlessenf-gm2015-10-01

YES ,but this was not for demonstration purpose.The idea of project was to give a low cost gift to anyone ,as i mentioned in the above instructables ,the project major goal was no wire ,no motors and a cheap gift to someone special.if this small gift can make someone amazed and increase the level of curiosity in a kid ,I am really more satisfied

Thank you for your comment.

LesB (author)2015-10-01

Your description of the project doesn't tell what the device actually does.

RaviP6 (author)LesB2015-10-01

I Have wrote in first line of introduction that the device creates an optical illusion to a eye .normally we see only the led's blinking in rapid motion but as we move it around we can see any message hidden inside it .Hopefully a video will explain it more better

tonep (author)2015-10-01

Hi Ravi. This is a well documented technically perfect Instructable.

(Sorry this is my Contest Judge persona taking over) My advice to you, if you want to make it all round perfect is to add the human element. You already mentioned that you made it for your sister, so you can e.g. add a small video clip of her playing with it.

Besides adding the human element the video will also show what movement is required to make the message visible. I didn't see this mentioned in your text, but with the video, you don't have to.

RaviP6 (author)tonep2015-10-01

sure thank you for your advice.will upload the clip in couple of days

EngrNiel (author)2015-09-30

Where's the motor? How does that rotate? It's kinda incomplete for me. Sorry! Newbie here! Thanks!

song549 (author)2015-09-30

hi can you tell me about pov.ino code,how to get the data a〔〕 b〔〕 c2〔〕 ? thanks

RaviP6 made it! (author)song5492015-09-30

This is how it works .you can also add your own pattern in the code just like this .the value inside the brackets is in dec ,if you convert it into binary format you can make that pattern .

alexkirlian (author)2015-09-29

Hi. Try using a mercury switch to give the "timing" when you balance the board (PCB) in the air.It looks great!

Hugs from Brazil.

RaviP6 (author)alexkirlian2015-09-30

Thank you for your advice

imakethings (author)2015-09-29

awesome ! keep the good work up publish more !

HugoAlex (author)2015-09-28


RaviP6 (author)HugoAlex2015-09-29

Thank you HugoAlex

About This Instructable




Bio: I am a Electronics and telecom graduate engineer and an enthusiastic embedded student with experience in latest technology and also an video and project documentation ... More »
More by RaviP6:Diy Bench power supply(single channel)Persistence Of VisionEsp8266 firmware update
Add instructable to: