I am using a TIP120 Transistor with pwm from my Arduino to fade an led strip. The RGB led strip requires 12 volts and 1.6 amps of current. I bought a 12 V / 2.5 Amp power supply from Radio Shack and I'm using it to power my TIP120. Here's how I have the set up:

[0-5v] PWM from arduino - > base of tip120

emitter of tip120 - > ground

ground of led strip - > collector

hot of led strip - > +12 v power supply

I have connected the GND from Arduino with the GND from the power supply to keep a common reference for ground. Now here's my problem, the setup works fine in terms of function, but my led strip doesn't light up at all. When I switch it out for a small led with a resistor and change the power supply to 6V, the small led fades in and out as expected but when I switch back to my original setup, the led strip doesn't budge. So I hooked up my multimeter and checked the current, it read 12.8 on the 200mA range. I assume that's 12.8 milli amps, which is weird because it should also show up on the 20mA range on my multimeter but it maxes it out.

So anyway, I figured I wasn't getting enough current out to the led strip. But I know that the TIP120 can handle up to 5 amps. My power supply can supply 2.5 amps, so what am I doing wrong? How can I get the current up to 1.6 amps?

  • \$\begingroup\$ What is the base current? \$\endgroup\$ Aug 15, 2013 at 1:19
  • \$\begingroup\$ Also, press the schematic button above the textarea. \$\endgroup\$ Aug 15, 2013 at 1:25
  • \$\begingroup\$ What kind of LED strip? There are many types of strips, some of which have PWM drivers included. (WS2812, WS2811, TM1803, TM1804, TM1809, TM1812, UCS1903, UCS1909, UCS1912, UCS2903...) \$\endgroup\$
    – JYelton
    Aug 15, 2013 at 8:06
  • \$\begingroup\$ Trying to apply 5 V directly to the base of a BJT (as your description implies) is likely to either blow up the transistor or the thing that is trying to drive the base. \$\endgroup\$
    – The Photon
    Aug 15, 2013 at 15:44

2 Answers 2


Some things to watch out for here:

  1. The TIP120 isn't a particularly fast transistor, so make sure your PWM frequency starts out low, in the 100s of Hz range. Your LED string may also have some circuitry on it, doing its own processing.
  2. Try it out at DC, swapping out various parts and observing with your voltmeter.

    Test your LEDs (but with a current-limiting resistor). What if they are backwards?

    Test your transistor, driving the base from 5V with a 1K ohm (or so) resistor. When the LEDs turn on, note the voltages on the base and collector of the transistor.

    Finally, ensure your Arduino output can actually drive the base of the transistor. Read it with the voltmeter.


Did you check if the transistor is connected correct, if not it can be working as a common-collector, or voltage-follower, so giving less voltage (and so less current) to the led's.

You should check the hFE of the transistor, the datasheets specs a min of 1000 for 3V/3A, but it can be damaged.

Also you are connecting the base direct to the Arduino without a resistor? You need to maintain the base current of the TIP120 to max 120mA, better less than that.

And, just to be sure, did you test your power source the see if it can power the leds?


Your Answer

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

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