Designing A Controllable RGB LED Driver Board

[Paul] wrote in to tell us about this LED driver board he’s been working on with a few friends. The collaborators had been unhappy with the Lumens per Watt ratings (or lack of a rating) on low powered LEDs and set out to find a better solution. They picked up the beefy ASMT-MT00 which houses all three diodes in one package, with all the pins on one side of the surface mount package, a heat dissipating tab on the other side, and pushed 30 Lumens per Watt. With that in hand they set out to design a host board for the blindingly bright light.

The board includes a heat sink on the underside. To drive the LEDs [Paul] sourced an LM3407 constant current driver. The manufacture recommends using one of these chips for each of the colors in the LED package. [Paul] built a circuit that allows him to route power around each LED, making the system work with just one low-side driver. From there, an ATtiny2313 provides addressable control via the RS485 protocol. Screw terminals on either end of the PCB allow this to be chained along with other modules, and they’ve already worked out a basic PureData program that will be able to address multiple boards once they finish manufacturing them.

16 thoughts on “Designing A Controllable RGB LED Driver Board

  1. Better heat-sink needed. these will not be where you have good airflow so you need a 4X larger heat sink mass to dissipate the heat.

    Best would be a copper bolt soldered to the board that is bolted to an aluminum backplane that will have air movement.

  2. Hi, Paul here… the guy who build it.

    I ran it for many hours at color #FFFFFF, with the LED facing up and the heatsink against a table (poor air flow). It got very hot to the touch, but not enough to burn skin. I didn’t do any actual temperature measurements, but I can say the feel was similar to good number of other electronic parts that run hot. A bigger heatsink would still be nice, but this size (which was only a guess) seems to have worked out pretty well. Then again, if it were in a sealed box, some heat dissipating surface and coupling the board to it would be needed.

  3. I used to play with real high end LEDs in large clusters for a previous project of mine. The heat sinks were (and had to be) amazingly massive to handle the power draw. Comically massive. Some fans across the ‘sinks would have been a good idea but I think it wound up needing something close to a 12″ x 12″ x about 5″ tall aluminum heat sink to handle perhaps 20 of those LEDs. They *can* run hot as long as you have a digital voltage regulator (otherwise as soon as they heat up, the current draw goes nuts and they go poof) but you will see vastly diminished lifespans if they get too hot. How hot is too hot depends on the chemistry of the LEDs, in part.

    Cool hack though. Maybe put them in a module of other addressable LEDs and assemble a huge LED display?

  4. @Hackius

    Do you have a source for that info? All diodes have internal resistance not related to the wires connecting them, for example hockey puck diodes or big stud mount diodes. They have massive connections to the diode itself, the diode gets warm but the wires connecting the unit are still cool.

  5. Yes, of course, the purple boards came from the DorkbotPDX group order.

    http://www.dorkbotpdx.org/wiki/pcb_order

    Deep inside my blog entry, I made a link to it. It’s also been featured at least once here on Hack-A-Day. But maybe since you didn’t know about it, they should pimp it again (hint, hint, if anyone from Hack-a-day is reading this?)

    Laen’s group order is by far the best PCB deal, if your board size is smallish. It’s only $5 per square inch, and you get 3 boards, and that includes shipping within the USA. There’s no setup or extra fees of any kind!! International shipping is pretty reasonable, and explained on that page.

    The boards are 2 layers, with pretty good specs (eg, 6 mil spacing, 13 mil minimum drill, etc). They take about 2 weeks, which isn’t super fast, but for a little project like this, with a 2.25 by 1.4 inch board, I paid a total of $15.75 for 3 purple bare boards! The low cost (for small boards) really makes projects like this possible! If the boards had been $70+, or if they’d taken 2+ months (eg, batchpcb), I probably wouldn’t have bothered doing the project.

    I know hackaday doesn’t really do stories about sales of stuff, but at least as far as I’m concerned, Laen’s PCB group order is like hacking the whole PCB prototype industry! With SMT parts, there’s an amazing amount you can do in 1 t0 3 square inches, which is only $5 to $15, including shipping within the USA.

    I’m not affiliated with Laen’s group order, other than he’s a regular at the bi-weekly Dorkbot meetups here in Portland and we hang out and chat about electronics while drinking beers. Well, and he’s saved me a lot of money on bare PCBs!!

  6. Thanks! I caught that on the second pass through the blog entry. I’ve already bookmarked it for future use. I do sometimes have tiny boards that need prototypes. Still leaves me without a place to get production boards done in purple – I wonder who they use…

  7. most LED failures occur due to blown wire bonds, even intermittent ones where tapping the top or increasing the current restores light output briefly.

    Can see this effect in failed LED bulbs where the emitters go bad over time and usually its pretty obvious when they do because exactly 1/3 of the LED’s are off.

    I did see an article suggesting that this was partially because the cheap ones use an inferior bonding system which was intended for low current applications only.

  8. Brilliant control mechanism. I was trying to come up with a good way to control a ‘star’ RGB LED in a small (x,y) profile and couldn’t really come up with anything I thought was elegant.

    Experimented a bit with using hardware PWM for current control and slower software PWM for dimming, I should try that again. I’m not sure it will provide sufficient resolution *and* reasonable PWM frequencies.

    Very nice outside the box work.

Leave a Reply to ScottCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.