# Small, cheap, and simple driver for 16 RGB LEDs

I am working on a board design that will put 16 RGB LEDs in a circle around a rotary encoder. I want this setup to be simple so that I can run it from any micro with limited software (ie. built in PWM control, no tedious management necessary on the micro). I also want it to be relatively compact so that this board will not take up much space. I would also like it to be as cheap as possible in medium quantities. These 3 criteria are likely in competition, but I would like to know what others would suggest.

I have considered shift registers. These might be cheap and somewhat compact, but they would require the attached micro to spend a lot of time managing the LEDs to do any sort of colour blending.

I have also looked at some PWM LED drivers. The best one I have found so far is a 16 channel chip, so I would need three to drive all my LEDs. It would be simple to use, but the space and cost would not be great.

Another option might be to use some sort of FPGA or dedicated micro with lots of IO to control the LEDs. I'm not sure if the power needed by the LEDs would be too much, though.

Is there some option I am missing that would fit this target usage? I am open to a solution with slightly more or less LEDs, but I would not want any less than 12.

Edit: For reference, I am basically trying to replicate this board or this + this but with RGB capability, including colour blending. If the ring has to be a bit larger, that is ok to some extent. I would still like to be able to put a couple boards next to each other in a single project without too much spacing.

• I may have misread the dimensions of those LEDs on aliexpress. It looks like they are in fact 5x5mm, so they are a pretty good size, and at <$0.50 per LED in large volumes, they are quite reasonably priced. Now the issue is trying to drive them, but I think I might add a small MSP430 that will be dedicated running the LEDs and reading a capacitive touch button. I needed a capacitive touch IC anyway, and the 430 would not be much more expensive. – ben Jan 22 '13 at 20:20 • @Ben yes those are 5050 sized leds, the same standard sized used in led strips. You can find them in 3528 size as well. And A msp430 would be great at driving them, look at www.43oh.com for examples. – Passerby Jan 23 '13 at 22:42 You should look at BlinkM and Bliptronics. Although they don't provide a driver IC by itself but they do deliver ease of use. They are scalable beyond 16 LEDs. There is a good code-base and online help available for these products. There is a vast variety of RGB LED drivers but they don't deliver ease-of-use by themselves. You may look at: LM3435 LTC3212 NCP5623 and the list will go on. • I've seen the BlinkM before and it is a neat product, but it is pretty significant overkill for my design. It looks like it would get an A+ for simplicity, but at$13 per LED and 15x15mm, it it fails both cost and size. The LED drivers linked appear to just drive single RGB LEDs. If I could find an IC that would do ~16 LEDs, that wouldbe great, but neading 16 chips is too much space and too much cost. The Bliptronics board linked is interesting. It appears to host an LED pixel like Passerby suggested. They also have a 5mm pixel, which looks just about perfect, but a bit pricey. – ben Jan 21 '13 at 18:17
• @ben I hope that bliptronics LED is fairly priced (~$2 for RGB LED along with driver chip). I bought a few of them a year ago but never got a chance to experiment with them. One of the interns that worked for me interfaced them with Arduino with very little effort. – Chetan Bhargava Jan 22 '13 at 5:08 • It might be fairly priced for the type of chip that is included. The WS2811 LED pixels are <$0.50, but might be more challenging to interface with. In my project, I think I can add a small micro for about $1.50 to abstract away that difference, and it would also replace another$0.90 part. For me, the cost is slightly more of a concern that the simplicity. – ben Jan 22 '13 at 20:24