Go Down

Topic: Power LED shield (Read 23392 times) previous topic - next topic


Nov 17, 2009, 12:00 am Last Edit: Nov 17, 2009, 01:03 am by koyaanisqatsi Reason: 1
I'm giddy to announce that I'm about ready to send my first ever PC board design out to BatchPCB!  I've always wanted to make an Arduino shield and after reading all the posts on how to drive LEDs or make an aquarium light system, the idea finally came to me to build a power LED driver shield.   :D

The power LED shield will be of specific interest for: aquarium owners, indoor growers, entertainment lighting, high-efficiency indoor lighting, bike headlights, nocturnal robotics :-? and the usual hobbyist and enthusiast crowds.

While I may sound like I'm already almost done with it, I'd really like to hear if anyone has ideas, feedback or suggestions on features that I might be able to add before having the PC board fabbed.

Once I do some more verification on the schematic and board design, I'll post pics.

Here's a rundown of the current features:
o Duemilanove (and Mega?) compatible
o Up to 4 driver channels, individually addressable via 4 Arduino PWM pins (3, 9, 10 and 11 on the 2009), any combination of colors.
o Buck (input voltage higher than LEDs), Boost (input voltage lower than LEDs) or a combination of driver types
o Max output manually adjustable from 50mA to 1A per channel, constant current
o Full opto-isolation to protect our precious Arduinos
o Optional 5V regulator to power the Arduino from the shield
o Easily drive 115 watts of LEDs from one shield (8 LEDs x 3.6 watts x 4 channels)
o Stackable for EVEN MORE output per channel.   :o
o Input voltage range 5-32 VDC

So far, future improvements and ideas already include:
o Set max output current and perform analog dimming in software with a DAC circuit on each channel.
o Library that allows changing the PWM frequency easily (not necessary if I can do the DAC idea above)
o Serial option to allow zillions of channels without eating up pins.
o Mega-specific shield with more channels on more PWM pins. (I don't have a Mega yet)

Lemme know what you think!

Cheers all!

EDIT: Misstated the output wattage at 156 watts.  wooops!


Nov 17, 2009, 12:30 am Last Edit: Nov 17, 2009, 12:30 am by retrolefty Reason: 1
Lemme know what you think!

Sounds interesting, looking forward to seeing your schematic drawing of the design. Only advice is to keep an open mind and keep it general purpose as it might be useful for driving things in addition to LEDs.

The whole Mega Vs standard Arduino is kind of a challenge as many pin functions change to other pin numbers and of course the footprint are different.

I like the idea of opto-isolation and requiring external power so that one can't by accident try and power the shield/loads from the internal Arduino power. However if you expand on funtions and features requiring more pins you might find that you get short of space for complete opto isolation.



keep it general purpose

That's a good point.  For the first version(s) the LED drivers are modules made by another company (LEDDynamics' BuckPucks and BoostPucks).  But I may consider revising the board with drivers of my own design, and I'll keep that in mind.  In any case they are/will be constant current drivers and I'm not sure what other uses that type of power has.


Here's a decent version of the board and schematic.  I haven't ordered the parts and checked fit yet.  But other than that, I'm calling this ready to submit.

Full sized images at:

Shoot.  I just had another idea for a change I want: a DIP switch to enable/disable channels (to free up unused pins).


Nov 21, 2009, 07:13 pm Last Edit: Nov 21, 2009, 07:15 pm by retrolefty Reason: 1
I just had another idea for a change I want: a DIP switch to enable/disable channels (to free up unused pins).

Or even just simple 2 pin jumper clips to perform the same fuction. Lot cheaper then those DIP switchs. So is the processor chip on the shield and drive the outputs? If so how will the main Arduino board communicate commands to the shield, serial link?



The 4 large components, labeled 3021 are constant current LED driver modules (these: http://www.leddynamics.com/LuxDrive/buckpuck.php and/or these: http://www.leddynamics.com/LuxDrive/boostpuck.php).  Each one has power in pins, LED out pins, and a control and reference pin.  The Arduino addresses the Ctrl and Ref pins via the opto-couplers with a PWM signal from pins 3, 9, 10 and 11 (one for each 'channel').  There's also a 5k pot near each module that sets the max current through the LEDs.

The user only has to set the max current with the pots (only if the LEDs are rated lower than the driver modules.  docs will cover this) and control the PWM or digital value on each of the pins to control brightness and on/off.

If the 5V regulator is used to power the Arduino, you have to close J1 and J2 and you lose the total opto-isolation by combining the grounds.  But opto-isolation still works for the control pins, which is the critical piece for not frying the Arduino.

I think I will update it with jumpers (or some means) to assign PWM pins to channels in whatever combination suits the user.


I've been looking into this type of project and so i'm very interested in how you get on. I assume you plan on selling these once you're done?

Count me in, can you give me any more details on price and dates?



Hi Paul,

It would be cool to sell them once I can get the money to order a large batch of boards and parts.  I don't have any real dates for anything as I'm learning as I go along.  But I received an order of parts this week and I'm going to settle on the first version PCB design, hopefully by the end of the weekend.  I keep making "minor" PCB layout changes that cause me to reroute the entire board.   :P

I updated some things too:  I added a buffer IC to reduce the load on the Arduino pins so that many shields can be stacked for 8, 12 or more channels.  I also added jumpers to allow assignment of Arduino PWM pins to driver channels.  So one could run them all on different pins, all on one pin or any combination.  This also allows multiple shields to each have a pin or whatever you want to do.

I haven't tallied up any costs yet to be certain.  But the boards will run me about $20-25 each for the first few, and the LED driver modules are about $15 each IIRC.  The rest of the parts are all a few cents to a dollar or two.



Really nice project.
Will the Mega version fit both the original mega, and the Seeeduino Mega?
I have a seeeduino Mega, so just ask if there is anything you want to know about it.


Thanks!  :)

By the pictures on Seeed Studios' site, it looks like it would fit.  But I don't have either of the Arduino/Seeeduino Mega boards to test on.  It is my understanding that shields built for the Duemilanove are _physically_ compatible with the Arduino Mega.  But the pin assignments may be different.  So as long as Seeed maintained that compatibility you should be alright.

I would need someone more familiar with the Mega boards to verify my statements above.


Dec 06, 2009, 01:12 am Last Edit: Dec 06, 2009, 01:13 am by retrolefty Reason: 1
Shields designed to fit a standard Duemilanove or clones will fit both the Arduino and Seeeduino Mega boards physically. However as stated some basic pin functions like I2C pins, if used, won't function on the either Mega as their I2C pins have moved to non-standard Arduno connectors.

Also in the future if there are shields made that utilize the extra connectors on the Arduino Mega, they won't fit on the Seeeduino Mega as while both have extra pin connectors they are not located the same.



Dec 08, 2009, 10:15 am Last Edit: Dec 08, 2009, 10:16 am by koyaanisqatsi Reason: 1
Cool, thanks for clarifying that.  :)

Latest board and schematics above.


Been waiting for something like this (im a reef geek)

Just a couple of things

The pucks are only good for 6 high power leds, even luxdrive had to admit to this.

Be careful of the heat from the pucks, there has been quite a lot of failures especially at 1a so staking them may cause some problems.

Apart from that can you make one for driving the big 60w meanwell led drivers  ;)


Cool, I was hoping someone from the reef crowd would chime in too.  

Thanks for the warning on heat.  I'll have to keep an eye on that.  I haven't had any issues with my 700mA bucks, but I haven't tried any of the other ones.  

I did notice in the spec sheets, the boost drivers have a max 1A input current, which means if you're driving a big serial string of LEDs, your input voltage must be much higher than the rated minimum.  They can drive up to 48V @ 350mA, so at max output you must have _at least_ 17V on the input. I expect a lot of people try to run them at 12V input and are seeing them overheat.  If heat problems are showing up on the 1A buck drivers, then it sounds like 1A may be the realm of danger across the board.  It wouldn't surprise me if the devices did not hold up to spec.  My 700mA bucks only give out 640mA regardless of load, input voltage or adjustment.

The design of the Power LED Shield is based on the LuxDrive *Puck units (because so far they're the only pre-made driver I can find that does both analog and PWM dimming), but I'm looking at ways to make it less specific to one brand.  Post a link to the units you're talking about and I'll see if it's a minor change to make it compatible.

If anyone has links to other drivers they like, please post and I'll check it out.  If I can make the shield more friendly to a wider range of options, I will for sure.

BTW: the images above don't reflect the latest designs, in spite of me updating them.  See this link for the latest designs:

Go Up