How to Build an H-bridge Circuit to Control 2 Motors


2-motor H-bridge



Many H-bridge chips can control 2 motors.

The popular L293/SN754410 both can control up to 2 motors.

Each of the 2 motors connected to the chip can operate completely independent of each other. Or they can be made to act in unison. Ifs we connect the logic pins of the motors together, then the motors will act in unison. If we connect the logic pins of the motors together, then the motors will act in unison. Thus, if one is going forward/left/up, the other motor will be doing the same action. This is similar to a car vehicle. When in drive, the 2 wheels both spin forward. When in reverse, both wheels spin backwards.

However, in this circuit, we will make it so that each of the motors are completely independent and aren't tied together. But it's simple to tie pins together to make the motors act in synchrony.

A L293/SN754410 chip can accomodate for the operation of 2 motors. If we use 2 chips, we can operate up to 4 motors. And tying in 2 chips together is actually very simple wiring.

For this circuit, though, we will start with one chip and operate 2 motors. And then move on to more advanced projects.

Components Needed

  • 2 L293/SN754410 H-bridge Chips
  • 2 DC Motors
  • 4 Pushbutton Switches
  • 2 Toggle Switches
  • 4 10KΩ resistors
  • Power Source


The L293/SN754410 H-bridge chip is 16-pin chip that can be used to drive and control inductive loads such as relays, solenoids, DC motors, and bipolar stepper motors.

In this circuit, we will be using it to control 2 DC motors.

The L293/SN754410 is a relatively inexpensive chip that can be obtained for a little over $1. One place that sells the L293 is Tayda Electronics- L293 Driver IC.

Before we build this circuit, you must understand the chip and all of its pin connections. You must always know pin connections when hooking up any chip.

Overall, the L293/SN754410 chips aren't very as complicated as they may seem. They both have identical pinouts.

The pinout of the L293/SN754410 is shown below.


L293 H bridge pinout


The L293/SN754410 is capable of controlling 2 motors.

It is a 4-channel H-bridge, meaning it can connect 4 terminal wires from motors. Since each motor has 2 terminals, it can control 2 motors (2x2=4).

Pin 1 is the enable pin for terminals 1 and 2. It enables motor to turn on when it is connected to a power. And disables the motor from functioning when connected to ground.

Pin 2 is the motor logic pin for terminal 1. This is the voltage level which one of the motor terminals receive. The logic level will determine what action the motor will take. This is one of the two logic levels that determines the function of the motor connected.

Pin 3 is the pin where we connect one of the terminals of the motor to.

Pin 4 and Pin 5 both get grounded.

Pin 6 is where we connect the other motor terminal to. This completes the 2-terminal connections necessary for a motor to be hooked up to the H-bridge IC.

Pin 7 is the motor logic pin for terminal 2. This is the second voltage signal we feed to the motor to determine the action the motor will take.

Pin 8 is the pin which receives the voltage needed to power on the motor. It is the motor power pin. This is the pin where we place the positive voltage of the power supply that will operate the DC motor. So if the motor is a 9V motor, then you will need to feed 9V into this pin. If the motor is a 12V motor, then you will need to feed 12V into this pin.

Pin 9 is the enable pin for terminals 3 and 4. It enables the motor to turn on when connected to power and disables the motor when connected to ground.

Pin 10 is the motor logic pin for terminal 3. This is one of the logic voltage signals that determines the action that the second motor will take.

Pin 11 is the pin where we connect one of the terminals of the second motor to.

Pin 12 and Pin 13 both get grounded.

Pin 14 is the pin where we connect the other terminal of the second motor to.

Pin 15 is the motor logic pin for terminal 4. It is the second voltage signal that we feed into the second motor to determine the action the motor will take.

Pin 16 is the pin which receives the voltage needed for power for the IC. It is the IC power pin. The IC needs just about 5V in order to operate. Therefore, we feed 5V into this pin.

These are all the pins of the motor. Once power is supplied to the IC and the motor and all the terminals of the motor are connected, then the pins which determine how the motor will operate are the logic levels that we feed into the motor.

The logic levels determine what action the motor will take.

A breakdown of logic levels and the resultant motor action are shown in the table below.

Enable Logic Pin 1 Logic Pin 2 Result
High Low High Forward
High High Low Reverse
High Low Low Stop
High High High Stop
Low Doesn't matter Doesn't matter Off


When the enable pin is high and the motor is fed a LOW voltage signal at the first terminal and a HIGH voltage signal at the second terminal, then it will spin forward. When the enable is high and the motor is fed a HIGH voltage signal at the first terminal and a LOW voltage signal at the second terminal, then it will spin in reverse. And with both logic levels at the same level (2 HIGHs or 2 LOWs), then the motor will stop spinning.

This is the case for each of the motors. The enables for both must be activated (connected to a HIGH voltage) and then the actions for each of the motors are determined by the logic levels fed into the motor terminals. Each of the motors are completely independent of the other, unless logic pins for the motors are tied together.

And this is how motor function will work.


H-bridge Circuit

The H bridge circuit we will build to control 2 motors is shown below.

2-motor H-bridge circuit

This above circuit built on a breadboard is shown below.

2-motor H-bridge circuit breadboard schematic

How this circuit works is based on the 4 switches that control the logic state and the 2 enable switches.

Each of the toggle switches control the enable pins of the motors. If they are off (connected to ground), then neither of the motors can be operated. Only if the toggle switches turned on (connected to power) can the motors operate.

So, first, turn the toggle switches to the ON position.

Now, there are 4 pushbuttons. From left to right, the first pushbutton is connected to terminal 1 on the H-bridge IC. The second pushbutton is connected to terminal 2. These pushbuttons control the logic levels fed into the first motor. Therefore, they control the action of the first motor. The last 2 pushbuttons, the 3rd and 4th are connected to terminals 3 and 4, respectively; they control the action that the second motor will take.

In this circuit, each motor is completely independent of the other and is controlled by their 2 pushbuttons , which control which logic levels are fed to the motor terminals.

The pushbuttons are connected to the H-bridge IC using pull-down resistors. Without pressing down on them, they are normally LOW (connected to ground). Thus, when both pushbuttons aren't pressed, they're both at LOW logic levels. The motors do not move.

Now if we press down on the first pushbutton of either motor, then the motor will spin in a forward direction. Once we release the pushbutton, then the motor will shut off.

Now if we press down on the second pushbutton of either motor, then the motor will spin in a reverse direction. If we release from the press, the motor will shut off.

Now if we press down on both pushbuttons simultaneously of either motor, then both will be at HIGH logic levels, and the motor will not spin.

And this is how an H-bridge circuit can allow for forward and reverse movement of a motor.

This circuit shows how an H-bridge would work if control by manual pressing is wanted.

To see the real-life circuit of it below, see the video below.







Related Resources

How to Build an H-bridge Circuit to Control 4 Motors

How to Build an H-bridge Circuit (with an L293 Chip)

How to Build an H-bridge Circuit with an Arduino Microcontroller

How to Build an H-bridge Circuit with Transistors

HTML Comment Box is loading comments...