Tag Archives: L293D

Build your own motor driver!

What is L293D? 

So what’s L293D, and what does motor driver do?

The L293D is a H bridge 16-pin chip that takes an external power supply and drive up to two 5V DC motors (suitable for most of the homemade robots). And with the motor driver each motor can be controlled by 2 input signals to run clockwise and/or counter clockwise.


Components Required:

  1.  L293D (16 pin chip – H bridge motor driver)
  2. 10uF, 0.1uF capacitors
  3. Screw terminals
  4. Strip board

Here is the schematic:


For simplicity, I connected Vcc1 (motor power supply), Vcc2 (chip power supply), Enable 1 and Enable 2 all to 5V DC.

Vcc1 should be connected to whatever the motor requires upto 36V, but in this project or in the near future, i will be just using 3V motors anyway, so that would be good enough.

To enable PWM (for controlling speed), we will need to have individual input for ENABLE 1 and ENABLE 2. But I won’t be controlling speed, so just connect them to the power supply.

The capacitors are optional, the circuit works without them. But to protect the chip, it is considered good practice to connect them to the power supply.

Testing on Breadboard

I then build it on a vero-board and test the result:


After confirming it’s  working! We should plan the PCB circuit and tried to solder it on the stripboard. It was very difficult because the board is so small and there are so many components i need to fit in. Also I haven’t been doing any soldering since second year in Uni… ah… what a pain.

This is what I got:


input1/input3 input2/input4 action

Testing Motor Driver on Arduino

Now, let’s test it with some motors and wheels, see Video at the top. (notice I use the 5V supply from Arduino, this is actually not a good practice as it could harm your Arduino board. it’s better to use external power supply. But as my AA batteries are still on delivery, i will just use it for testing today.)