Disk Hack Creates Persistence of Vision

[Adam Antok] was compelled to create this repurposed hard drive persistence of vision hack after seeing a toy of the same nature.

hdd-display-schematicHe used the frame, disk and motor from a drive and added LEDs under the spinning disk as the light source. The disk has 8 small holes drilled equidistant around the disk, and spiraling slightly toward the center. As the holes pass by the LEDS they are flashed by the ATtiny2313 processor to create images. To determine the position of the platters a Hall effect sensor is monitored by the 2313 to detect a magnet on the underside of the disk. There is room to display ten characters at one time. Each cursor position can scroll through the character set by rotating an encoder. For all the precision needed to coordinate the LEDs with the spinning holes the electronics and software code are amazingly simple. That’s a really nice job, [Adam]!

Persistence of vision hacks are to hackers like flames are to moths. One really nice thing about [Adam’s] project is that you can interact with it while it’s running. Check it out after the break.

For a novel take on POV, check out this slow swinging pendulum clock.

Continue reading “Disk Hack Creates Persistence of Vision”

Hacklet 32 – LED Persistence of Vision Displays

Blinking LEDs are good. Moving, spinning things are good too. Put them both together and you get a Persistence of Vision (POV) display. Hackers have been building these displays for years. This week’s Hacklet focuses on some of the best LED POV displays on Hackaday.io!

povtypeWe start with [EduardoZola] and POV as you type, write on the air. [Eduardo] used an Arduino Nano, a pair of 433 MHz radios, some blue LEDs and a motor to create a simple spinning display. A hall effect sensor keeps everything in sync. The entire display is powered by a 500 mAh LiPo battery. The awesome thing about this display is the interactive aspect. The transmitter module connects to a laptop via an on-board USB to serial converter. Typing into any serial terminal sends the text directly to the POV display, where the letters appear to hang in the air.


deathringNext up is [boolean] with Silent Orchestra POV aka “Death Ring”. [boolean] didn’t want to just create a POV ring, he wanted a huge 5 foot diameter display for his local Burning Man decompression. Death Ring is an aluminum ring spun by a 3HP motor. A hall effect sensor keeps everything synced up, and keeps Death Ring’s 3 horsepower motor in check. Light is provided by a PixelPusher and WS2812 RGB strips. The system is designed to be interactive, controlled with a Leap Motion controller or a Microsoft Kinect. An MPU-6050 keeps acceleration in check while processing maps video to the LED strip. An Arduino Yun allows the entire system to be controlled via WiFi. [boolean] and his team have taken Death Ring through several revisions. Judging by the quality of their aluminum welding though, they’re on the right track to an awesome end result!

locoHackaday.io power user [Davedarko] has been working on a POV display of a different sort. His Locomatrix is an 8×8 LED matrix which moves in and out on the Z axis. [Dave] originally created Locomatrix as his entry in the 2014 Hackaday Prize. We have to admit this is the first time we’ve seen this sort of display, but the idea is sound. In fact, [Bruce Land] posted in the comments to let [Dave] know that he’d seen a similar technique used with a CRT display back in 1964. We’re betting Dave’s 3D printed gears and LED matrix display will be more robust than a CRT tube slamming two and fro at several hundred pulses per minute!

CPOVFinally, we have Hackaday’s own [Mike Szczys] with CPOV – a Crappy Persistence of Vision display . CPOV is a proof of concept made from upcycled parts which [Mike] threw together in a couple of hours. He grabbed the motor from an old cassette deck, some plywood, perfboard, and of course LEDs to build his display. The processor is an ATtiny2313 running Adafruit’s MiniPOV 3 firmware. The system display doesn’t have a sync input, so [Mike] uses a novel form of Human-in-the-loop PWM control to keep the motor speed in check. CPOV is proof that Hackaday.io isn’t just for polished projects, but for proof of concepts, fails, and just plain research. Even if your project isn’t perfect, documenting it will help you learn from it. It might even inspire someone else to move forward and continue where you left off!

Want more POV goodness? Check out our new POV display list!

Our LEDs are going dim, so that’s about all the time we have for this Hacklet. As always, see you next week. Same hack time, same hack channel, bringing you the best of Hackaday.io!

Arduino Tetris on a Multiplexed LED Matrix

[Alex] needed a project for his microcomputer circuits class. He wanted something that would challenge him on both the electronics side of things, as well as the programming side. He ended up designing an 8 by 16 grid of LED’s that was turned into a game of Tetris.

He arranged all 128 LED’s into the grid on a piece of perfboard. All of the anodes were bent over and connected together into rows of 8 LED’s. The cathodes were bent perpendicularly and forms columns of 16 LED’s. This way, if power is applied to one row and a single column is grounded, one LED will light up at the intersection. This method only works reliably to light up a single LED at a time. With that in mind, [Alex] needed to have a very high “refresh rate” for his display. He only ever lights up one LED at a time, but he scans through the 128 LED’s so fast that persistence of vision prevents you from noticing. To the human eye, it looks like multiple LED’s are lit up simultaneously.

[Alex] planned to use an Arduino to control this display, but it doesn’t have enough outputs on its own to control all of those lights. He ended up using multiple 74138 decoder/multiplexer IC’s to control the LED’s. Since the columns have inverted outputs, he couldn’t just hook them straight up to the LED’s. Instead he had to run the signals through a set of PNP transistors to flip the logic. This setup allowed [Alex] to control all 128 LED’s with just seven bits, but it was too slow for him.

His solution was to control the multiplexers with counter IC’s. The Arduino can just increment the counter up to the appropriate LED. The Arduino then controls the state of the LED using the active high enable line from the column multiplexer chip.

[Alex] wanted more than just a static image to show off on his new display, so he programmed in a version of Tetris. The controller is just a piece of perfboard with four push buttons. He had to work out all of the programming to ensure the game ran smoothly while properly updating the screen and simultaneously reading the controller for new input. All of this ran on the Arduino.

Can’t get enough Tetris hacks? Try these on for size.

Bike Rim Lighting Lets the Night Crowd Know When You’re Rollin’

There comes a wonderful “MacGyver moment” in many hackers’ lives when we find ourselves with just the right microcosm of scrap parts to build something awesome. That’s exactly what [dragonator] did with his gifted tech box from Instructables. He’s combined RGB LEDs, a Trinket, and a hall effect sensor to add a semicircular rainbow pattern to his night ride while he rides it.

The theory behind the hack is well-known: given the time between pings from a hall-effect sensor responding to the magnet on a bike wheel, an embedded system can estimate the wheel rpm and predict the time to display a particular color on the LEDs. [dragonator] uses the known wheel speed to determine the LED pattern currently on display: either a slow breathing pulse to a half-circle rainbow that displays on the lower bike rim. He drops in the needed equations and required components to follow his trail in a well-documented instructable.

Persistence of Vision (POV) is a nice extension from blinking your first (or first hundred) LED(s). It’s just enough math to get the casual onlooker to cry “magic” and just enough embedded electronics to get those seasoned double-Es to nod their heads. If you’re new to the POV crowd, [dragonator’s] Instructable may be a great start.

Continue reading “Bike Rim Lighting Lets the Night Crowd Know When You’re Rollin’”

Persistence of Vision Clock on a Propeller

If you have a spare DC motor, a PIC16F84A microcontroller, and a lot of patience, then [Jon] has a great guide for building a persistence of vision clock that is sure to brighten up any room. For those who are unfamiliar with this type of clock, the principle is simple: a “propeller” with LEDs spins, and at just the right moment the LEDs turn on and display the time.

We’ve featured persistence of vision projects before (many times), and have even featured [Jon]’s older clocks, but the thing that makes this POV clock different is the detail of the project log. [Jon] wasn’t satisfied with the documentation of existing projects, and went through great pains to write up absolutely everything about his clock. The project log goes through four major versions of the hardware and goes into great depth about the software as well, making it easy for anyone to recreate this robust clock.

As for the clock itself, the final revision of the hardware has a PCB for all of the components, and uses a PC fan motor to spin the propeller. Power delivery eliminates slip rings or brushes in favor of wireless power transfer, which is an impressive feat on its own. Indeed, the quality of the clock is only surpassed by the extreme level of detail!

POV Display Does it on the Cheap


[Sholto] hacked together this ultra low-budget spinning display. He calls it a zoetrope, but we think it’s actually an LED based Persistence Of Vision (POV) affair. We’ve seen plenty of POV devices in the past, but this one proves that a hack doesn’t have to be expensive or pretty to work!

The major parts of the POV display were things that [Sholto] had lying around. A couple of candy tins, a simple brushed hobby motor, an Arduino Pro Mini, 7 green LEDs, and an old hall effect sensor were all that were required. Fancy displays might use commercial slip rings to transfer power, but [Sholto] made it work on the cheap!

The two tins provide a base for the display and the negative supply for the Arduino. The tins are soldered together and insulated from the motor, which is hot glued into the lower tin. A paper clip contacts the inside of the lid, making the entire assembly a slip ring for the negative side of the Arduino’s power supply. Some copper braid rubbing on the motor’s metal case forms the positive side.

[Sholto] chose his resistors to slightly overdrive his green LEDs. This makes the display appear brighter in POV use. During normal operation, the LEDs won’t be driven long enough to cause damage. If the software locks up with LEDs on though, all bets are off!

[Sholto] includes software for a pretty darn cool looking “saw wave” demo, and a simple numeric display. With a bit more work this could make a pretty cool POV clock, at least for as long as the motor brushes hold up!

Continue reading “POV Display Does it on the Cheap”

The Persistence of Jumping Rope

POV Jump Rope

[Antonio Ospite] recently took up jump rope to increase his cardio, and also being a hacker decided to have some extra fun with it. He’s created the JMP-Rope — the Programmable Jump Rope.

He’s using the same principle as a normal POV (Persistence of Vision) display, but with a cool twist. He’s managed to put the microcontroller (a Trinket) and battery into the handle of the jump rope. Using a slip ring system, the RGB signal gets passed to the rope, which contains the LEDs. It’s a pretty slick setup, and he’s written another post all about how he did the hardware.

To create the images for his JMP-Rope, he’s outlined the steps to a successful POV image on his blog. These include re-sizing the image to a circle (duh), reducing the color palette, and then performing pixel mapping using a discrete conversion (from polar to Cartesian coordinates). After that it’s just a matter of representing your new-found pixel map in a 1D animation, played column by column. [Antonio] stores these frames on the micro-controller as an RLE (run length encoded) indexed bitmap.

Stick around to see how he made it, and some other cool examples of what it can do!

Continue reading “The Persistence of Jumping Rope”