You can do all sorts of things with flashing LEDs, and in this simple project, we’ll make a small device that lights up messages in the air when you wave it back and forth. It’s easier than you think, and the total cost of parts is under $5.

This project utilises an optical illusion called persistence of vision to make text appear in the air. You’ve probably come across this phenomenon when someone moves a lit sparkler quickly at night. We will be using an Arduino and some LEDs to mimic this effect. This project is simple to build, with few components and little soldering (though if you want some tips on getting started with your soldering iron check out this guideLearn How to Solder, with These Simple Tips and ProjectsLearn How to Solder, with These Simple Tips and ProjectsAre you a little intimidated by the thought of a hot iron and molten metal? If you want to start working with electronics, you're going to need to learn to solder. Let us help.Read More).

You Will Need

Arduino (I used a $2 Nano because it’s compact and cheap, but any model should be fine).

A housing for the finished product (I used a small cardboard box painted black).

You’ll also need a soldering iron and some solder to put it all together.

While optional, some solder wick can come in very handy in case you make any soldering errors. A breadboard and some hookup wires are also useful to test your circuit.

Wiring

The wiring couldn’t be simpler. First, hook up your Arduino, LEDs and resistors as shown in this diagram.

Pins D2 through D6 go to each resistor respectively, which are attached to the positive anode (long leg) of each LED. The cathode is connected to ground, which connects back to the Arduino. When it’s done it should look something like this:

That’s it: our circuit is done! We will be adding a battery housing and a switch to it later, but this is all we need to test whether it works.

Save the sketch and upload it to your board. If you get any errors, make sure you have the correct board and com port selected. Your LEDs should start to flicker. If they don’t, check all of your connections on your breadboard. The integers declared at the start of the code determine how fast the text is displayed. The higher the number, the faster you will need to wave the device. I found that the numbers used here worked well.

Now to do a quick test. Disconnect your Arduino from the USB cable, and attach your battery holder to the VIN and GND pins of your arduino

Now that you can move it around, carefully try swinging the LEDs in front of you. You should see some letters forming in the air provided it is dark enough around you. I found it helped to set my phone up to capture this.

Fold each cathode so that it overlaps the next, and solder them to create one unbroken line. Now we need to solder our anodes to the legs of the resistors next to them. I found the easiest way to do this was to solder each leg to their respective pad, and then place the iron between them to heat both joints, before finally adding more solder to bridge the gap between them.

Check each connection to see that it is solidly attached, and then use wire cutters to cut off the excess legs from the resistors and LEDs.

Now to repeat that same task, but this time connecting the other end of our resistors to the legs of the Arduino. This is the most fiddly part of the soldering. Each resistor much attach to its Arduino pin alone or the circuit will not work the way it is intended to. I made several mistakes here and had to use solder wick to remove unwanted solder multiple times.

Once you have checked each connection, cut the excess length from the legs of the resistors

Adding Power

Now run a piece of wire from the GND pin of your Arduino to a hole next to where your line of soldered cathodes ends, and place the black wire of your battery holder next to it.

Now solder the wire to the GND pin, the same way we did with the resistors, and solder both wires to the end of the line of cathodes to create a common ground for the circuit.

Finally, attach a wire to the VIN pin of your arduino, and place your switch between that wire and the battery pack. Apologies for the hot glue covered switch in this photo, I had to dismantle the finished machine to photograph this stage!

Once it’s all soldered together, put a battery in and flick the switch. Congratulations! The circuit is done. If you don’t see anything lighting up, check each soldering joint carefully to see where there may be a break or a short circuit.

Cut down your protoboard to size by scoring it and carefully snapping away parts you don’t need.

Place your circuit inside your enclosure, and mark where the LEDs and switch need to poke through. You can optionally also mark where the USB connector on the Arduino board meets the edge so that you can plug it in to change the text without opening the box. Drill or cut the holes you need into the enclosure.

Now add a little hot glue to the edges of the LEDs and stick them in place. I glued a piece of sponge under the circuit so that it would sit snugly in the box. Attach your switch to the case. I used hot glue, though screws or bolts would make a much stronger connection. You could also glue the battery holder to the back of the circuit board to stop it moving around inside when the item is in use, but be sure that any metal contacts on the case don’t touch any of your soldering joints!

Job’s Done!

Close up your enclosure, and you are done! To change the text, attach your USB cable to the Arduino board, and change the text inside the brackets after displayString in the loop method. Find a dark place, and have fun!

Have you build a POV machine before and know ways to improve on the design? Are you planning on building one yourself? Tell us about your project in the comments below, we’d love to hear it!

Ian Buckley started out with a degree in Music composition, before devoting his time to DIY tech and coding. He now works as a freelance journalist, performer and video producer living in Berlin, Germany. When he's not writing or on stage, he's tinkering with DIY electronics or code in the hope of becoming a mad scientist.