I am attempting to individual control multiple LED-based light sources via PWM. Now I am somewhat familiar with transistors and their usage, and had no issue setting up one instance of this control scheme. However when I added more transistors to the circuit, I ran into a problem. It seemed that only one PWM signal, would control all of the lights. I am new to schematics and schematic design so I could use some help figuring this out. The schematic, as I think I built it, is below.


simulate this circuit – Schematic created using CircuitLab

The wiring was done with this article as reference, specifically the "light" example.

The power source is 12V 6A, which is more than enough to drive the lights I am using, which are 12V LED boards. I won't be using an Arduino in the final implementation, but I am using it currently for testing, so assume that is where the PWM is coming from. Oh, and the transistors are TIP31 NPN units.

As I said previously, the issue is that when using the circuit, the lights will only respond to one PWM signal and they will both use that value seemingly. Otherwise it works just fine. My only thought is that it could be an issue with them sharing a common ground? But if so, what is the best way to isolate them?

  • \$\begingroup\$ I also forgot to show that the SOURCE of the PWM signal is also connected to common ground. For testing that would be the arduino. \$\endgroup\$
    – asaalger
    Commented May 15, 2014 at 14:46
  • \$\begingroup\$ Is there connection between the arduino ground and your \$12V\$ DC source? \$\endgroup\$
    – nidhin
    Commented May 15, 2014 at 14:55
  • 1
    \$\begingroup\$ You have nothing limiting the current in your LEDs- You need some series resistance. Also 330 ohms is a lot of pull-down resistance, a few Kohms would be fine. \$\endgroup\$
    – John D
    Commented May 15, 2014 at 14:59
  • \$\begingroup\$ So I have done so more testing. I have successfully gotten the arduino to give individual pwm values. To answer your comment @nidhin, both cases seem to work. Arduino ground connected, and not connected. But with slightly different light characteristics... And to answer your question John D, I am aware, the actual led units I will be using are 12V LED boards with built in resistors. I simplified for the purpose of the question. \$\endgroup\$
    – asaalger
    Commented May 15, 2014 at 15:02
  • \$\begingroup\$ And to be more clear, the product I need to actually use to give PWM in the end is this phidgets board. link. I seem I have been able to make the arduino work correctly, but not the phidgets board. It does not work without the ground connected to the common ground, and when receiving two PWM signals, both LEDS seem to use the highest value. The board is designed to allow individual PWM values, up to 64 of them. \$\endgroup\$
    – asaalger
    Commented May 15, 2014 at 15:06

1 Answer 1


The article you referenced uses MOSFET transistors, not a BJT like the TIP31. The big difference is that a MOSFET is a voltage-triggered (high impedance) device while a BJT is current-triggered (low-impedance) device. The result of this is that with an NPN transistor, you need a series resistor to limit the current flowing from the arduino IO pin through the transistor base. Without this, you are likely to damage the Auduino and/or the transistor. Try putting a 510 ohm resistor between each source and base and remove the pulldown resistors.


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.