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.

I’m now ready to ship boards out in small quantities. Your order will be shipped within a few days.

$70 Fully assembled with LED’s.
$45 Same as $30 below, except with 36x RGB LED’s included.
$30 All surface mount components soldered. Provide your own LED’s (cheap off ebay). These boards will be fully tested (making sure all channels have proper current driven).
$5 Bare PCB. Bill of materials will be provided with your orders.

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.

  1. Flux the thermal pad and board. Apply a very small amount of solder onto the thermal pad.
  2. Apply a lot of solder to the thermal pad on the board, putting just enough to keep the top surface relatively flat.
  3. Clean both board and chip thermal pads with some isopropyl alcohol. Reflux.
  4. Place chip onto board. While holding onto the chip with one hand, clamp down on the chip using alligator clips.
  5. 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.
  6. 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.
  7. Give the chip a little bit to cool down, then remove the alligator clips. It should be firmly attached to the board.
  8. 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.

18 Responses to “RGB Stick”


  1. 1 Joetek Nov 18th, 2010 at 3:55 pm

    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

  2. 2 allan Nov 19th, 2010 at 12:36 pm

    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.

  3. 3 PatrĂ­cio Lima Ferreira May 13th, 2011 at 7:38 am

    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.

  4. 4 bsidhipo May 31st, 2011 at 5:27 pm

    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.

  5. 5 allan May 31st, 2011 at 5:46 pm

    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.

  6. 6 Fanis Aug 7th, 2011 at 6:32 pm

    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.

  7. 7 allan Aug 8th, 2011 at 12:24 am

    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.

  8. 8 Fanis Aug 26th, 2011 at 4:43 pm

    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.

  9. 9 Fanis Aug 26th, 2011 at 4:46 pm

    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

    :)

  10. 10 Michael Hofmann Oct 17th, 2011 at 10:14 am

    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

  11. 11 Nigel Walker Jun 15th, 2012 at 10:34 am

    Hi,

    Do you still have the PCBs for sale? If so, how much for 2 off with shipping to the UK?

    Thanks,
    Nigel.

  12. 12 Glasshopper Aug 8th, 2012 at 3:48 am

    If you still have the boards for sale I would like to buy ten of them.

  13. 13 Jonathan Bobrow Sep 2nd, 2012 at 1:46 am

    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

  14. 14 lloyd irvin Apr 10th, 2013 at 2:06 am

    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.

  15. 15 http://www.debianizzati.org/blog/2012/06/02/dpn-n-112012 May 10th, 2013 at 10:23 am

    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.

  16. 16 visit this site right here May 13th, 2013 at 10:46 pm

    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!

  17. 17 Constance May 31st, 2013 at 9:16 pm

    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!

  1. 1 RGB LED Circuit using the TLC5947 - Hacked Gadgets - DIY Tech Blog Pingback on Nov 10th, 2010 at 8:49 pm

Leave a Reply

*