Update: I have been working on documentation; a much more complete version is available here: http://docs.macetech.com/doku.php/shiftbrite
ShiftBrites (and other LED products) are available in the macetech store: http://www.macetech.com/store/
ShiftBrites have been available for a while, and I haven't created an actual datasheet or hook-up diagram yet. I still need to do that, but this should at least provide enough information to understand what the ShiftBrite is doing, and how to control it.
A ShiftBrite has an RGB LED and a small controller chip, the Allegro A6281. The A6281 provides 10-bit PWM and 7-bit current control for each of the red, green, and blue LEDs.
The V+ and GND pins power both the LED and the control chip. ShiftBrites require up to 60mA per module when all LEDs are active. The supply voltage should be kept between 5.5 and 9 volts. I have had good results with 6V and 7.5V power supplies.
The DI (Data In) pin carries the actual control information into the ShiftBrite. It is the input to an internal 32-bit shift register. Every time data is shifted into the controller, the binary value on the DI pin is placed in Bit 0 of the shift register, and the value in Bit 31 overflows out the DO (Data Out) pin to the next ShiftBrite in the chain. Data is shifted in using MSB (most significant bit first).
Submitted by Garrett on Tue, 06/02/2009 - 00:43.
This project is mainly about my new build process, which I used to create a single sided PCB for a rebuild of the Capslocker project from last year. Instead of using a laser printer to create an iron-on resist pattern, I'll cover a whole PCB in resist and then use a laser cutter to etch off the resist.
First, I created a new design in Eagle. I wanted this version of the Capslocker to be a little easier to program and adjust, so I added a potentiometer and a 6-pin AVR ISP header. It makes the device a bit bigger, but really makes it easy to modify the code.
Next, I lightly spray painted some single sided copper clad PCB material from Jameco. The best paint I've found is Rust-Oleum "Painter's Touch" flat black spray paint. It dries in about 20 minutes.
I set up the spray painted copper clad on the laser table and focused it as precisely as possible. A sharp beam is essential to getting a precision resist mask. Then I printed-to-file using a postscript driver, imported that file into Corel, converted to a 1200x1200 DPI bitmap, and inverted. I set the laser to 50% speed and 40% power, raster mode, bottom-up etching. It can be a good idea to print two copies since the second pass cleans up paint residue a lot, but it's not required.
Submitted by Garrett on Wed, 04/01/2009 - 23:47.
"my05stang" has installed the full ShiftBrite bar in his Mustang and posted a new video! Looking great....he's going to experiment with different colors and speeds, as well as check into diffuser solution. But at this point, it looks great. Good job!
Submitted by Garrett on Fri, 02/13/2009 - 20:54.
I got some custom headers for use in Arduino shields today, and tested them out tonight. Seems to be pretty much ideal.
After the soldering, I decided to attack a problem that a customer asked me about. He's working on a Mustang and wants to use ShiftBrites to make a Knight Rider style scanner (2008 TV show version). I wrote some code, it allows any chain length divisible by two, any solid or mixed color, and custom leading and trailing gradients. Here's the relevant post on the Arduino forum. A YouTube video is below:
Update: I moved the controller to a larger LED bar and updated the code a little bit: Read more»
Submitted by Garrett on Sat, 01/10/2009 - 05:58.
I flew back home today and immediately started rigging the ball (click here for the article about the ball) drop system for tonight. Here's the pole right after I set it up:
And here's the ball run up to the top and ready to rock:
The pole is made of two 10-foot pieces of 3/4" EMT and is guyed with nylon twine. A couple of pulleys let me raise and lower the ball on more twine. It will run through a sequence right after powerup, then go to a slow fade. The ball is made of drinking straws and ShiftBrites, and powered by an Arduino.
Submitted by Garrett on Wed, 12/31/2008 - 19:19.
I thought it would be fun to make my own version of the Times Square ball drop for New Year's Eve. Maybe later I'll build something like this: http://www.timessquarenyc.org/nye/nye_ball.html ... but for now I'll have to go with 32 LEDs instead of 32,256, and drinking straws instead of Waterford crystal. The straw icosahedron first stellation (small triambic icosahedron) was actually built a couple of years ago when I had a package of straws and no job. I simply strapped a bunch of ShiftBrites to it.
Submitted by Garrett on Wed, 12/24/2008 - 09:48.
I installed 30 ShiftBrites on the front fence this year. I'm pretty happy with the results!
Submitted by Garrett on Sat, 12/06/2008 - 03:29.
I've been designing some products that attach to an Arduino Diecimila / Duemilanove board. These are typically called shields, and are used to easily add functionality to the basic Arduino platform. Read more»
Submitted by Garrett on Wed, 12/03/2008 - 02:29.
I ran across some photos of an impressive project on Flickr, uploaded in mid-2007. tellini on Flickr was apparently building a bar of individually-controlled RGB LEDs, with an Arduino. Only 1.5 years ago, there weren't many options to get this working; the ShiftBrite was a rough concept buried in a folder in my computer. He used a lot of shift registers, a lot of wire, and a lot of hard work. Here's what the prototype looked like:
Submitted by Garrett on Mon, 12/01/2008 - 23:27.
I built a giant red/blue bar graph to display the electoral vote at my house tonight. It uses 32 ShiftBrite RGB LED modules, two CSG-4M LED numerical displays, a Cubloc CB405 with Quick Start 1000 board, and an ACODE-300B Bluetooth module. I used Eric's code from Hackaday last night to scrape CNN's election results. The code runs on a small 400MHz Linux server I always have running for file storage and random scripting.
Here's how I did it:
Submitted by Garrett on Tue, 11/04/2008 - 14:06.