Picture of Magic POV Wand (yet another POV toy)
With Handle.JPG

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

Picture of 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
benjura4 months ago

can please someone send pcb on my mail ben.jurac95@hotmail.de

anoopanil11 months ago

how can i generate hex file from a c program file

very urgent................... pleaseeeee..............

anoopanil11 months ago

how can i generate hex file from a c program file

very urgent................... pleaseeeee..............

anoopanil11 months ago

please explain progam from void programming.........................

NaveenK11 year ago

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 .... !!!

rleddington (author)  NaveenK11 year ago

Hello NaveenK1,

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.

kishore0011 year ago
Please mail me the pcb design
kishore.kiski@gmail.com, I will be grateful to you
Check out my videos:


I have build the POV with the IR interface, works great!!!! Thanks for all the help on the hex file!
I will post a shortcut as soon as I uploaded my video to Youtube.

Thanks Again!!

Kind Regards

rleddington (author)  Pieter Jamneck2 years ago
Excellent! Nice job Peiter, I can't wait to see the video.
I found the two line's in the code and un comment them. SourceBoost gives me an error:

"Faled to open debug/new code.hex"
Sorry for all the posts, I dont know Source boost that good. Thanks for all the help!


rleddington (author)  Pieter Jamneck2 years ago
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.)
Thanks for the reply.

Stil does not want to compile!! I think its me doing something wrong.
Could you please email me the changed hex file. pieter@dieseli.co.za

I am going to use a NPN transistor to pull RB0 to GND via a IR TX&RX.
Thanks again for you reply!!!

Kind Regards

rleddington (author)  Pieter Jamneck2 years ago
Here’s what you need to do:
In SourceBoost, right-mouse-click on the project name and select “Add file to project”
Then navigate to:
C:\Program Files\SourceBoost\Lib\eeprom.pic16.lib

Add that to your project. Then try building again.
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 "Download the source file and SourceBoost C compiler. In the source file there is an infinate loop that starts with "while(1)" . Inside of that loop you'll put something like:
while(RB0); // Wait for RB0 to go low
while(!RB0); // Wait for RB0 to go high
That should just sit there until RB0 is pulsed, then it will display the message and go back to waiting for the pulse."

Any help PLEASE!!!

rleddington (author)  Pieter Jamneck2 years ago
Hello Pieter,

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.

while( 1 )
The Wheel2 years ago
Can you make the .hex file for a pic16f84a please? I would appreciate it!
rleddington (author)  The Wheel2 years ago
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.
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.
jacoman2 years ago
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.
How many rpm need i to have for a stable image?
Many thanks for this project it's really amusing.
rleddington (author)  jacoman2 years ago
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.
Well I can put a hall effect to RB0 with a magnet to have impulse.
How can I change the program to wait for the signal before displaying the message?
rleddington (author)  jacoman2 years ago
Download the source file and SourceBoost C compiler. In the source file there is an infinate loop that starts with "while(1)" . Inside of that loop you'll put something like:
while(RB0); // Wait for RB0 to go low
while(!RB0); // Wait for RB0 to go high
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.
I guess gotta find one 3v, right?
rleddington (author)  jacoman2 years ago
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.
The Wheel2 years ago

Here is my schematic and pcb for eagle. It's working perfectly!
rleddington (author)  The Wheel2 years ago
Excellent! nice work.
Thanks. I'll post a video of it later. How did you convert the .c file to .hex?
rleddington (author)  The Wheel2 years ago
I compile using SourceBoost's C compiler. Here's a link: http://www.sourceboost.com
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
nodoubtman3 years ago
works with pic16f628a?

rleddington (author)  nodoubtman3 years ago
Did you get it working? It should work with 16F628A.
yes i finally did, i had to shake it a little :)

thank you!
rleddington (author)  nodoubtman2 years ago
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?? :(
rleddington (author)  nodoubtman2 years ago
not working yet :(
i will try it again, does 220 ohm resistor is okay?

rleddington (author)  nodoubtman3 years ago
220 should be fine, however if you're using blue LEDs, you will need to change the voltage to 5-6 volts.
nodoubtman2 years ago
only one led is lit up brighly the others are not too bright, is it normal??

thank you!
nodoubtman2 years ago
do you have to make it turn to see the letters?? with a motor ??

thank you so much!
turkin_ar2 years ago
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!!
rleddington (author)  turkin_ar2 years ago
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.

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.
anilbotsa3 years ago
Can we buy this kit?
rleddington (author)  anilbotsa3 years ago
Sure no problem. I sent you an email.
nodoubtman3 years ago
I'm sorry but i did the circuit many times, and it doesnt do anything special!

rleddington (author)  nodoubtman3 years ago
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!
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..

rleddington (author)  nodoubtman3 years ago
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 "Change" 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

i will try your trick

nodoubtman3 years ago
With wish compiler do you compile your c source code?

thank you!
rleddington (author)  nodoubtman3 years ago
I used the one from SourceBoost. Check out http://www.sourceboost.com
dumes795 years ago
 Just bought the kit from your website.  Do I need software?
rleddington (author)  dumes795 years ago

You shouldn't need any software.  The PIC has the program in it already and you can change the message just using the push-buttons.

hello sir plz give me hex file of Magic POV Wand when i click on Magic POV Wand.hex12 KB ANOTHER FORMATE FILE IS OPEN (FR6I64EGC4G0NZB.tmp)

rename it : magic Pov wand.hex

thank you!
hi releddington,
if i buy the programming chip itself.how long can u deliver to spore.
 The kit just came in.  It works perfect.
rleddington (author)  dumes795 years ago
I'm glad to hear it.  Thanks for the feedback.
franmazz4 years ago
can you add the printed circuit? please
rleddington (author)  franmazz4 years ago
Sorry for the slow reply. Assuming you mean artwork, I don't actually have a printed circuit that you could use for etching. If you mean the schematic, that's already provided as one of the pictures. If you're familiar with any circuit design tools such as EAGLE, I'm sure you could create a board layout fairly easily by following the schematic. If anyone happens to make one, I'd love to post it here for others to use. If you would just like an circuit board, they only cost $2.50 at www.chinchillasoft.com.
Thankyou for sharing the code and schematic. I uploaded my PCB design for everybody who want to use it without having to design it from scratch I had to do because mi case it was a matter of "emergency gift" (when you remember that today is an important day for somebody, you know...)


I forgot to include a power switch so you have to remove de battery if you want to turn off the device. Once built the PCB and soldered the parts, the circuit worked as you described, rleddington.

Again, Thankyou very much.
despoto palurdo3 years ago
Thank you for link with deleted file ...
palurdo despoto3 years ago
Ok, try this link:


It's a permanent link
palurdo despoto3 years ago
Sorry, i didn't notice the file was deleted. This copyright conspirancy than came from the megaupload issue has led everybody crazy about storing files at the cloud. Please keep in touch so i will upload again the file quite soon in a different server.

Thankyou for your understanding.
rleddington (author)  palurdo3 years ago
Thanks palurdo,

I'm glad to hear it has worked for you. Thank you for uploading the PCB design, I'm sure others will be glad you did.
despoto3 years ago
Would you like to explain to me why downloaded code (.hex) in program mode works inverse (LEDs that should be on are off and vice verse) ? I suppose that message will be displayed inverse in further action . In "without mc-chip mode" testing was OK......any suggestions?
rleddington (author)  despoto3 years ago
Hi despoto,

The only thing I can think of is if you built your circuit with the resistors connected to ground rather than +5. With this design I purposely set up all of the LED's to turn on when the control pin goes low and goes off when the control pins go high. This is backwards from what people usually do, perhaps that is messing you up. You may be able to change the source code and reverse all of the letter patterns and then re-compile.
nodoubtman3 years ago
how can you send a message with 7 led?

thank you!
16zzundel53 years ago
I just bought the kit. I am so excited to build this!
robot13984 years ago
is there a messege already there or do i have to program the message using the 2 switches
rleddington (author)  robot13984 years ago
The programmed chip has a very generic and boring message by default: it is "ABC" I'm guessing you will want to change the message to something a little more interesting.
smnoor884 years ago
hello sir plz give me hex file of Magic POV Wand when i click on Magic POV Wand.hex12 KB ANOTHER FORMATE FILE IS OPEN (FR6I64EGC4G0NZB.tmp)

ya i to have the same problem the hex file is in different formate
medo504 years ago
rubenrs4 years ago
Hi rleddington, how to reset the message? have to reset or letter by letter?
rubenrs rubenrs4 years ago
Thanks for the reply
I think my problem is to push the button confirms, sometimes I think it confirms the two times.
But I think it got the knack.
rleddington (author)  rubenrs4 years ago
I'm not sure I understand your question completely. Yes you do have to change the message letter by letter. There is no reset. Are you having trouble understanding how to set the message to what you want it to be?
yaly4 years ago
i have PIC16f84a will it work?
how to i edit the files to accept it?
rleddington (author)  yaly4 years ago
I'm afraid the 16F84 doesn't have enough memory for the whole program. You may be able to re-write it to only have capital letters rather than capital and lower case.
rabbsword4 years ago
already order but my package not arrived almost 2 month...:(
milian5795 years ago
where is the schematic diagram? can't understand the circuit at the PCB cause it's not very clear... please send me a schematic diagram.. thank you... adsman579@yahoo.com
rleddington (author)  milian5795 years ago
Hi milian579, You can see the schematic diagram on the first (introduction) step. It is one of the pictures, the last one on the right. Ray
boozo5 years ago
hey nice work i did it and i made all the test and evrthing workd as you said and made the hex file the probl is when i am finsh i put it in the pov but dont work just one light up so can you plz help me and send me your hex file my be it will work thank you for your time
rleddington (author)  boozo5 years ago
Hi boozo, did you build the circuit yourself? That's awsome! The .hex file is available right here on the instructable (Step 1) for download. It's called MagicPOVWand.hex and it is 12K. You should be able to just click on it and download it. Make sure you're using the 16F628 or the 16F628A. The 16F627 doesn't have enough program memory.
shaf7895 years ago
how to program the 16F628A.??? plz tell
rleddington (author)  shaf7895 years ago
There are many tutorials online for programming PIC chips. I use the free ICProg program. Basically you use a compiler to create a .hex file and then you use the ICProg program and a JDM (or similar) programming device.
do u have Cheap PIC Programmer simple diagram ?
Do you send a .hex file of Magic POV Wand to me?
rolocz5 years ago
lol, some time ago I've made yet yet yet another one. Mine is 8051/8031 based though, see it here: http://www.eercz.com/en/simple_handheld_pov_clock
rleddington (author)  rolocz5 years ago
lol. when I first heard about these, I couldn't stop thinking about them until I made my own.  It's a fun challenge.  I liked how you used three battery holders in a line, that was good thinking!
no supe como programar el pic con  que programa he intentado con el winpic el mplab el ic prog y nada como le introduzco el codigo
mmmmmmmmm puedes colocar el .hex ayuda
Hello sir, gud day!!
is there any alternative aside from the PIC u used?
thank you 
rleddington (author)  rhoseurangel5 years ago

I'm sure there are several programmable chips that would work.  It's a very simple circuit.  I like the PIC because it really reduces the hardware required.  It can handle the current for the LED's without transistors, it has it's own internal clock,  and it can operate at a wide variety of voltages.  Mostly I selected it because I was familiar with it.  Feel free to use and modify the code however you want to get it to work with your micro processor.  Good luck!  If you wish to purchase a PIC from me that is already programmed, they're only $3.50 (that includes the shipping within the USA).  It might save you time and effort.  Or you can just get the whole kit for $10. Check out my web site: www.chinchillasoft.com.

Good luck to you, and thanks for reading the instructable.
tjmortenson5 years ago
 Awesome 'ible got my kit today and it works good thanx.
rleddington (author)  tjmortenson5 years ago

Thanks!  It's nice to hear you received it and that it worked for you.

sonson5 years ago
tres pensee well shall be t-il possible d 'avoir the file asm or the fchier hex
tjmortenson5 years ago
 Where does the kit come from and how long does it take to ship?
rleddington (author)  tjmortenson5 years ago
The kits comes from Utah.  It should ship on the next business day.
Ok Thanks.  I just ordered one. 
roadieflip5 years ago

No schematic or code...

rleddington (author)  roadieflip5 years ago
Ok schematic and source code have been added.
rleddington (author)  roadieflip5 years ago
I've added the schematic.  I'll post the code tonight.  Thanks for your comment. 
dumes795 years ago
 What kind of PIC did you use? 
rleddington (author)  dumes795 years ago
It is a PIC 16F628A.
 Thanks.  I have an old  PIC16C54, would that work?
rleddington (author)  dumes795 years ago
I don't think the 16C54 has EEPROM data memory which is required for saving the message.  I probably doesn't have enough program memory either.
 Thanks.  I have an old  PIC16C54, would that work?