So, I got an arduino uno and a RGB shield from velleman for christmas because I mentioned I might want to do a project with high power LEDs - a neat surprise, but now I have to use it (: The shield can do PWM on an external power supply and this can be wired through to the high power LEDs itself. I aim to power about 10W of LED light in total, with different colors in order to make good use of the board. Can I go for Option 1? If not, what would you advise?

Option 1

As high power LEDs need a constant current, I am inclined to connect a constant current supply as the external supply of the board (assuming all channels' LEDs need the same current).

Update: I talked to an electrician and a constant current supply typically works on a PWM basis; putting this in series with the PWM of the shield is not smart.

Option 2

Alternatively I could connect a standard constant voltage supply and make sure that the current is within limits:

  • One option would be to use resistors; but, with 12V DC and 350mA I would need like 33 Ohm resistance dissipating 4 Watts of power, which is inefficient.
  • Alternatively there are DC voltage to constant current LED drivers which will take care of the constant current for me; I could put those at the exits of the shield for the LEDs. They supposedly have a better conversion efficiency than the resistors, but I do have any knowledge about their performance with PWM as input; but I have serious doubts they would like that type of input. Furthermore, these drivers also often have PWM capabilities. This kind of module would render the shield functionality largely useless.
  • What kind of led(s) are you using?
    – Gerben
    Commented Jan 5, 2016 at 13:07
  • @Gerben I did not buy a specific LED yet, I was looking into the star platine LEDs, say, xcree or the ones I linked. I heard from LEDs with included current limiters but did not find any (and I do not know how they will react to PWM signals). I would prefer RGB LEDs as I want to mix colors. I am very open to suggestions (:
    – Faultier
    Commented Jan 5, 2016 at 13:10
  • Option 1 is a boost circuit. At least it says it is. So you can't use it for a single led. I'd go with the last option. If you want something cheaper, you could use this board though you have to solder to the PWM directly, as there isn't a pad/connector for it.
    – Gerben
    Commented Jan 5, 2016 at 13:30
  • Uhm, I think you'd better go with the solution velleman propose you, so use a common RGB strip. I think you can use a 5m 5050 rgb strip with 60 leds/m (they usually take 40mA/m/channel, so it is 6A in total). Put a 12V 10A supply and you have a lot of RGB leds. Avoid the 3825 led strips (what they call 3825 rgb led strip actually has R, G and B separated leds; you want the 5050 version, which have R,G and B in the same package)
    – frarugi87
    Commented Feb 6, 2017 at 16:01

1 Answer 1


Your thinking and reasoning is pretty much spot on.

The board you have is basically a trio of high current low side switches. So yes, you need something to limit the current, and as you have noted resistors are not going to be very efficient.

The best way to drive high power LEDs is, as you know, with constant current. However, you need a constant current source per LED channel, not one single one for the whole board. That means three individual constant current sources, each providing the right current for the LEDs you are driving on that channel.

It's possible to roll your own cheap constant current sources using LM317T linear voltage regulators (http://diyaudioprojects.com/Technical/Current-Regulator/). It's a cheap option, though pretty much as in-efficient as using resistors, just easier to deal with the heat sinking. Note that on the LM317T the tab is live, so you must use three separate heat sinks for each channel.

My personal preference though is to use PWM capable constant current sinks. My favourite is the CAT4101 which can deal with up to 1A per channel (more if you parallel them) and uses a single resistor to set the current. It has a PWM input that you can drive direct from an Arduino's PWM pin. Of course, as you note, that then makes your nice shield redundant.

  • Now that I have the board I feel kind of inclined to use it (: I understand you correctly, that I should not use the board with a constant current source (even per channel) as they will likely not be able to handle the fast PWM input voltages well? Given the effort of the LM317T, I am more prone to use resistors; I might put LEDs parallel, each line with its own resistor. Choosing a low supply voltage should further limit unwanted power dissipation.
    – Faultier
    Commented Jan 5, 2016 at 13:30
  • Resistors are by far the simplest solution, yes. Spreading the load as much as possible can only be a good thing :)
    – Majenko
    Commented Jan 5, 2016 at 13:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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