Digital Poi Spinning – Persistence of Vision Display

By , November 8, 2010 10:07 pm
Digital Poi Spinning - The Alphabet

Digital Poi Spinning - The Alphabet

I've noticed a few POV (Persistence of Vision) based devices around the internet in different forms and thought I should build my own version to try out the concept. It was a weekend project to build my first prototype.

The Digital Poi Spinning device can write text, draw small icons, and display patterns as you spin it around. It works by encoding your visual data onto a series of 8 LEDs that are spun on a cord like a fire spinning poi. In one rotation there are roughly 600 virtual pixel positions. With 8 pixels on the Y axis, and 600 on the X (rotation) axis, there are 4,800 effective pixels in the display. The Digital Spinning Poi acts like an air display hovering in front of you due to the effect of persistence of vision.

You can also create light orbs by taking long exposure photographs of the Digital POI device.

The project involved designing a single sided printed circuit board, etching it, assembling the board, writing the code in MikroC Pro for PIC and flashing the PIC MCU. When updating the graphics in the code it really comes in handy that I built in an ICSP programming connector.

Here are the files that will help you build your own POV++ Spinning Device. Included in the ZIP archive is the source code for the project in MikroC Pro for PIC format, the character map spreadsheet in Excel format, a bill of materials list, and the schematic in PDF format.

Legal Disclaimer

The source code, schematics, and projects files are free for non-commercial use. Also, I will not be held liable for any loss/damages arising from you building and operating your own Digital Poi Spinning device. Don't forget to wear safety glasses when spinning it!

POV-Display

POV-Display

Andrew

Andrew

Poi Swooping

Poi Swooping

Digital Poi Data Stream

Digital Poi Data Stream

Poi Swooping 2

Poi Swooping 2

Checker Pattern

Checker Pattern

Alphabet

Alphabet

I Heart PIC

I Heart PIC

Spinning Numbers

Spinning Numbers

Spinning Extended Characters

Spinning Extended Characters

POV Schematic in Diptrace

POV Schematic in Diptrace

PCB Layout in Diptrace

PCB Layout in Diptrace

Toner Transfer Paper and Copper FR4 Laminate board

Toner Transfer Paper and Copper FR4 Laminate board

The etched and drilled circuit board.

The etched and drilled circuit board.

The circuit board and parts ready for assembly.

The circuit board and parts ready for assembly.

The finished Digital Poi prototype.

The finished "Digital Poi" prototype.

I designed the characters in the Apple Numbers spreadsheet program.

I designed the characters in the Apple Numbers spreadsheet program.

The code for the device was written in C-code using MikroC Pro for PIC.

The code for the device was written in C-code using MikroC Pro for PIC.

14 Responses to “Digital Poi Spinning – Persistence of Vision Display”

  1. Shahzad Ali says:

    Great effort Andrew, keep it up in the future. Please give me the opportunity to work at this project. Kindly provide the complete schema with the proper description of used components along with the MakroC code. I will be thankful to you. God bless you!

  2. Zoran says:

    Hi Andrew, also a good idea is to make a clock in this way, there are youtube videos where people mount a motor and produce amazing clock designs... It should be relatively easy for you now, once you developed the driver.

  3. Amr Elkholy says:

    it is a wonderful project
    if you can write the code using micro basic pro for pic. I will be thankful to you

  4. pradeep says:

    Hi Andrew its really amazing work done by you can I have the code that is to be written on to the microcontroller?

  5. Andrew says:

    Hi Pradeep,

    You can download the source code and Excel character map spreadsheet here:
    POV++_Project_1.0.zip

  6. blockus says:

    What battery is that?

  7. Andrew says:

    Blockus,

    I used a 7.4Volt 800mAh LiPo (Lithium Polymer) battery that was left over from a Twister toy helicopter.

  8. Malleable Reality says:

    Let me start off by saying thank you for uploading this information. I am a performer looking to start a legitimate fire and light entertainment and promotional business based on this technology. Ever since I've seen this video
    http://www.youtube.com/watch?v=_HmzY3a5eow&feature=youtube_gdata_player
    I have been trying to figure out how to manufacture my own set. I am not super savy on programming so you'll have to forgive my ignorance. But let's say a person wanted to make a set of poi but wanted the dimensions of the total unit to be about an inch wide by 10 inches long and wanted to fit 20 color changing LEDs inside in two rows of ten back to back so the pattern stays consistent whether its viewed from the front or the back is that something that is possible?

  9. Andrew says:

    Hi Malleable Reality.

    Yes, it is possible to create a higher resolution digital poi with 20 tri-color leds that would fit within a 1 inch x 10 inch dimension.

    You would have to use a double sided circuit board with surface mount components to achieve the smaller form-factor. A tri-color LED can generate any color in the visible spectrum by mixing the output of the red, blue, and green lights. You would probably want to have either 8, 16, 24 or 32 LEDs per side due to the way memory and digital outputs are handled on a micro-controller.

  10. S. Ramana says:

    Hello Mr Andrew.

    Is it possible that the same PCB can I mount on my bike wheel to displaying bike speed and my mail ID using with an hall effect sensor? ( example :- 35 km/hr ) Please reply me abut my doubt and is thare any possibilities to do that bike wheel POV.

    Thank you,
    Ramana

  11. Andrew says:

    Hi Ramana.

    I have provided the schematic and code from my project for free. It would be possible for you to layout your own PCB board how ever you want. If you wanted to add your own hall effect sensor there are plenty of inputs available on a typical micro-controller and you are free to modify the source code from my project to meet your needs.

    An alternative is a kit that Adafruit industries sells called the SpokePOV:
    http://www.adafruit.com/products/5

  12. kaushik says:

    Hi Andrew,
    Thanks for the information you provided in POV. I am planning to make the similar application, but running the motion using DC motor [from old printer] or BLDC motor fan. The data will be update to the external I2C EEPROM by RF or IR.

    I will get in touch with you after final development. Planning to use PIC18F4550, so, i can get USB support for future use. :)

  13. bakshu says:

    Hi Andrew,

    Thanks for the information, but can I have the code in assembly language program..so that I can implement and can I know about the connection of motor....and please help me......waiting for you reply

  14. Andrew says:

    Hi Bakshu.

    Included in the project files is assembly language version of the POV display code called pov++.asm.

    My Digital POI display project was a very simple prototype and was operated by manually spinning the LED display circuit board on a 24 inch long cord.

    When you spin the cord the display becomes visible. The weight of the circuit board + battery and the length of the 24 inch cord acts to govern the maximum spin rate you can comfortably maintain. You have quite a bit of range on how fast you can spin the display and still read the text.

    Because you manually spin the cord the project has no motor control code.

    Regards,
    Andrew Hazelden

Leave a Reply

Note: Comments will have spelling errors corrected before they are posted. If you have a specific question please provide your email address so I can send you a direct reply.