I want to try out controlling LED strip brightness/colour (via Arduino that can't supply enough power) and I understand this can be done either with using Transistor as a Switch or as an Amplifier.

1) as a Switch, using PWM (Pulse-width modulation) to switch the transistor on/off many times per second to simulate the desired voltage. This is for some reason the preferred way according to my Googling results. However I am a bit afraid of flickering, some people are more sensitive to it than others, but I want really smooth fading. Is there some mechanism to stabilize the outputs of the switch to be less discrete? That brings me to the other option:

2) as an Amplifier, where small changes in the input voltage result in bigger absolute changes in the output voltage. My naive understanding is that this could be more "smooth" in terms of the voltage supplied to the LED and thus prevent any flickering.

What are the drawbacks of option 2? Why is the option 1 more common? The factors that come to my mind include price, complexity of setup, overheating and possible problems with non-linear characteristics of Amplifiers, but I am rather guessing here.


First of all, keep in mind that LEDs are basically current driven, not voltage driven. Most commercially available LED strips are voltage driven to the outside, because the simply add some dropper resistors. And here we touch the reason why the first option is often preferred:

Efficiency. Not taking power needed for the controls into account, if you run your LEDs with a PWM duty cycle of 50%, then they will also consume 50% power.

If you limit the current on the LEDs by adding a resistor (or a transistor that is filling in the role of a variable resistor here) then you can limit LEDs to 50% power, but you also waste a lot of power in that resistor.

Regarding the flicker, there are many people that claim many things about what they can see, but no one can see a couple of hundred Hz (google persistence of vision for more information). You might run into the issue of it being audible then though, so you might want to up it into some non audible range of quite some kHz.

As a further option you might want to add some buck regulator that is current driven; that way you lose only some power in the equalization resistors for parallel LED strips, but have a rather efficient reduction of power delivered to the LEDs.

  • \$\begingroup\$ FYI, at 100Hz I can detect flicker, particularly if I sweep my eyes across the light source. This is true of "fast-switching" light sources such as LEDs. I'd love it if everyone used higher frequencies for PWM. \$\endgroup\$
    – DoxyLover
    May 28 '15 at 17:32
  • \$\begingroup\$ @DoxyLover: Same for me, I have an annoying 160Hz dimmer in the living room which you can just see if its almost out of sight. But as said, a couple of hundred Hz should be fine for all but some x-men mutants... \$\endgroup\$
    – PlasmaHH
    May 28 '15 at 21:21
  • \$\begingroup\$ Yes, high frequencies should be "invisible enough", but won't that be a problem for the transistor? Are they generally fast enough to handle hundreds Hz or should I pay attention to some parameters affecting maximal frequencies? \$\endgroup\$
    – jediz
    Jun 1 '15 at 9:21
  • \$\begingroup\$ @jediz: It all depends on the transistor you use, with good enough rise time it can handle MHz (which is done in those really tiny DC/DC converters) \$\endgroup\$
    – PlasmaHH
    Jun 1 '15 at 9:22

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.