Let's Make Robots!

motor driver idea

Hey all,

I'm trying to create a bot that uses a lot of forward/backward motor action, and I'm hoping to make a low-power, small, lightwieght motor control using switch transistors. However, my electronics experience is -5. I came up with this idea that seems simple and effective, but I'm sure there's something I don't understand about the process. So with that in mind, here's my ultra-simple H-bridge.


The idea is that both "A" transistor bases are connected to one outpin, ditto for both "B" transistors. Obviously, I'll need some resistance along the way. But could something this simple really work?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Since you said that your knowledge of electronics is -5, I think the best to you it buy something already made. 

remeber you said  "low-power, small, lightwieght motor control using switch transistors" 

Or a Full Bridge like 298 or 293 (small motors).

look for some already made board at ebay.


So your answer to the question is "don't ask questions"? What's your follow up, "Google it?"

Might be a good idea to do a bit of a search, and see if anyone has got a working NPN over PNP or even NMOS over PMOS h-bridge out there. There are a number of schematics on the web, some working, some not, and even devices with a couple transistors manufactured together to make P over N devices, not the other way around. Generally PNPs are on the topside next to the supply they switch off of, and NPNs are near ground which they switch off of; just as P channels FETs are near positive and N-channel are near ground. Just sayin', may be fixing the switching problem in a wrong way.

Now by all means experiment if possible, and maybe there might be something new that hasn't been developed before. Might even be a pretty cool solution that does actually allow things to work better than has been thought of before.

The first setup i posted or the second one (same but with PNP at the bottom) should work fine if, instead of BJTs we used FETs right? With p-channels substituting the PNPs and n-channels substituting the NPNs. There would be no shorting since the gate of the MOSFET is isolated from the source and drain.

Below is a simple H bridge using bi-polar transistors. Two additional NPN transistors have been added for voltage traslation so that the motors can be driven by a higher voltage than the control logic voltage. Depending on transistors used and motor drive voltage, the resistor values may need adjustment but this should be fine for 6V-15V motors being driven by logic circuits running on 3V-6V. Click on image for a larger picture.


I'v recommend using a BD681 for the NPN and BD682 for the PNP. They can handle a maximum of 4A. These are darlington transistors which actually need about 1.3V from base to emmiter to turn on but have a higher gain (750 hfe) so that only about 5mA is required to flow from base to emitter for saturation to occur with a 4A load. The voltage translation transistors can be any signal transistor. The BC548 is a commonly available type that is quite cheap.

Most of what I've seen in terms of H-Bridges, one always have current flowing into the motor in an crossed kinda way.

What, for me, makes no sense at all is that A is connected to the left side and B to the right. It would make sense that a would be connect to Upper-Left and Lower-Right and B inversely.

Can some-one please help me understand how this design works?

If you are referring specifically to the H bridge Oddbot posted titled Bipolar H Bridge, then it works because of different types of transistors.  The upper two are NPN and the lower two are PNP.  An NPN turns on  when the base is high.  The PNP turns on when the base is low.  So only one transistor on each side is on at a time depending on whether the input is high or low  With a  high input on the left side, the upper left transistor will be on.  Wit a low on the right side, the bottom right transistor will be on.  Then current flows through the motor from left to right.  If you change both inputs (low on left, high on right) then the other two transistors turn on and current flows the other direction through the motor.  You can google bipolar transistor for a better understanding.


Haaaa, and there's my ignorance all layed out :)

I knew it should work, just didn't factor in the specifics of the middle letter of the PNP,NPN. And nothing made sense, since I was looking at all "opening the tap" when signal was high. And that indicated just left, or just right, which is wrong since NPN will open at HIGH and PNP will open at LOW.

Taking in consideration the middle letter, the base: N=Negative(Ground);P=Positive(Vcc)

MANY THANKS @bdk6, I would rattle my brain to get this one going for a long time.

I just realised even this won't work very well because even if you change the 2K2 resistors to 100 ohms you will still have trouble saturating the transistors for a 4A load. Plus you'll drop at least 1.3V across each collector-emitter junction. This is why FETs were invented. Replace the 2K2 resistors with 100 ohms and it will be good for maybe 2A continuous.
to avoid the smoke factor you could do something like this: make the top motors PNP and the bottom motors NPN, then connect the motors on the left to the same output A and the ones on the right to the output B. This way you can be sure that transistors on the same side won't be on at the same time. One problem about this setup is that, unless you disconnect the wires to your transistors, you won't be able to coast the motor.