I am trying to use an Arduino Uno to separately control a 12V .5A solenoid, a 12V 1.5A solenoid, and a 12V 3A pump. I am currently using a TIP120 NPN transistor for each one controlled by the 5V output of the Arduino, but the pump transistor is getting hot after only about 30 seconds of runtime.

To reduce the heat, should I put two transistors in parallel and have a limiting resistor after to limit the current flow? As of now the pump is not pumping hard enough and I would like to get more current (?) to make it run harder. I know it can run harder if it gets the required energy. My power supply says that I am only drawing 2.6 A total for all three, (2 solenoids and a pump/motor) which are hooked up in parallel to the 12V supply and it seems to just max out at that, although at 12V, it says on the power supply it can supply 6A.

The solenoid transistors seem to be fine, the only issue I am having is with the pump transistor getting hot and not delivering enough current to make the pump go hard enough.


  • Does the current or the voltage drive the motor? Or both?
  • Would only having 1.5A flow through each transistor to get 3A to the motor be too much current?
  • Do I need to put a resistor in line with the Arduino signal voltage? (Beta (DC voltage gain) for TIP120 is 1000 on datasheet)
  • Should I get a bigger transistor? A MOSFET? Which one?
  • Should I get a relay instead? Which one?
  • \$\begingroup\$ You can parallel transistors, yes, though you might need some load sharing resistors. You should be okay using the transistors you have... what kind of heatsink do you have on them? \$\endgroup\$
    – Hearth
    May 2, 2017 at 20:40
  • \$\begingroup\$ Also, please provide a schematic, so we can see what you're doing. It's fairly straightforward, but a schematic is less ambiguous. \$\endgroup\$
    – Hearth
    May 2, 2017 at 20:41
  • \$\begingroup\$ The TIP120 is not an NPN. It is a Darlington. It won't saturate and it will drop significant voltage. Of course it gets hot. It also won't provide a fuller voltage for your pump. You should make different arrangements for a semiconductor switch, in my opinion. \$\endgroup\$
    – jonk
    May 2, 2017 at 20:44
  • \$\begingroup\$ @jonk you do have a point, but the TIP120 is an NPN darlington transistor. Darlingtons have polarity as well. \$\endgroup\$
    – Hearth
    May 2, 2017 at 21:07
  • \$\begingroup\$ @Felthry at the moment, I have no heat sink, but I was trying to do this without one. Although I suppose I could make and add one to the transistor \$\endgroup\$
    – Maustyk527
    May 2, 2017 at 21:09

3 Answers 3


The reason your transistor is heating too much is because it's a darlington and has a volt or more drop at 3A. The TO-220 package is good for 1 to 1.5 watt without a heatsink; you have at least double that.

Since the supply voltage is only 12V, I suggest using a MOSFET. For example, the IRLZ34 is rated 60V, with 50 milliohm Rds at 5V gate-to-source. A 100 ohm resistor in series with the gate should calm the the switching and 10k from gate to source makes sure it's off when not powered. A 3A-rated diode around the motor (cathode to positive) is good insurance that any inductive spike on turn-off is not absorbed by the MOSFET.

The other questions:

On a DC motor, voltage determines the motor speed, the motor draws as much current as is needed to run its load at that speed. Voltage drop across the transistor (and wiring) will reduce motor speed.

It would be a good idea to have resistors in series with the outputs to limit the base current. You probably only need 10mA or less, so like 390 ohms.

I wouldn't use a relay, since you don't need isolation. A MOSFET is probably less expensive than a relay, and the relay might need its own drive circuit if your output is inadequate.


pump possible dual transistor layout

Here is the layout for the pump if I do use two transistors.


overview of circuit

Here is overall setup. The only part that really matters is the right hand side. I just have it shown here as a single transistor, but I could use two transistors or use a relay, or really just whatever you all think would work well.


  • \$\begingroup\$ So do you have a completely separate 5 V power supply that you use to power the Arduino? (I thought these were supplied with a 7-12 V wall wart.) Are the IO pins outputting up to 5 V or are they set for 3.3 V? (I don't know since I don't use these devices.) \$\endgroup\$
    – jonk
    May 3, 2017 at 0:38
  • \$\begingroup\$ @jonk I have a USB power box for the arduino that supplies 5v \$\endgroup\$
    – Maustyk527
    May 3, 2017 at 0:45
  • \$\begingroup\$ Do you have access to the 5 V for added circuitry? Or just the 12 V? Also, is there a reason why you are focused on BJT so far? Can you consider a MOSFET as easily as a BJT? Do you have any preferences here? \$\endgroup\$
    – jonk
    May 3, 2017 at 1:32
  • \$\begingroup\$ @jonk I just got the BJT because it was recommended somewhere for "low power systems" so I figured 12V 3A was low power enough but I must be wrong lol I'm willing to use whatever I need to get it to work, I just have to get it to work by Thursday \$\endgroup\$
    – Maustyk527
    May 3, 2017 at 1:55
  • \$\begingroup\$ @jonk also, I only have the 12V to really work with, the 5v is a USB power brick for a phone charger \$\endgroup\$
    – Maustyk527
    May 3, 2017 at 2:04

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.