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.


You could go with RGB leds with integrated controllers. The Ws2801 and Ws2811 rgb leds are all the rage now a days, and you only need to update the Addressable leds when you want to change colors, they handle the pwm.

There are other versions as well, some are i2c or spi, the Ws2811 is a 1-wire like protocol (timing critical). But that's a space saving option.

| improve this answer | |
  • 1
    \$\begingroup\$ Those LEDs look nearly perfect. I found some on aliexpress that would make them only slightly more expensive than an RGB LED on digikey. From your linked article, it sounds like sending data to them can be tricky, but with a library available, it should simplify things. The only real issue I have with it is the ones I could find are labelled as 10x10mm, which might be a bit too large. It looks like Bliptronics has a 5x5mm one, but their prices are quite high and they don't have a part number. \$\endgroup\$ – ben Jan 21 '13 at 18:23
  • \$\begingroup\$ 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. \$\endgroup\$ – ben Jan 22 '13 at 20:20
  • \$\begingroup\$ @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. \$\endgroup\$ – 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:

and the list will go on.

| improve this answer | |
  • \$\begingroup\$ 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. \$\endgroup\$ – ben Jan 21 '13 at 18:17
  • \$\begingroup\$ @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. \$\endgroup\$ – Chetan Bhargava Jan 22 '13 at 5:08
  • \$\begingroup\$ 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. \$\endgroup\$ – ben Jan 22 '13 at 20:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.