How to Make a POV Display Using LEDs and Arduino

POV Display

Here is a simple project using an Arduino and some LEDs. What we are going to learn here today is how to make a POV display or Persistence-Of-Vision display. It is made out of just 6$ worth of components. This tutorial gives will teach you how to make a simple and a cheap Arduino POV display. We can use this display as a pocket-sized portable message showing device and tabletop clock.POV Display

How Does it Work?

What is POV(Persistence of Vision)? It can be defined in simple words. When a person sees an object, its image remains in the retina of the eye for a time interval of 1/16th of a second. This phenomenon is known as persistence of vision. This phenomenon is used in the POV Display to form images. We turn the LEDs on and off in such a way that the different images overlap each other forming letters. For example:POV Display Using LEDs and Arduino example (1)

1 2 3 <– Time

1 1 1 <– Bulb 1

1 0 0 <– Bulb 2

1 1 1 <– Bulb 3

1 0 0 <– Bulb 4

1 1 1 <– Bulb 5

Each row represents the 5 LEDs we use to make the Arduino POV display and each column is a time interval. Each element in the row represents the state of the LED at that given time.

At t = 1 Bulbs 1,2,3,4,5 are ON

At t = 2 Bulbs 1,3,5 are ON

This way we can visually see the letter E formed by the LEDs but the time interval would be very small in milliseconds. Due to the short time intervals and the ability of the LEDs to turn ON and OFF very quickly we can see the letter E as all the 3 images merge. As the motor is spinning and time passes, each LED moves from one position to the next, so all these images merge together.

Required Materials


  1. Soldering iron
  2. Player tool
  3. Wire cutter
  4. Glue gun (Not required for the portable device makeover. It is used only for the table top version.)


  1. Arduino Pro Mini
  2. Female pin socket for Arduino
  3. Perfboard
  4. 3V Regulator IC
  5. 220Ohm Resistors – 5 No.s
  6. LED – 5 No.s (Although I have shown Green LEDs here, Red is better)
  7. Old Mobile Battery


Mechanical Parts

  1. A wooden block / A plastic tin that has little weight
  2. BO motor 3volt / 12 volt, 500rpm motor
  3. A wheel of BO motor
  4. Nut and bolt – 3 pairs
  5. A scale

Making the Circuit for the Portable Arduino POV Display

Cut the perf board to the appropriate size that you want. Then connect the LEDs and solder it as shown in the figure below. Then connect the Arduino case (where Arduino is to be placed). Connect the resistors to the positive pins of the LEDs and connect the negative pins together. Then connect the LEDs to the Arduino. The first LED(on the upper side) connects to the Arduino pin 2. Connect the second LED to the Arduino 3rd pin. Connect all LEDs as shown in the circuit diagram. At last, connect a pin for mobile battery. For plug and play use, connect a switch. If you don’t have a mobile battery, you can also use a 9-volt battery. In this circuit, I have connected a 9-volt battery to the Arduino with a 3V regulator.

Assembling the Rotary Mechanism for the Arduino POV Display

Drill and make holes on the wooden block to attach the motor and connect the motor as shown in the figure. Connect the wheel and screw the two bolts on the holes of the wheel. Then cut a half of the scale and drill two holes and attach the scale and screw it (the electronics part is going to be attached here).

Take a small plastic piece (as shown in the figure above) and connect the plastic piece perpendicular to the scale using the glue gun. Then take another piece of plastic and screw it on the other side of the wheel. Then make the mobile battery pack by soldering extension wires to the terminals. Connect the electronic part (the display board with LEDs) to the perpendicular part and connect the battery to the other side. Balance and fix the wheel on the center (make the center of gravity the center of the wheel). This is for minimizing vibration when it rotates.

Read more: How to Make a POV Display Using LEDs and Arduino

Leave a Comment

Your email address will not be published. Required fields are marked *