Propeller Display





Introduction: Propeller Display

This project is a special kind of circular LED display. With the help some mechanical assembly, LED count, hardware requirement, and hence overall cost is cut to very affordable price. Also, maintenance and repairing of the display is so easy, that anyone having a little electronics knowledge, can take care of this. All the synchronising can be implemented through software.

First of its kind, made using the 20-pin 8051 series microcontroller, this project use the principle of Space Multiplexing. This propeller display is mechanically scanned and displays the characters in digital format. Made from scrap it can be used anywhere and everywhere and the most amazing fact about this display is it’s crystal clear display. This display consists of just 8 bright LEDs which are rotated to show the display.

For building this project, requirement is just a small 20 pin microcontroller, a position encoder, and LEDs. This display can show the messages, which will require a whopping 525 LEDs. So hardware and cost minimisation is achieved.

Step 1: What Is a Persistence of Vision (POV)...?

Persistence of vision is the theory where an afterimage is thought to persist for approximately one sixteenth of a second on the retina, and believed to be the explanation for motion perception; however, it only explains why the black spaces that come between each "real" movie frame are not perceived. The true reason for motion perception is the phi phenomenon while the true reason for perception of continuous light is Flicker fusion.

You can read more about POV on this ink

Step 2: Building Materials.....

Here are the list of things required for this Project.
** I have increased the quantity in the list as it might be possible that some of the components gets broken during the connection process

  1. Zero PCB -- Quantity = 3 medium size
  2. Connecting wires (buy it in bunch)
  3. LED's preferably white colour, or any colour you want for your message display -- Quantity =10
  4. AT89C2051 microcontroller. its a 20 pin microcontroller wiich has a single port (I/O pins)
  5. Crystal for microcontroller (4.9152 MHz)
  6. Voltage Regulators (LM7805- microcontroller power supply)
  7. Capacitors.
    • 1000 µf 25 volts -- Quantity = 2 (electrolytic)
    • 10 µf 16 volts -- Quantity = 2 (electrolytic)
    • 33 pf -- Quantity = 4 (ceramic)
  8. Resistors.
    • 220 Ω -- Quantity = 10 (are basically connected to LED's to adjust its perfect brightness)
    • 10 kΩ -- Quantity = 4
    • 1 Ω -- Quantity = 2
  9. MOC 7811 (motorola interrupt circuit)
  10. Tape Recorder Flywheel
  11. 12 volt DC motor
  12. 12 volt Adapter (we can also use an adjustable voltage adapter)
  13. Soldering gun and soldering wire.
  14. Microcontroller program burner. (interfacing hardware between your pc and microcontroler to dump your programs in microcontroller.

Step 3: Display Functioning

LED's are arranged in a straight line over a propeller kinda structure so if the LED's are kept on and making the propeller rotate we would see a circular disc kind of display.

To make an alphabet display through the LED's we need to switch on and switch off our LED's in a patterns as required for an alphabet.

I have attached an image of letter A how to display through the rotating LED's.

Our eyes cant focus on very fast moving objects so we see the fast moving objects as a blur. Similarly taking the advantage of fast rotating propeller and led's blinking in a patterns we are able to display numbers alphabets and many more things on a propeller display.

The images in this section are self explanatory.

Step 4: Block Diagram and Physical Overview

The block diagram represents the overall relationship between each components connected in this project.

The microcontroller is interfaced with an interrupt circuit and an output port has been connected to 8 LED's.
The power supply circuit incorporates voltage regulator for microcontroller and connected to the microcontroler in such a way that a metal wire constantly slips over the flywheel (like a brush in a motor) completing path to transfer the power to the Microcontroller.

Step 5: Circuit Diagram

This circuit diagrams give you the brief description of the connections to be made between each and every components of this project.

While making connections to the LED's make sure that you are connecting the right terminal I mean if the programming is in Positive logic then all the anode need to be connected in microcontroller pins through the resistor and the cathode is connected to all LED's cathode should be grounded otherwise like the negative logic used in my programming we need to connect anode terminal of all LED's together and the cathode needed to be connected to each respective pins of microcontroller through resistor.

Power to microcontroler can be given in 2 ways.

  • We can place a 9 volt battery over the rotating module and connect the voltage regulator to drop the voltage to 5 volts for microcontroller
  • We can have an arrangement like a brush of a motor which constantly slips over commutator to provide power to the windings similarly the whole module can be mounted over a metal flywheel and a wire from the main power supply can slip over the flywheel to provide power tho the microcontroller module.

I find the second option more fruitful as adding a battery over the module can cause in additional weight which can also cause in decrease of speed as the propeller display can provide a sharp image(display) at high speed.

Step 6: Programming

I did the programming on KEIL IDE as its the best one for microcontrollers.

We can even display numbers, a clock animation or a picture animation on a propeller display..
But all you need is the basics of how to code your microcontroller and the pattern to display a letter.

so constantly working on your logic and improving your code can definitely help you if you want to display a complex images too :)

This software also allows you to make a .HEX file after your programs do not have any errors and also you can change the crystal speed while creating the .HEX file.

Step 7: Pseudo Code

1. Code for the timer 0 interrupt

interr: ;T0 interrupt

cjne r6,#0ffh,sk

mov r6,#00h

acall disp

sjmp sk1


mov r6,#0ffh


clr tf0


This interrupt is intended for displaying each segment at regular time interval. The interrupt gets executed after each timer 0 overflow, which overflows at adjustable time intervals.

2. Code for the External Interrupt

; EXT0


clr tr1

clr tr0

mov a,th1

mov r1,a

mov a,tl1

mov r0,a

mov r3,#00h

mov r2,#160

acall div16_16

mov a,r2

subb a,0ffh

mov th0,a

mov tl0,a

mov th1,#00h

mov tl1,#00h

setb tr1

setb tr0

mov r0,#23h

mov r5,#00h

mov r6,#00h


This interrupt performs the basic task of synchronization. It also
resets the character pointer (R0), the segment pointer (R5). Another thing performed in this interrupt is that, the previous time gets divided into number of segments, and the concluding result will be stored in the timer register TH1

Step 8: Programming Your Microcontroler

After verifying your program you can generate .HEX file which can be burned to the microcontroller.

Atmel programmers are easily available in a local electrical and electronics shops. This programmer is capable of programming 40 pin as well as 20 pin microcontrollers.

Proload Software is generally provided with the programmer itself to interface your pc to the microcontroller. this is a very simple software easy to understand and asks you for your .HEX file location.

Make sure the com port number in the software is correct. If you do want to check it then open your device manager and check for the com ports, you will get the idea.

Step 9: Hardware Model

These are the pics of my propeller display model

This model can be also be implemented for displaying the time or animation.

*Note - make sure you balance your propeller before attaching the flywheel in the centre of gravity. If the balancing is not done properly then it can cause your module to wobble and on high speeds it can actually cause damage to the mounted components.

Step 10: The HEX File

This is a .HEX file which you can directly dump in your microcontroller.

The .a51 file can be opened in keil software to see the actual code.

I have also attached a simple code (propeller.c) for understanding purposes. This is a simple code which can be edited into keil software and can be customised according to the requirements.

Step 11: Scope of Propeller Display

Implementation of this technology can be done in creating innovative advertisements on a bicycle wheels.

It can also be implemented in homes as a propeller clock

This module can be customised with coloured LED's to create a coloured display which can be more appealing and can also be used to replace big power consuming displays.
It is also useful to hobby projects enthusiasts.

**The images in this step are taken from Google as to demonstrate the scope of propeller display.



    • Epilog Challenge 9

      Epilog Challenge 9
    • Paper Contest 2018

      Paper Contest 2018
    • Pocket-Sized Contest

      Pocket-Sized Contest

    We have a be nice policy.
    Please be positive and constructive.




    sir, may i have your assembly language file (like the one in the pseudo code) ? I am interesting to learn assembly using your project

    Props for using the real Atmel and not the shitduino.

    I want the program for the alphabets a to z and number 0 to using AT89S52 microcontroller

    Rpm of motor is around 3000 rpm

    I use pic16f84a and a Chamber become figures everywhere I'm not used Is it a problem or programming

    Yes I do have an alternative for your issue.

    you can make an IR interrupt using IR transmitter and receiver as given in below image of you cannot find MOC7811

    make sure you solder them beneath the Displaying LED's where MOC7811 is placed in circuit diagram and the IR transmitter and receiver should face each other and when the propeller is rotating , a small solid piece of sheet should block the IR transmitter and receiver as shown in module diagram. This would be more cheap and efficient.

    I hope you got the idea

    Hello Can you tell me why is used ir led in the circuit please