Driving a 32×32 RGB LED Matrix with a BeagleBone Black and an FPGA

My latest project uses a BeagleBone Black and a Xilinx Spartan 6 LX9 FPGA to drive a 32×32 RGB LED matrix.

BeagleBone Black + LogiBone FPGA board driving a SparkFun 32x32 RGB LED panel.The displayed pattern is a frame from a Perlin noise pseudorandom sequence.

This project lets me display cool and interesting patterns on a matrix of 32×32 RGB LEDs. That’s 1024 RGB LEDs or 3072 individual LED chips that need to be controlled! Rather than attempt to control all the LEDs in software only or using one of the BBB’s programmable real-time units (PRU), I decided to use the CPU to generate the patterns and use the FPGA to handle the heavy duty task of refreshing the LEDs.

Continue reading

Posted in BeagleBone Black, FPGA, LED Matrix, Lighting, RGB LED | Comments Off on Driving a 32×32 RGB LED Matrix with a BeagleBone Black and an FPGA

Trailview 360° Camera Panorama Viewer

Here’s a screen shot from the proof-of-concept demonstration of my trailview camera javascript viewer:

The actual viewer is located here:

Panoramic Trail Viewer – Mill Creek Link

Be patient. Images are rendered using HTML5 canvases and each panorama is an eight-megapixel, 2MB file. It can take a few seconds to download an image from the server and another 5 to 10 seconds to decompress the image. Once the image is loaded, panning and zooming are actually quite smooth. I’ve tested this with Firefox, Safari, and Chrome on a Mac. Tablets and phones don’t have enough horsepower for the large images. IE on Windows is known not to work. Like I said, it’s a proof of concept.

The upper left corner is the panoramic image which can be scrolled a full 360 degrees by 180 degrees by clicking and dragging the mouse. My camera only captures 360 by 90 degrees so the ground and sky appear as dark grey regions. The image can be zoomed in and out using the mouse wheel.

The upper right corner is the status display. The status display displays the user’s compass heading as well as the trail relative heading with 0° representing the down trail direction (walking from the green start flag to the red end flag) and 180° representing the up trail direction (walking from the red end flag to the green start flag). Camera angles and panorama numbers are displayed here too.

The lower left corner is a map displaying the user’s current position on the trail. The green flag is the start of the trail, the red flag is the end of the trail, the blue line is the trail, and the green dot is the user’s current position. The user’s current position can be moved by clicking on the trail.

The lower right corner is an elevation profile of the trail. The green dot represents the user’s current position. The user’s current position can be moved by clicking on the profile.

For more information on the DIY 360 degree panoramic camera rig I used to take the panoramas, please watch my youtube video:

360 Panorama Camera Built with GoPro Hero 2 Cameras

It’s constructed from an aluminum housing, four GoPro Hero 2 cameras, a control board I built, and a tilt-compensated electronic compass. It’s controlled over Bluetooth from my Android phone.

A final note: Google Maps has a Streetview API that would permit these same panoramas to be displayed very quickly using their Streetview software. I may move to that in the future but I wanted the first version to be completely self-contained and work without a continuous connection to the Internet.

Posted in Trailview, Trailview Software | Comments Off on Trailview 360° Camera Panorama Viewer