The Magic Wand Clock: a Persistence of Vision Toy !





Introduction: The Magic Wand Clock: a Persistence of Vision Toy !

Hold this magic wand in your hand, swing it and push the button : a complete digital clock will appear floating midair. Amaze your kids and friends !

Step 1: Description

This is a persistance of vision project of the kind we have seen lately in large quantities. POVs are fun to watch anyways. This one comes in the shape of a tooth brush case (courtesy of Swissair, now gone) one must hold as a magic mand. At the top of the case 7 LEDs provide the display, at the middle two small button set the time and a larger one triggers the display: push the button (this turns the display on otherwise the display is normally off) and swing the wand right to left and the time of day will float midair !
How is this accomplished ?
The display is virtual, being made of 25 columns of 7 LEDs each. Only one column is shown at a time. The single column of LEDs shows one after the other the columns forming the digits of minutes and hours, right to left : pushing the trigger button starts the display of minutes, tens of minute, separating colons, hours and tens of hours, one column at a time rightmost column to leftmost column. Your eye's retinas will retain the image of each column one close to the other and the image of the clock will appear. Difficult to explain, much easier and fun to try.

The circuit is based on a PIC16F84 micro, a 32768 Hz crystal watch salvaged from a dead watch 8 resistors, two capacitors and two AA or AAA batteries.
The circuit consumes very little power due to the low voltage supply and the low frequency crystal.
Synchronizing button push and wand swing may take time to learn, but not much.

The time is set with trials and errors: read the time, push minutes set button to meke them advance one minute per second, read time again. The same to set hours.
Below the schematic, the source code commented so as to make it understandable as much as possible and the HEX file ready to burn into the PIC.

I'd rather not delve into how to program the micro. There are many tecniques and sofware described over the net. This would probably deserve a whole instructable of itself. I successfully used PonyProg as programming software and its HW interfaces. Also found excellent WinPIC.

Make sure to check the video attached at the bottom. The quality is not good being taken with a photographic camera. The clicking noise is the 'wand!' button being clicked while swinging. The voices in the background are my family's.

Now on with step two: construction

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5 License

Step 2: Building the Circuit

Cut a piece of perfboard in a shape suitable for the top of your toothbrush case.
Solder at the top the seven LEDs, shorter pin is Cathode, the one that goes to ground. Better mark a black spot on the side of the LED's case before you cut the wires to correct lenght.
Solder one pin per LED first, align them in a row, solder the other pin of each LED.
Solder the socket in place, pay attention to position of pin no.1 (the one with the dot). Do not mount the micro on the socket for now.
Solder the crystal and the seven resistors.
Start wiring with very thin enameled copper wire.
One resistor and capacitors can be soldered on the solder side.
Connect battery holder un pushbuttons with thin plastic insulated wire.
The battery holder can be made out of thin cardboard: cut a square of cardboard the size to make one round around the two batteries. Hold with some scotch tape. Wrap another sheet of cardboard and hold again with scotch tape. Remove batteries and inner cardboard. The removed sheet of cardboard served to give batteries some room and slip easily inside the tube. The two electrical contacts can be taken from a broken toy or another electrical piece of equipment.

Buon divertimento ! Have fun !



    • Clocks Contest

      Clocks Contest
    • Oil Contest

      Oil Contest
    • Creative Misuse Contest

      Creative Misuse Contest

    49 Discussions

    5Volt I am tring to make your clock. (Good job on the info it is all there) I have a few question. On the schematic it says "82 or 100 W (x7)" does that me 82-100 ohm resistors? My 2nd question is will this work on a 16f84a? And can you give me the numbers off of the caps that you used for pin 15 & 16. I have assembled it with caps marked 82 on them and a 16f84a. When I push the buttion all I get is a quick light flash on and then off and stay off. I think it my be my caps I am using. I don't have any 820's. Thanks again good job

    2 replies

    Ooops! apparently the font I chose replaces the Omega with a W... Yes it's Ohm. It should work fine on a PIC16F84a as well. Capacitors are ceramic, 16V or more Yahoo! The flash you see means the clock is working fine ! Just press the button while swinging the wand right to left. Try not to follow the wand with your eyes. You 'll see the time floating ! Don't get discouraged ! Just try to keep your eyes from following the wand look just in front of you, start moving the wand right to left, click. Watch the video to better understand the synchronicity (?) of swing anf click. Apparently this is the first sample of the magic wand clock done with this instructable ! Thanks for asking. Please post again for success or failure anyways ! Please post photos if possible. Best regards OG ! 5V

    hey 5 volt ...
    i can see the flash ( change in led's pattern ) but its not visible when i move right to left how its show in video but we can observe can in led's when i press wound button
    can u give any solution for this ......
    waiting for ur answer
    reply asap.... :)



    i have a universal pic programmer and i tried to program the hex file to the pic16f84a it gives me an error with mplab winpic800 and wxpic please help soon to send another better hex file thanks

    2 replies

    Just for continuity with PMs and comments, I'm pasting here my reply to Youssef comment and PM follow-ups:

    The device id PIC16F84 should be input in some menu of your programmer. Very likely you are presented with a pull-down menu to choose from. The HEX file should not contain the device id.
    The fuses are included in the HEX file which your programmer should understand well.
    Anyways, in some menu of your programmer there should be some device configuration where you can set the fuses (make sure that watchdog timer is off and crystal is set to XT).

    Hope this helps.

    P.S. Please post any comments/follow-ups here: I'm notified of them by Emails anyways.


    Nice kid, congratulations!

    Thanks a lot. we found a 32768 hz oscillator..

    btw, is the program really designed to show the time only for a few seconds? how can we make it retain the time?

    2 replies

    Almost forgot : I read in your PM about the capacitors : 82pF can be reduced somewhat, say 68pF of 56pF. Just try, you can't damage anything. In case stick to 82Pf (check dead electronics, VCRs DVDs TVs, near the crystals).

    Actually it is a POV clock in that to 'see' the time you have to wave the clock in front of you while pushing the 'wand!' button. The time is then displayed from one side to the other of the display, one slice at a time: persistence of vision (POV) makes you see time floating on air. If the display would stay up longer, say forever, without any synch (the button press) you would just see an un-readable jam of LEDs flashing.
    Just press the button and wave the wand.

    The timings are based entirely on the 32768Hz crystal. 4MHz would require total redesign of timings and thus timers, it would also drain batteries at the speed of light even with LEDs off.

    32768 Hz crystal are very easy to find in crystal watches as small metallic cilinders : don't be afraid of damaging it these are pretty strong. The crystal you'll find will probably be un-marked but great chances are that it is 32768Hz.
    Best regards

    hi sir,,im still having a problem with this project,,i load the program to a pic 16f84a and use a 4Mhz oscillator,,when i tried to turn it on, the LEDs flash some light then suddenly turned off, is it ok to put it on breadboard first? could anyone suggest a simpler project using pic 16f84a for beginners?

    1 reply

    Ahhh! I see : you are using the 4MHz crystal. This makes a difference : you must configure the oscillator bits for a "high speed crystal or resonator". The HEX file configures it for "low power crystal". Read details on page 21 (ch 6. SPECIAL FEATURES OF THE CPU) of the datasheet of the 16F84.
    I don't have MPLAB installed now, so i can't make the 4MHz HEX file. You can do it with your programmer though settting/resetting the config bits of the micro..
    Best for now, hope this solves.

    I made one, but it is resetting at random (shows 00:00:00). I unloked the option in .asm file to show seconds, also. But, why the resetting ? And how I could make it show the time for a bit longer ?

    1 reply

    Ciao Lord_Vek, sorry for not replying sooner but for some reason sometimes I read and forget about comment notices in my personal mail... Anyways, this 00:00:00 problem occurred to me also when the battery disconnected for a short time. This is due to oxidation of the battery to clip flat contact or vibrations. Of course vibrations are unavoidable to display the time so I suggest to place the spring clip at the bottom of wand and the flat clip end towards the LEDs (the outermost side of the wand). The batteries should also slide easily inside the paper-made battery holder. To make it, it could better to wrap a piece of paper around the batteries then wrap the cardboard and scotch tape the assembly, then remove the paper sliding it out to give some room to the batteries to slide sort of freely and stay on the flat clip easily. Hope this helps. Ciao and please come back on this. Alessandro

    Thank you very much. I'm very happy whenever this simple project is appreciated. Ciao Alessandro