32x RGB stick
The RGB stick has 32 individually controlled RGB LED’s. Each color is dimmable with 12-bit resolution. All you have to do is shift in 12 bits for each of the 96 channels, and toggle the latch signal. The four on-board TLC5947′s handle the rest. At 20mA output per channel, the board can draw almost 2A of current and can get pretty bright! Daisy-chain them together with the included headers and control as many as you want.
Note: I originally designed this board to be used as a really good propeller clock, but I haven’t been able to figure out how to spin it and supply power. If someone could give me some pointers I’d really appreciate that
I can be contacted at:
Please post your questions in the comments section so that everyone can see the answers. Thanks!
Specifications
| Input voltage: | 3.0 – 5.5V Note: Heat dissipation is directly proportional to input voltage! 4V is recommended, but 5V will still work fine |
|---|---|
| Controller: | 4x TLC5947, HTSSOP-32 |
| Current output: | 20mA (±3%) per channel. Customizable from 0-30mA, see below. |
| Maximum serial clock: | 15MHz |
| PWM frequency: | ~4MHz. Internal oscillator |
| Drop-out voltage: | 0.5V (Supply voltage must exceed LED forward voltage drop by this amount) |
| Maximum current: | 2A per board. PCB traces support 8A continuous current in daisy chain config |
| Dimensions: | 8″ by 0.75″. When chained together via the supplied headers, there is no gap. |
Demo
Full brightness in the dark. It’s too bright for my camera to capture properly!
Code
Interfacing this board with an Arduino is extremely simple. Just connect SCLK, IN, and LAT to your Arduino, along with power connections. You can either use software bit-banging to send serial data, or use the SPI hardware peripheral on the ATMega for faster speeds. Here’s an example using software to do the serial transfer: sample code
Ordering
Shipping costs will be $5 additional for USPS first class mail (estimated two-day delivery). International orders will cost between $10-$15 depending on the country. I’ll include free shipping if you order a bunch of boards.
I will include 4 extra LED’s with each full board/kit in case any burn out or lose proper colors. All headers will be included and soldered (it is slightly difficult to do this with proper vertical alignment)
I’m no longer selling these since it takes a lot of time to assemble and test them, which I don’t have anymore. If you want to buy PCB’s and instructions on how to assemble them yourselves, I’ll be selling them for $5 each.
Warning
The TLC5947′s are a linear regulator, meaning that the power dissipated by the chip, per LED channel, is proportional to:
Pdriver = (Vcc – Vled) * Iled
This is problematic when having lots of LED’s on. Even with the 2oz copper PCB’s I use, 4 controllers on such a small PCB will heat up quickly. The controllers have an internal temperature shutdown feature, so they cannot be damaged, but for best lifetime of the LED’s, use a low supply voltage. 4V works pretty well without losing any LED drive capability. The board will run fine from a 5V supply though, just don’t touch it with your bare fingers! In the future I may sell inexpensive DC/DC converters that output 4V specifically for use with the RGB stick.
Daisy-chaining
Two RGB sticks daisy chained together, total of 16″.
Multiple RGB sticks can be daisy-chained together side-by-side with no gap, operating as one big shift register. However, the board traces are only rated for 8A max current through it. Higher currents will cause excessive heat dissipation in the board copper itself, but are safe for short periods of time. This is useful if full brightness operation is only used rarely, allowing you to run many boards off one power supply.
If you want to drive a large number of boards from the same serial data stream, simply cut the header pins that connect VCC and ground and connect your power supply to that board. Ensure all power supplies share the same common ground.
I will make available a clock buffer board that goes between two boards (connecting them without a gap). It will buffer both the SCLK and LAT pins with low propagation delay. This is necessary for driving very long chains of RGB sticks. I will include a free one with every cumulative order of four boards, or sold separately inexpensively. More details once they come in.
Custom current value
The TLC5947′s are rated to output between 0 to 30mA maximum. By default, I will send out boards for 20mA. I can customize the current to whatever you like if you’re willing to wait a couple of days. Or do it yourself by modifying the four 0603 resistors R1 according to page 13 of the TLC5947 datasheet (PDF).
Since the human eye is logarithmic, you’ll get more dynamic range out of the LED’s if you run them at lower currents. ie. going from 20mA to 10mA is barely perceptible compared to going from 2mA to 1mA.
Soldering
The thermal pad is essential for operation at high currents, doubling the TLC5947′s rated maximum power from 2.8W to 5.3W at 25C. In general, soldering the HTSSOP-32 package including its thermal pad (TI’s PowerPad) can be difficult with just a plain soldering iron. However, due to the specific geometry of this board, the thermal pad can easily be soldered with just a plain iron and some alligator clips. Pictures/video coming soon.
- Flux the thermal pad and board. Apply a very small amount of solder onto the thermal pad.
- Apply a lot of solder to the thermal pad on the board, putting just enough to keep the top surface relatively flat.
- Clean both board and chip thermal pads with some isopropyl alcohol. Reflux.
- Place chip onto board. While holding onto the chip with one hand, clamp down on the chip using alligator clips.
- Clamp the other side. You’ll notice that the chip probably doesn’t lie perfectly flat on the board, since we put solder onto the thermal pad. This is okay and actually desirable.
- Flip the PCB upside down. Apply soldering iron to the thermal pad on the backside of the PCB, at around 650F. Keep the iron on the pad for a few seconds after all the solder starts melting.
- Give the chip a little bit to cool down, then remove the alligator clips. It should be firmly attached to the board.
- Now apply lots of flux to the leads and touch a lightly tinned iron to the leads. You won’t get any shorts if you don’t apply too much solder.





Hi Allan,
This looks really cool! I’m looking forward to trying these out!
I came across your site while trying to figure out how to drive strips of led’s like the one found here: http://www.dealextreme.com/details.dx/sku.14965 You can cut these strips into groups of 3, so each “channel” would use 0.6 watts. Would the rgb stick be able to drive these?
Thanks,
Joe
The TLC5947 can only drive directly connected LED’s. The one you posted is designed for a 12V voltage input and has current limiting resistors built in already.
Hello i’m doig a work prety like yours and i’m using TLC5947 to feed 32 leds RGB, i want to feed them directly, but i’m not sure if i’m right, or i have to use resistor in serie with the leds.
How much current does each stick consume, nominally, and maximally? I have one of your sticks and it seems the official Duemillanove cannot power it fully (brown out, CPU reset), but a Seeeduino can.
The current consumption with no LED’s on should be around 80-90mA.
When the TLC5947 is first powered on, the registers are initialized to random values, so it may try to consume anywhere up to 2.5A (all LED’s on). To prevent this, connect the LAT pin to VCC so that it blanks the LED’s. This is probably your problem.
Hi Allan.
This is a great job
Congratulations.
I am trying to make a propeller clock that speeds really fast, and I wonder : What is the speed limit that an RGB Led can understand PWM orders?
For example : Suppose I change the PWM duty cycle every 90 nanoseconds ( or with 11 MHz frequency if you prefer, it is about the same ). Will the Leds understand this very quick change?
Thank you in advance for your time.
I don’t think you have the figure right. Typically a fast clock like 11MHz is used to clock the possible transition times, not how often a complete cycle is. For example, the TLC5947 internal oscillator is 4MHz, and it is 12-bits, or 4096 possible duty cycles. That means that the duty cycle can change once per 4MHz/4096 which is about 1kHz.
If you’re asking if the LED can respond to a 11MHz signal, then yes, most should be able to.
Yes, I understand what you say. Maby my english are not very good and I did not express myself properly. Sorry for that. I will try to be more analytical :
Let’s suppose that we want to control an RGB led. Let’s also suppose that we want 16*16*16 colors ( totally 4096 colors, or 12-bit color ). I know, not much of an analysis
)
<>
So, we want 8-bit duty cycle ( 256 combinations, 0-255 ) in each one of the three pins of the RGB led. If, for example, we want coral red
<>
which is r 100%, g 25%, b 25%, with the 8-bit analysis we need to apply ( simultaneously of course ) r 16, g 4, b 4. That is to say :
In the red pin, we will send 3 volts ( or whatever voltage the led needs to be turned on ) for all the 16 time fractals.
In the green pin, we will send 3 volts ( or whatever voltage the led needs to be turned on ) for 4 time fractals and 0 volts for the other 12 time fractals.
In the blue pin, we will send 3 volts ( or whatever voltage the led needs to be turned on ) for 4 time fractals and 0 volts for the other 12 time fractals.
All the time fractals are of course 16. When we reach the last time fractal, we loop them again from the begining. So, the color of the RGB led will be coral red.
What I want is EACH time fractal to be 90 nanoseconds. So, each loop to be 16 * 90 = 1440 nanoseconds = 1,44 microseconds.
Question 1 :
Is it too fast for an RGB led?
Question 2 :
How many times must I loop the same color so that it would be “stable”, if I shut it off for a much longer period of time?
For example, if I keep coral red for 30 loops then I need 1,44 * 30 = 43,2 microseconds. Then let’s suppose I shut the led off for 700 times that, which is 43,2 * 700 = 30240 microseconds = 30,24 milliseconds. Then I have again coral red for 43,2 microseconds, then nothing for 30,24 milliseconds etc. etc….
Will the human eye be able to see steady coral red without blinking? Or is the “shut off” period of time too much?
I need that information because I want to divide the propeller clock in about 700-750 space fractals ( about half a degree each one ), and to show only one line in the “12 o’clock” space fractal.
I hope now I was more understood.
Thank you for your time.
Sorry, I put 2 links that the post did not get :
The first is for
en . wikipedia . org / wiki / Color_depth
and the second is for
en . wikipedia . org / wiki / List_of_colors
Hello,
I am interested in two of these LED sticks.
You wrote that you require for the PCB $ 5.
I would like to buy two.
What is the shipping cost to Germany?
I have send you an E-Mail.
Greetings: Michael
Hi,
Do you still have the PCBs for sale? If so, how much for 2 off with shipping to the UK?
Thanks,
Nigel.
If you still have the boards for sale I would like to buy ten of them.
Just in case you’re still trying to make the POV display. I drew these plans up for having an external power supply on a bike POV setup.
http://squeekycleanideas.tumblr.com/post/4000051078/bike-wheel-slip-ring-on-my-first-day-to
With havin so much content and articles do you ever run into any problems of plagorism or copyright
violation? My blog has a lot of unique content I’ve either created myself or outsourced but it looks like a lot of it is popping it up all over the web without my agreement. Do you know any solutions to help prevent content from being stolen? I’d certainly appreciate it.
And at present, there are some appetite suppressants like Phentermine,
Adipex and Phentramin-d. Dietitians now believe that men looking for rapid weight loss pill for women.
The June 21, 2006 Acomplia was approved in the European Journal of Clinical Nutrition,
” explored the topic with a study that found green Pure Green Coffee Extract helps reduce body weight and waist size. Which proves that when it comes to weight loss. Hence, you can actually now find green pure green coffee extract in vesicles that also contained tranferrin, a plasma protein which transports iron through he blood.
When someone writes an post he/she maintains the idea of a user in his/her brain that
how a user can know it. Thus that’s why this piece of writing is outstdanding. Thanks!
First off I want to say excellent blog! I had a quick
question that I’d like to ask if you do not mind. I was curious to find out how you center yourself and clear your head before writing. I have had trouble clearing my thoughts in getting my ideas out. I do take pleasure in writing however it just seems like the first 10 to 15 minutes are usually lost simply just trying to figure out how to begin. Any suggestions or tips? Thanks!