Fubarino Contest: Persistence Of Vision Clock


The best part of these contests is that we get people to actually show off what they’ve been working on! Check out the POV clock which was sent in by [Taciuc]. He doesn’t have a webpage for it, but he did send a video which you can see after the break.

The project is a home-etched PCB with a long row or surface mount LEDs. The board is spun by a stepper motor which takes a little while to stabilize. But once it does it’s a twirling package of awesomeness. A PIC 16F628 drives the device, with a separate RTC chip to keep time. There’s also an IR receiver to facilitate user control. Our URL is displayed on the clock face itself and we think it’s always shown. But there is an easter egg in the code itself. If you try to dump the firmware from the chip you’ll see our web address in the hex output. Here’s his project archive if you want to the HEX, ASM and DipTrace schematic.

This is an entry in the Fubarino Contest for a chance at one of the 20 Fubarino SD boards which Microchip has put up as prizes!

19 thoughts on “Fubarino Contest: Persistence Of Vision Clock

    1. He does say stepper but perhaps he made a mistake there. There doesn’t seem to be enough cables leading to the motor for it to be a stepper.

      I have managed 750 RPM with a stepper but it was a very difficult task with very slow ramping required to get over the steppers resonance points.

      1. I noticed it looked like the motor stalled when he started powering it. Maybe that was an oddity because if frame rate and the spin of the clock – but at a glance ( with the sound down ) my thought was that it stalled. Anyway, if that’s true then I would imagine it was actually a stepper.

        1. it is a HDD stepper motor driven by 6 MOS transistors. It really spins around 3000rpm refreshing the image at around 50Hz. It took me a while to write the code for the driver, and I only managed to make it stable by taking the time to settle in a certain position befor it starts the sequence. I used four corner pads on the PCB and I balanced the entire device by adding tin to these pads.

          1. I hate to be contradictory but as far as I am aware all HDD motors are brushless 3 phase motors (except in some old drives where the head was moved by a stepper but they wouldn’t do 3000 rpm that’s for sure).

            I would not mind in the least being proved wrong but the fact you are using 6 MOS transistors implies 3 phases – if you could post the schematic or motor winding diagram that would prove it one way or the other. Cheers.

          2. It’s not necessary to wait for the fan speed to stabilize in order to make a stable image. I made a POV display using an Arduino Pro Mini, and it uses a magnet+hall sensor to detect a fixed position in the sequence. You’ve obviously got something like that with the white box being moved on the table.

            My code uses the micros() function to measure the interval of each fan rotation, then uses that length to set the time each column needs to be on. The measurement is updated on every rotation with the new time. I used a 3 speed desk fan, and even when changing speeds the text display is very stable with only brief transients after changing the switch. Even when it gets switched off, the display positions remain stable as the fan slows down. The text is easily legible all the way down to the point were the fan is so slow the persistence doesn’t last a full rotation anymore.

            For my next incarnation, I plan on either using Neopixels for a more versatile display or inductive power transfer (instead of an on-blade battery that needs to be charged) using the fan’s motor shaft as the transformer core.

  1. If hackaday.com is permanently displayed on the clock face, I’d be surprised to not see the same string in the firmware binary. Although the screenshot shows some additional text which is presumably never displayed…

    1. Well, no, since it’s not like you can just printf() to a spinning disk o’ LEDs. The Hackaday logo, along with the numbers, is probably stored as a bitmap. I haven’t read the code so I dunno what “hackaday.com” is actually doing in there, maybe just filling up some bytes.

      1. You are right about it. It is an ongoing project and I must make such a menu in order to first set the clock. I will control the entire menu using my IR remote control. Anyway, I’m planing to post further videos when this project will be completed.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.