I have this basic circuit of how to drive a motor using a 2N2222 transistor and it all makes sense to me.

enter image description here

I found a bunch of cheap ULN2803APG darlington drivers. I am a bit confused on how to wire 4 motors to this. I think the common part is confusing me. If I try to follow the logic as on the circuit above it seems I might fry my MCU I/O by doing this?

enter image description here enter image description here

The DC Motors need to run of 6Volts and draw a MAX of 200mA each at full load. I don't need speed control or anything like that really.I want to use this because its cheaper than getting L239 H-Bridge driver.(My counting is that I can get 25 of these vs 1~2 L239 for same price)

In my head I have it that I wire:

  • MCU I/O pins to the I1-I4 Ranges (The "Base")
  • Common "Emmiter" to Ground
  • O1-O4 "Collector" to Motor -
  • Motor + to my Motor supply voltage
  • Motor supply voltage - to common ground?

Is this correct? I tried to follow it analogically as possible but I have a bad feeling about this?

Left - My original thoughts

Right - As per comments m.Alin

enter image description here

  • 2
    \$\begingroup\$ Just connect COMMON to MOTOR+/+9V BAT... The driver includes the flyback diodes needded to protect the transistors. \$\endgroup\$
    – m.Alin
    Commented Aug 22, 2013 at 11:57
  • \$\begingroup\$ Your R1 is in the wrong place: it should be connected between the GPIO pin and the base, not in the ground lines. \$\endgroup\$
    – pjc50
    Commented Aug 22, 2013 at 13:10

1 Answer 1


I'd use up all the gates by doubling them up. The COM pin is connected to the + supply and not ground.

enter image description here

  • 2
    \$\begingroup\$ @ppumkin the motors will only draw the same total power as before but doubling up means that the power dissipated by each gate will be halved and so it will run cooler. Doubling up the gates doesn't increase the amount of power to the motor. \$\endgroup\$ Commented Aug 22, 2013 at 12:19
  • 1
    \$\begingroup\$ You might want to mention that the input current requirements will increase when doubling-up, although there appears to be plenty of current available from Arduino outputs (as long as the high-level output voltage is >=2.5V specified by the ULN2803APG). \$\endgroup\$
    – Tut
    Commented Aug 22, 2013 at 12:43
  • 1
    \$\begingroup\$ @ppumkin I totally agree with Passerby (+1) - you must stay within the total current/power limits of the chip and not see doubling up as a means of getting more current. Running the 4 motors from one chip is pushing the limit anyway (it will get warm!). If you do need more current use a second chip and use 4 gates per motor. \$\endgroup\$ Commented Aug 22, 2013 at 18:32
  • 1
    \$\begingroup\$ @JImDearden I don't think doubling the outputs will make anything "run cooler" for the reason you give. The same amount of power is dissipated on a tiny silicon die either way and all of the gates are close to the same temperature, since the thermal resistance across the die will be less than the thermal resistance through the IC package. \$\endgroup\$
    – Joe Hass
    Commented Aug 22, 2013 at 20:11
  • 2
    \$\begingroup\$ @ppumkin Re - COMMON. The motor is an inductive load and so needs a snubber diode connected across it to prevent back emf (spiky negative voltage) from destroying the transistor. Far from 'not serving a purpose' it serves a vital purpose (protecting the transistors) and saves on you having to add a separate diode across the motor. \$\endgroup\$ Commented Aug 23, 2013 at 10:08

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.