NEW! (11/14/2014) This kit has been upgraded to a professionally manufactured circuit board and the price has been reduced to only $9 per kit. (And for educators, a discount price of only $8.00 per kit.)

This Persistence of Vision (POV) toy is simple to assemble and fascinating to play with. It is a good introduction to digital electronics and soldering. It works by flashing each column of “pixels” in rapid succession producing the illusion of text in mid-air. You can program in your own messages using two push-buttons. The message is saved in “Flash” memory and will remain in the MCU’s (PIC16F628a) memory even when powered off. The message can be changed as often as you like.

This POV toy is similar to the MiniPOV3 with a few important exceptions:

* Button cell battery - more portable. Easier to mount onto a bicycle or other spinning object.
* Change the message without using a computer.
* Less components to solder in.
* Less expensive ( Now only $9! )
Buy kits at http://www.chinchillakits.com/product/magic-pov-wa...

Step 1: What you need


Soldering iron

Everything pictured here is included in the kit.  If you already have most of these components, you can order the circuit board and/or the programmed chip individually.

ID Qty Part
A 2 Momentary Push-buttons
B 7  Diffuse Red LEDs
C 7 200 ohm resistors
D 1 Mini Slide Switch
E 1 18-pin IC Socket
F 1 Programmed Integrated Circuit
G 1 CR2032 Button Cell Battery
H 1 Button Cell Battery Clip
I 1 Engraved Circuit Board
<p>can please someone send pcb on my mail ben.jurac95@hotmail.de</p>
<p>how can i generate hex file from a c program file </p><p>very urgent................... pleaseeeee..............</p>
<p>how can i generate hex file from a c program file </p><p>very urgent................... pleaseeeee..............</p>
<p>please explain progam from void programming.........................</p>
<p>Hii sir very nice project but iam facing some errors with system.h and eeprom.h when i compiled ur .c and . hex file.. how could i get these for successful compilation in my pic16f628a ???????????? please help me sir .... !!!</p>
<p>Hello NaveenK1,</p><p>You can just download the .hex file from here so you don't have to compile. If you're not using SourceBoost, you'll probably have to make quite a few changes to the code to get it to compile.</p>
Please mail me the pcb design <br>kishore.kiski@gmail.com, I will be grateful to you
Hi, <br>Check out my videos: <br>http://www.youtube.com/watch?v=-MieUpclCfI <br>http://www.youtube.com/watch?v=10EoIdXPkQc <br>Regards <br>Pieter <br> <br>
HI, <br> <br>I have build the POV with the IR interface, works great!!!! Thanks for all the help on the hex file! <br> I will post a shortcut as soon as I uploaded my video to Youtube. <br> <br>Thanks Again!! <br> <br>Kind Regards <br> <br>Pieter
Excellent! Nice job Peiter, I can't wait to see the video.
Hi, <br>I found the two line's in the code and un comment them. SourceBoost gives me an error: <br> <br>&quot;Faled to open debug/new code.hex&quot; <br>&quot;Failed&quot; <br>Sorry for all the posts, I dont know Source boost that good. Thanks for all the help! <br> <br>Regards <br> <br>Pieter
No problem Pieter, I sent the modified .hex file to your e-mail. Let me know how it goes. If anyone else reading these comments wants to syncronize the POV toy with a sensor to stabilize the image, just let me know and I'll send you the modified .hex file. (rleddington -at- gmail dot com.)
Hi, <br> Thanks for the reply. <br> <br>Stil does not want to compile!! I think its me doing something wrong. <br>Could you please email me the changed hex file. pieter@dieseli.co.za <br> <br>I am going to use a NPN transistor to pull RB0 to GND via a IR TX&amp;RX. <br>Thanks again for you reply!!! <br> <br>Kind Regards <br> <br>Pieter
Here&rsquo;s what you need to do: <br>In SourceBoost, right-mouse-click on the project name and select &ldquo;Add file to project&rdquo; <br>Then navigate to: <br>C:\Program Files\SourceBoost\Lib\eeprom.pic16.lib <br> <br>Add that to your project. Then try building again. <br>
Hi <br>I have tied to edit the code with sourceboost but no result. I want to activate RB0 as a input for a speed switch as per you commet below &quot;Download the source file and SourceBoost C compiler. In the source file there is an infinate loop that starts with &quot;while(1)&quot; . Inside of that loop you'll put something like: <br>while(RB0); // Wait for RB0 to go low <br>while(!RB0); // Wait for RB0 to go high <br>That should just sit there until RB0 is pulsed, then it will display the message and go back to waiting for the pulse.&quot; <br> <br>Any help PLEASE!!! <br> <br>Regards <br>Pieter
Hello Pieter, <br> <br>You may have changed the code in the wrong while loop. The one to change is at the very end of the code in the main() routine. The lines you need are already there, you just need to un-comment them. Give that a try and if you're still having problems, I can probably build you a hex file and e-mail it to you. <br> <br> while( 1 ) <br> { <br> showMessage(message,address); <br> while(portb.0); <br> while(!portb.0); <br> delay_ms(7); <br> };
Can you make the .hex file for a pic16f84a please? I would appreciate it!
Hello, I'd love to help, but I'm afraid the program wouldn't work on the 16F84. For one, the 16F84 doesn't have as much program memory as the 16F628 so the program wouldn't fit. Also the 16F84 does not have internal oscillators so you would also have to change the hardware by adding some sort of clock input. Then you would have to change the timing to match your oscillator. You'd be better off just ordering a programmed 16F628 chip for a $3.50 at www.chinchillasoft.com/purchase.aspx.<br>
OK, thanks anyway. The problem is that in my city momentary aren't any 16f628s. I can order them with 4-5$ but it's not so important. I have pic programator and i sucsessfully programed a 16f628 with the hex you uploaded and it's working perfectly.
I made my pcb and it works. I put it on a piece of wood to make a propeller and then on a motor, but the image is instabl iIt runs too fast and flashes. <br>How many rpm need i to have for a stable image? <br>Many thanks for this project it's really amusing.
I expect around 200rpm would be ideal depending on the length of the message. If you want the image to be really stable, you are going to want to add a syncronization signal of some sort. RB0 is tied to a weak pull-up resistor so if you can have a switch that connects RB0 to ground momentarily each time around the circle at the exact same spot, it would be easy to syncronize the message from there. You would have to change the program to wait for the signal before displaying the message. Many POV toys have a tilt switch to signal the start of the message but that won't work for a spinning propeller because the tilt switch would never activate. You would need some sort of brush contact or a non-touch sensor such as a hall-effect switch or an infrared emitter/detector pair. It would be fun to play with a motorized propeller, I just havn't taken the time to do it.
Thanks for your reply and your kindness. <br>Well I can put a hall effect to RB0 with a magnet to have impulse. <br>How can I change the program to wait for the signal before displaying the message?
Download the source file and SourceBoost C compiler. In the source file there is an infinate loop that starts with &quot;while(1)&quot; . Inside of that loop you'll put something like: <br>while(RB0); // Wait for RB0 to go low <br>while(!RB0); // Wait for RB0 to go high <br>That should just sit there until RB0 is pulsed, then it will display the message and go back to waiting for the pulse.
I have a ss495a hall sensor but I don't know if it's OK, it works on 5v. <br> I guess gotta find one 3v, right? <br>Thanks
I bet it would work for 3V. If you want, you can always change the voltage in the circuit to 5V. I think the PIC has an operating range from 2.5V to 6V. The resistors should be fine too, the LED's will be just a little bit brighter.
https://www.dropbox.com/sh/ttlk6mgdmnmufex/OvTufAw9RC <br> <br>Here is my schematic and pcb for eagle. It's working perfectly!
Excellent! nice work.
Thanks. I'll post a video of it later. How did you convert the .c file to .hex?
I compile using SourceBoost's C compiler. Here's a link: http://www.sourceboost.com <br>
a, and I made the pic programer too. It uses PICPgm software. Here is the schematic and pcb. https://www.dropbox.com/sh/n2khzy8il9o5h5v/1UwTn6Z-QW
works with pic16f628a? <br> <br>thanks!
Did you get it working? It should work with 16F628A.<br>
yes i finally did, i had to shake it a little :) <br> <br>thank you! <br>marC:)
Excellent! I found that putting it on the end of a stick and then use a nail or something on the other end of the stick to spin it in a big circle works really well. Congratulations!
how can i use it?? and see the letters finallY?? :(
not working yet :( <br>i will try it again, does 220 ohm resistor is okay? <br> <br>thanks! <br>marC:)
220 should be fine, however if you're using blue LEDs, you will need to change the voltage to 5-6 volts.
only one led is lit up brighly the others are not too bright, is it normal?? <br> <br>thank you! <br>marC:)
do you have to make it turn to see the letters?? with a motor ?? <br> <br>thank you so much! <br>marC:)
Hi! i'm very new in this world of pics.. i download de .c and i can't compile it with CCS, because i don't have system.h and eeprom.h.. Where can i get them?? This pov is very simple, it's excelent. Congratulations!!
Hello! Welcome to the fun world of pics. Although CCS is an excellent choice of compilers, this particular program was written and compiled with the SourceBoost compiler. That's why you're having problems getting it to compile. I'm sure it's possible to tweek the program so that it compiles with CCS but if you're new to programming, it's probably easier to download SourceBoost and use it for this project. Check it out at www.SourceBoost.com. You can also just download the .hex file and skip the compiling unless you want to change the code. <br> <br>Thank you for you kind words. This was a really fun project to develop. Feel free to contact me anytime. You can get my e-mail address from my website www.chinchillasoft.com.
Can we buy this kit?
Sure no problem. I sent you an email.<br />
I'm sorry but i did the circuit many times, and it doesnt do anything special! <br> <br>thanks!
Hmm. Were you able to get the chip programmed and verified? Did you test the circuit without the programmed chip? How can I help you?
thanks for your response i appreciate greatly! <br>I have verified the chip, i have successfully programmed the chip too, but in the dark, i only see blue spot on the wall, i don't see any letters, let me know how to use it.. <br> <br>thanks! <br>marC:)
Umm. Blue spots? Are you using Blue LED's??? That might explain why it doesn't work. If you want to use Blue LED's you will have to change both the voltage and the resistor values. Let me ask this, when you turn on the circuit with the button held down and then push the &quot;Change&quot; button repeatedly are you able to sequence through the letter patterns?
i used blue led along 220 ohm resistor, i dont have 200 ohm resistor <br> <br>i will try your trick <br> <br>thanks! <br>marC:)
With wish compiler do you compile your c source code? <br> <br>thank you! <br>marC:)

About This Instructable


52 favorites


More by rleddington: Web Controlled 8-Channel Powerstrip Magic POV Wand (yet another POV toy)
Add instructable to: