Im trying to drive a motor with this kind of circuit since my micro is an old 8051. The voltage I use is 5V and PowerV is also 5V. I also have a 56 ohm 1/2 watt resistor in series with my motor because I didn't want to blow anything up.

Sadly, the motor does not start regardless of pin state.

When I measured the current (where load is supposed to connect) with the voltmeter, I get about 41mA and 0mA since my 8051 pin toggles between on and off at a slow rate.

I then replaced the PNP with the 2N2907 and measured current again and I got 43mA.

I think those numbers are so low with motors.

I also shorted the resistor between PNP collector and NPN base since I was using a load resistor.

I think someone suggested replacing the final NPN with a FET of some sorts, but If that's the ultimate solution then I need one with the same kind of pinout so I don't have to redo my entire circuit.

If I can get away with using a lower load resistor then I will just go for that.

So It makes me curious. Why in the attached design is there no indication of a load resistor? and why is there no indication that I need a 1/2+ watt resistor anywhere?

The original reference to this schematic is found at: 8051 - Can an NPN transistor be driven?


  • \$\begingroup\$ What voltage and current does your motor require. Does it work when connected directly to 5 volts? Why do you think you need a 1/2 watt resistor anywhere? \$\endgroup\$ – Peter Bennett Aug 7 at 4:16
  • \$\begingroup\$ Isn't 56 ohms too much? What is the motor impedance? \$\endgroup\$ – jDAQ Aug 7 at 4:20
  • \$\begingroup\$ "I also shorted the resistor between PNP collector and NPN base since I was using a load resistor." - don't do that. The resistor is necessary to limit current flowing between the transistors. \$\endgroup\$ – Bruce Abbott Aug 7 at 5:32

Why does this driver not have a load resistor?

Because it is not needed.

When a motor starts, for a short time there will be a starting current / inrush current / stall current.
When a motor is blocked or stalled, it will draw this stall current contineously.
If Q2 can handle this current, you don't need an additional load resistor.
If Q2 cannot handle this current, still do not use an additional load resistor because power is wasted in this resistor. Use a bigger transistor.

The TIP41 can handle up to 5A contineously, which is probably way more a small motor will draw.
So, leave out this 56Ω resistor.

To find out what stall current there will be and verify Q2 can handle it:
The motor's datasheet sometimes specifies this stall current at rated voltage or the motor winding resistance / terminal resistance. You can also measure the motor winding resistance with a multimeter. The stall current will be the applied motor voltage divided by this winding resistance.


Regarding the circuit.
In general,if you just copy a paste a circuit and tweak some values, you cannot expect it to work properly.
So, just applying 5V and a circuit designed for 3.3V may damage it in 70% of the cases. However, for this circuit, you can safely replace 3.3V by 5V. The 8051 has to sink 2mA instead of 1mA, but (I think) it is perfectly capable of that.
The circuit is working fine.
Don't short R3 as also indicated in one of the comments, it will damage both Q1 and Q2.

  • \$\begingroup\$ I did verify the individual parts themselves can handle 5V especially the 8051. So I guess I don't need any half-watt resistors after all then? Maybe I'll need something better than a tip41. \$\endgroup\$ – Mike Aug 7 at 16:19
  • \$\begingroup\$ Do you have a datasheet of the motor? Or do you know what ratings it has? I rather think you need a better motor than replacing the tip41. \$\endgroup\$ – Huisman Aug 7 at 17:33
  • \$\begingroup\$ Do measure \$V_{BE}\$ of Q2 (=the voltage across R4) while the output of the 8051 is contineously low. The measured voltage should be about 0.7V. Also, measure \$V_{BE}\$ of Q2, this should be about 0.1V. Please share your findings. (If you can't program/change the 8051, detach R2 from the 8051 and connect that terminal of the resistor directly to ground.) \$\endgroup\$ – Huisman Aug 7 at 17:37
  • \$\begingroup\$ Shorting the load resistor did the trick \$\endgroup\$ – Mike Aug 8 at 2:13

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.