Hacking Allen Bradley Cluster Pilot Lights

01-title-picture-v2

LED and driver boards used to turn bulky, current-hungry Allen Bradley incandescent cluster pilot lights into something more hacker friendly.

I was recently working on a project and wanted to incorporate one of Allen Bradley’s four-position, four-color cluster pilot lights into the project. A quick search of eBay found several lights with the lens colors I wanted but not at the voltage I wanted. Furthermore, the lights were all incandescent and illuminating just a single segment would pull almost 200mA at 6V. That’s a bit more current and voltage than I could supply from a 3.3V microcontroller or FPGA pin. I went ahead and ordered a few complete lights that had the colored lenses I wanted and hoped I could find some way to replace the incandescent bulbs with current-sipping LEDs.

Continue reading

Posted in Uncategorized | Comments Off on Hacking Allen Bradley Cluster Pilot Lights

Driving a SparkFun 48-Segment RGB LED Bar Graph

Controlling the RGB bar graph with a Digilent Arty board and my driver and carrier boards.

Controlling the RGB bar graph with a Digilent Arty board and my driver and carrier boards. The bar graph is a bit washed out from the lighting used to take the photo.

I recently picked up a 48-segment RGB LED bar graph from SparkFun. The bar graph’s 144 LEDs are arranged in a common-anode matrix of 16 x 9 LEDs. I was hoping to drive the display with something like a Maxim MAX6954 LED display driver. Unfortunately, that display driver is common-cathode and only 16 x 8. A quick Google search found that most display drivers topped out at a 16 x 8 matrix of 128 LEDs—not enough for this application. I quickly came to the realization that I was going to have to build my own display driver.

Continue reading

Posted in Uncategorized | Comments Off on Driving a SparkFun 48-Segment RGB LED Bar Graph

Tracking People with the Googly Eyes and OpenCV

In part 1 of this series of posts, we built a giant set of robotic googly eyes. In part 2, we brought the googly eyes to life using an Arduino. In this post, we’ll use OpenCV to make the googly eyes detect and follow people as they move around the room. More specifically, we’ll use OpenCV to detect faces on a webcam and move the googly eyes to look roughly in the direction of the largest face in view.

Continue reading

Posted in Arduino, Machine Vision, Robotics | Comments Off on Tracking People with the Googly Eyes and OpenCV

Bringing the Robotic Googly Eyes to Life

In this post, we’ll add motion to the googly eyes using a microcontroller and some stepper motor drivers.

In this post, we’ll add motion to the googly eyes using a microcontroller and some stepper motor drivers.

In part 1 of this series of posts, we built a giant set of robotic googly eyes. Now it’s time to animate them! To keep the project simple, we’ll use an Arduino Uno and a pair of Big Easy Driver stepper motor drivers. Let’s get started.

Continue reading

Posted in Arduino, Robotics | Comments Off on Bringing the Robotic Googly Eyes to Life

Build a Pair of Robotic Googly Eyes

Completed robotic googly eyes. The scleras (whites of the eyes) are about 8" (200mm) in diameter with 5" (125mm) pupils.

Completed robotic googly eyes. The scleras (whites of the eyes) are about 8″ (200mm) in diameter with 5″ (125mm) pupils.

Build your very own pair of giant robot googly eyes! These eyes are built from laser cut acrylic panels and motorized using a pair of NEMA-14 stepper motors. This post is the first in a series of three posts. In this post, we’ll build the googly eyes. In the 2nd post, we’ll look at hardware and software to animate the googly eyes. In the 3rd and final post, we’ll connect the eyes to OpenCV to make them track motion and faces in a room.

Continue reading

Posted in Fusion 360, Robotics | Comments Off on Build a Pair of Robotic Googly Eyes

Color Kinetics ColorBurst 6 Teardown

The internals of my formerly waterlogged Color Kinetics ColorBurst 6 RGB LED lighting fixture.

I’ve had three Color Kinetics ColorBurst 6 RGB LED fixtures in my front yard for about ten years now. They’ve survived numerous winter snowstorms and spring monsoons. Recently one of the three fixtures started taking on water and the blue and green channels began flickering. Having served its useful life in the front yard, I promptly removed it and replaced it with a new fixture. This left me with a water logged fixture that almost but not quite worked. Time to drain the water and do a proper teardown. Read on to see how a commercial-grade RGB LED light fixture works.

Continue reading

Posted in Lighting, RGB LED, Teardowns | Comments Off on Color Kinetics ColorBurst 6 Teardown

Building an Enclosure using SketchUp and 3D Printing

3D printed enclosures designed using SketchUp

The image above shows two enclosures for a printed circuit board design. These were designed using the inexpensive hobbyist version of CadSoft Eagle and the free maker version of Trimble SketchUp. The free version NetFabb Basic was used to check the design for manufacturing. The enclosures were finally 3D printed at shapeways.com using their EOS Formiga P110 SLS 3D printers. Read on to see some of the lessons I learned while designing and printing these enclosures.

Continue reading

Posted in 3D CAD/CAM, 3D Printing, SketchUp | Comments Off on Building an Enclosure using SketchUp and 3D Printing

Folding the Six Panel Wall into a Cube

After seeing this cube and this cube, I decided it was time to build an LED cube of my own leveraging the BeagleBone Black and FPGA work I had already done for my six-panel mini video wall. The cube project is essentially purely mechanical since the existing BBB software and FPGA code will work unmodified to drive the cube.

The finished cube hanging from the rafters in my basement.

Continue reading

Posted in BeagleBone Black, FPGA, LED Matrix, Lighting, RGB LED | Comments Off on Folding the Six Panel Wall into a Cube

Expanding the BeagleBone Black and FPGA to Drive 6 (or more) Panels

After completing my first BeagleBone Black + FPGA project and tutorial where I drove a single 32×32 RGB LED matrix, I decided it was time to go bigger. The result is the project shown below—a 3 x 2 matrix of 32×32 RGB LED panels. That’s 6,144 RGB LEDs or 18,432 LED chips—each of which can be controlled with 12-bit color at a refresh rate of 200Hz. Let’s take a closer look at the steps required to move from driving one panel to driving six panels.

Here is a video on YouTube of the six panel project in action.

576mm x 384mm RGB LED “wall” displaying a frame of Perlin noise. The BeagleBone Black can perform the roughly 600,000 3D Perlin noise calculations required to produce a smooth animation sequence at about 50% CPU utilization.

576mm x 384mm RGB LED “wall” construction showing six 192mm x 192mm 32x32 RGB LED panels, the 3mm thick aluminum frame, two pieces of 20x40mm aluminum extrusion, wall mounting brackets, electronics, and power supply.

Continue reading

Posted in BeagleBone Black, FPGA, LED Matrix, Lighting, RGB LED | Comments Off on Expanding the BeagleBone Black and FPGA to Drive 6 (or more) Panels

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