POVer Stick

Project by Aditya Udaya Barve, Malavika Nuggehally Prasanna, Jill Parekh and Dhaval Mehta


The project is aimed at displaying alphanumeric, selected species of special characters and a fairly small bmp image using persistence of vision property of the human eye. A single column of LEDs are sufficient to display a good number of characters using this property, as will be shown in this project.


Persistence of Vision is a property associated with the human eye where any image that is seen will be retained in the retina for around 40 ms after it has been removed from the sight. This very property is the crux of the video display, where frames are flipped through at a rate greater than 25 fps. This link provides a good information about the concept of Persistence of Vision. This was the main motivation to develop the project with the mbed chip.


In this project we have tried to emulate one of the demo programs in Psoc starter kit using mbed chips. The project involved three phases. During the first phase, we displayed text using normal monochromatic ( red ) LEDs. An array of 8 LEDs is placed very close to each other on the bread board. Accelerometer is used to sense the change in direction during fairly uniform fast hand sweeps so that the text is properly alligned during the display. Also, Zigbee module is interfaced along with mbed to facilitate dynamic display of text through wireless transmission and reception. The text to be displayed is entered through the keyboard and this is sent via the zigbee transmitter module on a character by character basis. The receiver Zigbee module, which is connected to the mbed, picks this up and the same is displayed by sending appropriate signals to the LEDs through mbed. Also, it is taken care that no text is displayed on the receiver module when a new text string is being input in the transmitter module. Around 12-14 characters can be displayed using the given design.

In the second phase of the project, instead of red LEDs, shiftbrites (10 bit RGB LEDs) are used to display text dynamically in multiple colours. The choice of colours may be programmed to display any pattern that is desired. 8 shiftbrites are chained to facilitate the display. Also, it is worthwhile mentioning that the power required to drive all these shiftbrites was drawn from the USB power supply to the mbed. Around 4-5 characters could be displayed using the given design.

In the third phase of the project, an image of size 8*10 pixels is displayed. The image is generated in paint in bmp format and the RGB matrices of the image are extracted using image processing toolbox in MATLAB. These RGB matrices are passed on to the shiftbrites with an appropriate delay value to display the image.

Block Diagram






  • 2 mbed NXP LPC1768 chips.
  • 2 Xbee modules [1 transmitter and 1 receiver].
  • Accelerometer ADXL345.
  • 8 Shiftbrite RGB LEDs.
  • 8 Red LEDs and 100 ohm resistors.


Receiver End


Transmitter End


Source Code

Transmitter Code

Import programXbee_transmitter

This consists of the transmitter code to send characters wirelessly using the Zigbee protocol.

Receiver Code for displaying text on red LEDs

Import programReceiver_red_led

This consists of code to receive the transmitted characters and display them on red LEDs.

Receiver Code for displaying text on shiftbrites

Import programshiftbrite_final

This consists of code to display characters received from the transmitter and displays them on the shiftbrites. The color can be chosen dynamically.

Receiver Code for displaying image on shiftbrites

Import programimage_display

The code consists of displaying a BMP image using the RGB matrices extracted from MATLAB.

Project Snapshots

ZigBee Transmitter(right) and Receiver(left)


Shiftbrite module


Project Demonstration

Limitations and Future Scope

  • The number of characters displayed using shiftbrites is much less than the number of characters that can be displayed using Red LEDs because of the weight of the breadboards on which the circuits were built.
  • Color selection to display text using the shiftbrites can be made dynamic.
  • Extraction of RGB Matrix from the image also needs to be made dynamic without using MATLAB.
  • Moving text can be displayed.
  • By using smaller sized RGB LEDs which can be placed very close to each other and lighter platform to hold the system, the range of hand swing can be increased and hence more colours can be displayed in color.


Please log in to post comments.