Project: ShiftBrite

ShiftBrites in stock now.

Click here to purchase online. 

ShiftBrite is a simple device I am designing and producing. It allows easy control of a bright RGB LED. The interface is a straightforward clocked serial data line and a latch input. All signals are buffered and passed through for good performance over long cables and daisy chaining many devices. Many ShiftBrite devices can be controlled from any type of controller that supports clocked serial data output, which is practically all microcontrollers and even PC parallel port or FTDI bitbang adapters.

The above images are renders of the revision 1 design. These were created by exporting PCB images from Cadsoft Eagle, and using the images as textures in a Sketchup model.

The controller IC is an A6281 from Allegro. This actually does all the necessary work to control three LED channels. It receives clocked serial data, generates regulated power for its internal logic, performs a 10-bit PWM cycle for each channel, provides current control up to 150ma per channel, and allows dot correction for improving the match between LEDs used together. It buffers the input signals and passes them straight through to the other side of the package. The A6281 is available in a 16-pad 3mm by 3mm package with thermal pad.

LEDs are a bright common-anode RGB part purchased directly from China on eBay. The seller is either TopBright or Shop4LEDs, I believe they are the same company. In large quantities, the pricing is very reasonable; in fact, my Chinese contacts were having difficulty sourcing similar LEDs anywhere near the same prices.

I am having the circuit board produced by OurPCB. They are also sourcing some of the parts and will assemble the complete devices. I won't post the exact pricing here, but if you have an idea for a device and need it produced, try getting a quote from OurPCB. You will likely be impressed at how low the barrier to entry is for mass-producing custom electronics products.

After I have verified the final product, I may be offering these devices for sale. I will most likely be able to price these in the $5.00 range, with discounts for multiple pieces.

Additional Information

I ordered samples of the A6281 from Allegro, and wanted to test the chips to make sure what I was reading in the datasheet matched reality. I decided to dead-bug wire the chip to a proto board for testing. The images below show some of this process and the results. This method did work just fine, I was able to successfully control a set of LEDs.

Prototypes

The circuit boards for the prototypes finally arrived, and I assembled some ShiftBrites. The common-anode LEDs from TopBright, I discovered, have an incorrect wiring diagram. The common anode lead is actually to the right of the notch, not below it. Fortunately this only means rotating the LED 180 degrees. The last photo below shows a second ShiftBrite chained to the previous one on a breadboard.


Project Status

  1. Define features
  2. Select components
  3. Design schematic
  4. Design printed circuit board
  5. Order prototype PCBs
  6. Locate component sources
  7. Get PCB and assembly pricing
  8. Order parts
  9. Assemble and test prototypes
  10. Submit final design files to PCB assembler
  11. Ship self-sourced parts to assembler
  12. Receive and test finished products

 


Submitted by Garrett on Sun, 03/09/2008 - 00:50.

Sounds quite much like

Sounds quite much like BlinkM (http://thingm.com/products/blinkm). What is the difference between them? Is there anything that Shiftbrite won't be able to do that BlinkM can or the oposite? A big advantage with your Shftbrite seem to be the price; the BlinkM cost 12.95 $ each.

The first main difference is

The first main difference is that the ShiftBrite uses an inexpensive chip that doesn't require any flash programming during assembly. The BlinkM uses a microcontroller that probably doesn't cost more than $1 or $2 more, but it does have to be programmed before shipping to the customer. These two factors make it possible to get a very low price on completed devices, though I have no idea what that raw cost is for the BlinkM.

The second difference is that an array of ShiftBrites is a series of latched shift registers, rather than BlinkM which is I2C and can be thought of as a star diagram. Since the ShiftBrites are in series, the identity of an LED is defined by its position on the string. The BlinkM requires you to program an address into the LED before it can be uniquely addressed. The BlinkM allows you to send a command to one LED at a time, but the ShiftBrite requires you to command every LED in a string even if you only want to change one. Fortunately the ShiftBrite data clock can be several megahertz, so commanding LEDs should be at least as fast as the BlinkM 100KHz I2C bus. The microcontroller programming require for commanding a ShiftBrite is very simple in comparison to the BlinkM; the user only needs a simple serial clocked shift register and latch pin, and does not need to implement the I2C protocol.

The third main difference is the scripting software and standalone mode of the BlinkM, which don't exist on the ShiftBrite. Typically, someone using a ShiftBrite will get the most value if they want to use three or more on a string, and need to fully control them from their own microcontroller. If you only need one LED and want standalone scripted actions, the BlinkM is more compact and economical than taking a ShiftBrite and adding a dedicated microcontroller. However, this will not be the case in the second version of the ShiftBrite, which will be powering LED currents far in excess of the microcontroller's I/O port maximum.

It sounds like that might

It sounds like that might work as a solution for several applications. I am looking at the robotics aspect and would like to control an RGB led for basic color mixing/brightness from a servo pulse train acting like a virtual servo. This way it would be easy to work with and program. Would this be possible? I know it is not possible with the BlinkM, although they may offer it in a new version.

The BlinkM would most likely

The BlinkM would most likely be a better choice. Mainly because it does use a microcontroller, and you could create custom firmware and reprogram that controller to mix colors based on the pulse-width servo input. The BlinkM and the ShiftBrite won't work with your application out of the box, but the BlinkM could be reprogrammed to do so. You'd need to learn firmware development for the AVR microcontroller.

Awesome! This would be just

Awesome! This would be just what I'd need for a project I've been thinking about for ages. The chip actually does everything I wanted to do by myself... better... ;)

Greetings! While I simply

Greetings! While I simply do not have the vocabulary to understand
very much about your device, I did gather that it can control multiple LEDs. I am wondering if it could be use for a battery operated light system for our Dancing Christmas Tree puppet costumes and 18 foot tall Giant Parade Puppets? Video at http://www.youtube.com/stiltpro

Thank you!
Bill Coleman
ps Found you by way of MAKER

I think it's definitely

I think it's definitely possible, but if many lights are needed the cost could rise pretty fast compared to something like a string of LED christmas lights. Maybe a mix of normal LED strings for fill, and some ShiftBrite element in locations you need programmable patterns and color mixes.

I need this product! Where

I need this product! Where can I buy it? :)

Right here, in about 30

Right here, in about 30 days.

For about $5? What about

For about $5? What about shipping to Europe?

I hadn't planned on doing

I hadn't planned on doing international shipping right away. Mostly because it's more of a pain than domestic shipping, which I can set up in a couple minutes then print a label. I'd have to worry about customs forms, long shipping delays, etc. Also, these devices are not RoHS or CE marked which might pose a problem for European markets.

However, in small quantities I am willing to ship to some European customers. If there's enough overseas demand I will switch to an RoHS process and do what I can to streamline international shipping. 

hello, I'm interested in a

hello,
I'm interested in a couple of your devices to make some testing, do you ship them to france? How much would be the total cost?
thanks in advance
Pedro

you might want to consider a

you might want to consider a heat sink to lengthen the lives of your LEDs

The LEDs are only 20ma per

The LEDs are only 20ma per channel. The leads are designed to stand the LED off the board by a few mm, air cooling seems to work fine. The A6281 definitely needs heat sinking, I have the thermal pad connected to a large ground plane and that seems to do the trick. When the thermal pad is not connected, the A6281 hits overtemp and shuts off one of the LEDs. It automatically turns back on when the heat issue is resolved...no need to worry about burning these out!

"you might want to consider

"you might want to consider a heat sink to lengthen the lives of your LEDs"

To get a clue considerer:
How about asking if something was considered before telling someone to considered. And just as expected, the consideration took place long ago. Typical wasteful post.

I would like more

I would like more information on parallel port interfacing. I have a few Kit74 relay boards controlled by Brookshire VSA. It would be nice to be able to control the Shiftbrites this way.

Hi, I'd like to order a few

Hi,

I'd like to order a few of the ShiftBrites. How do I go about it?

Thanks

Steve

The online store is now up

The online store is now up and running. Please let me know if you run into any problems!

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
  • Images can be added to this post.

More information about formatting options

CAPTCHA
Please prove you are sentient by typing the correct phrase below.
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.