Controlling Multiple Motors of Varying Type


I am hoping to compete in my local robotics competition. While I have worked with arduino before, I am primarily a coder and have limited experience with hardware/circuitry. I am currently using this robot as inspiration. As you can see, there are a lot of moving parts. For my project I am hoping to increase the functionality and use this chassis, or a similar one with 4 separate 9V DC motors. I also hope to control another DC motor for the sorting mechanism and for the 3 servos for a "claw". Additionally I would ideally like to control a stepper for a lifting mechanism.

My concern is how I would go about controlling all of these motors simultaneously. I have both an arduino uno and mega, but most motor drivers I have seen are only capable of controlling a maximum of 4 motors simultaneously and they're usually of the same kind. I also don't know how I would go about powering all of these motors.

Is this project feasible on a single arduino controller? Any suggestions on potential motor drivers or where I can find more information on controlling several motors at once would be appreciated.

The Adafruit motor shield can be stacked to control up to 32 small motors. Add a Monster Moto shield to control two big motors and you should have most of your needs covered.

Usually the power wiring gets complex for shields, so larger projects like yours don’t use shields. Dedicated motor driver boards can be placed closer to each motor.

And servos will not be a problem, they don't need any drivers, just one digital pin each to control them.


You can control that stepper motor with a DRV8825 or an A4988 stepper motor driver module. The Pololu web site as lots of info about them, and they are widely available.

These links may help.

Stepper Motor Basics
Simple Stepper Code

also look up the AccelStepper library