In a few months, I am planning to construct an Arduino robot with multiple sensors etc. I will use an arduino mega and a 4wd chassis like the one here: Chassis. The chassis uses 4 DC motors. I was planning to use a motor shield, but I realized that it only fits an Arduino Uno(not Mega) and it controls only 2 DC motors. What can I do to make all 4 DC motors move forward and backward? If I use a motor driver board that controls 2 motors, can I connect the 2 right and 2 left motors in parallel together and the control it through the Arduino?

  • 4
    Use motor drivers that aren't on a shield.
    – Majenko
    Jun 13, 2016 at 17:02
  • @Majenko would I have to use 2 drivers then?
    – shurup
    Jun 13, 2016 at 17:06
  • 1
    Each motor needs a driver. If a driver board can drive two motors then you need 2 driver boards for 4 motors. If a driver board can only drive 1 motor then you need 4 driver boards for 4 motors. Find a driver board that is powerful enough for your motors and then do the (very simple) maths.
    – Majenko
    Jun 13, 2016 at 17:07
  • 1
    If it can help, I have some code I'm using exactly for that purpose: github.com/igor-stoppa/ChibiOS/tree/car I haven't had much time lately to spend on it, but it does the basic. I'm using 2 of these: ebay.com/itm/… Jun 13, 2016 at 18:31
  • 1
    In theory, it's true that the 2 wheels on each side could be controlled by the same driver (assuming it can output enough power), however I'm not sure how this would play out when motors are either not sufficiently similar or subject to different load (say one has to overcome a small bump). So I preferred to play it safe and have each wheel controlled independently. Jun 13, 2016 at 18:34

2 Answers 2


Yes, you can do this using 2 L293D motor drivers, each motor driver can run 2 motors and it is very easy to use. enter image description here

You should connect Vcc 1(used to power on the chip) to 5V and Vcc 2 to a power supply that is needed to run your motors, Enable 1,2 and Enable 3,4 are used to enable the 2 sides of the chip and should be connected to 5V. Outputs 1-4 are the outputs to 2 motors and Inputs 1-4 are the inputs from the micro-controller.

  • But, what if I want to use a separate power supply, such as a 9V battery? How am I supposed to connect it to the L293D motor driver? I think, I should connect the positive side of the 9V battery to the VCC 2 pin of the L293D motor driver. But, where should I connect the negative side of the 9V battery? Jan 27, 2019 at 12:55
  • You should connect the negative side to the 4 ground pins.
    – roaibrain
    Jan 27, 2019 at 16:01

Yes, you can actually do this, but you have to consider the current of the motors and the motor driver. For example, if you have 12V, 2 Amps motors, then you need a 2-channel motor driver that is able to output a little higher that 4 Amps (2*2 Amps) for each channel at 12V. You will need to connect each two motors on the same side in parallel to one channel.

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.