Thomas Carpenter, Oliver Peel, Adam Clarkson, and Laurence Bird had better be getting some extra credit in their engineering courses at the School of Electronic and Electrical Engineering at the University of Leeds, UK. For their class project they not only managed to build this beautiful Persistence of Vision display, they managed to gain a worldwide following with one tweet.
The POV globe display isn't really a globe at all. It is a ring with LEDs mounted along the outside edge. However, when you spin the ring quickly enough, your mind perceives the LEDs being lit up as a globe. This effect is called Persistence of Vision. This project pulls this off particularly well due to the high quality of the build, as well as the horsepower at its core. These students chose the Raspberry Pi as the workhorse for several reasons: It is cheap, small, and powerful.
However, they didn't actually use the Raspberry Pi to drive the display. It has a built-in FPGA decoding the HDMI signal, making it essentially just an external display for anything that could output the HDMI. This modular approach might actually be nice if they decide to change the brains down the road.
The physical construction is interesting, too. Everything is aluminum, with custom LED driver boards mounted around the edge of the ring. Each board has 24 RGB LEDs, with seven boards mounted vertically on each side, adding up to a total of 336 pixels. However, since only one side of the ring is visible at any given time, the effective vertical resolution is 168 pixels. The FPGA decoder and Raspberry Pi are mounted in the center. To power everything, they used a 4-phase commutator to deliver 75 watts of power.
Custom LED driver board.
Since the globe is just a display, it can run any application that can be run on the Raspberry Pi. However, since the visual representation is a sphere and it happens to be tilted 23 degrees, some applications seem to fit better than others. For example, showing a real-time world clock or world weather display looks as though it were built for the purpose. These guys did manage to play some video games on it as well.
We contacted their instructor, Craig Evans, to ask a few questions.
When asked what was the most fun, he noted that playing Super Mario Brothers on it was a blast. Since the image of the Deathstar had such a big impact on people as they walked around, the team wants to showcase the interactivity of the display better. They will be adding a Deathstar background and changing the other graphics to match the Star Wars theme. Your character would, of course, be an X-wing.
On the topic of difficulty, Evans confided that the most difficult part of the project had to be the process of decoding the HDMI signal:
HDMI is an encoded format that requires decoding to extract the color information for each pixel of the display. A Xilinx Spartan-6 FPGA with a DVI decoding core was used to extract the RGB data from the HDMI output and convert it into a format that can be used to drive the LEDs.
As the display scans vertically rather than horizontally and has a lower resolution (360 x 168) than the Pi can output, each frame has to be buffered in the FPGA in order to scale and rotate the image, and to reduce the frame rate to match the display (10 fps). Hardware limitations of the FPGA (lack of memory) means that the color depth has to be reduced by truncating some color data (the display uses 9-bit color while HDMI is 24-bit color).
Careful timing is required as all of the processing has to happen on the fly while each frame is being received and being output from the FPGA to the display.
The HDMI decoding may have been very difficult, but, as noted earlier, it enables the POV globe to act as a generic display for anything that can output HDMI, which is a fantastic option to have.