I want to create a circuit that will allow me to conveniently control a 3V electric motor - specifically I want to be able to control how fast it rotates and in which direction.

From usability perspective I thought that a knob would be nice. I have very little idea about electronics but a potentiometer came to my mind as a convenient element that already has a knob that I could use as the control knob. I then did some reading/listening about transistors - and it seems I can use them (n-p-n, specifically) to complete my circuit.

I am asking you to advise me whether this is a reasonable approach. I still need to define specific values of the resistors/potentiometer but before I do that I would like to make sure I am not doing something inherently silly.

The circuit:


simulate this circuit – Schematic created using CircuitLab

** Edit **

@Kyle, thank you but that example does not work for me - it uses 2 input components: a switch and a potentiometer if I understand correctly, and I would like to use just a single knob. However, I am now learning about MOSFEDs, since they look like something I might want to prefer here.


1 Answer 1


@fghfgjfgjfdjfdjdjfgdfff, that circuit is not practical, as it does not turn off the the opposite pair of transistors when reversing the motor. A simulation shows the bridge drawing 286 mA from the supply while driving the motor with about 5 mA.

DC motor bridge simulation

It is possible to make a linear reversing H-bridge motor driver with discrete NPN and PNP transistors. This design will supply about +/- 2 volts into a 50 ohm load (38-45 mA) from a 5V supply and a control signal of 600 mV to 1.2 V.

Better DC motor bridge simulation

It bothered me that the circuit above did not provide anywhere near rail-to-rail output, so I added four more transistors and a few tweaks, to get what I think is a fairly useful and efficient circuit:

Even better circuit

  • \$\begingroup\$ The first simulation contains another (worse) circuit because the low side base current paths do not crossover. \$\endgroup\$
    – Jens
    Jul 9, 2022 at 23:56

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.