I Set Up the Sabertooth 2 X 25A Motor Driver To Control 4 DC Motors With Arduino UNO. The Solution for Autonomous Robots.

Two weeks ago I received in my post box the Sabertooth 2 X 25A motor driver. I bought it because I have big plans for it in short and long terms. From the beginning, I’ll use it to drive indoor autonomous robots; then I will move on to build a high powered robot for all-terrain activities. I read about its performances, and I saw a lot of short YouTube movies with the motor driver used to control DC motors for high-powered robots such as RC lawn mowers, electric powered wheelchairs, electric vehicles, scooters, etc.. It can be used in almost any large robot under 130Kg (300lbs). So, I think it is perfect for my future projects.

With a lot of ideas in mind, I have some reasons to study the Sabertooth motor driver in details and see pretty much what it can offer at that price. Since I brought up the topic of price, the motor driver is priced at $124.99 on Amazon. Compared with other motor drivers that offer the same range of specifications, the 2 X 25A motor driver by Sabertooth is the best on the market for that price.

Anyway, in this post I’ve decided to show you how to set up the motor driver and control four DC motors with Arduino UNO. Many solutions found on the Internet were good for RC vehicles, but unacceptable for an autonomous robot. During this first phase I had some limitations in mind:

  • the Arduino sketch should contain functions for moving forward, backward, turning left, right and stop;
  • the Arduino sketch would be useful in future projects for autonomous robots. I don’t want a remote controlled robot;
  • the Arduino UNO board should be powered by the motor driver;

None of the tutorial/project found around meet these conditions, so I started a brand new tutorial.

Let’s start

A summary of hardware components I’ve used in this tutorial:

  • 1 X Arduino UNO ($21.91 on Amazon)
  • 1 X Sabertooth 2 x 25A motor driver ($124.99 on Amazon)
  • 4 X 6V DC motors attached to a mobile robot chassis (mobile robot kits between $42 and $138 on Amazon)
  • 1 X 7.4V Li-poly Battery (price between $27 and $89 on Amazon)

The Sabertooth’s motor driver is designed for large robots, and it cannot be better than that. First, I started to dig deep into the datasheet, specifications, schematics, and how to control it via my Arduino UNO.

The second step was to set the operating mode with the onboard DIP switches. The easier way to control the DC motors was to use the ‘Simplified Serial Mode’ mode (DIP switches 1, 3, 5 and 6 set to ON, the remainder set to OFF).

Here is how it should look like the Sabertooth’s DIP switches:

Sabertooth DIP switches set to the serial mode: DIP switches 1, 3, 5 and 6 set to ON, the remainder set to OFF

The third step was to build the control system by connecting the motor driver with the DC motors, Arduino UNO, and the power supply.

Sabertooth 0V to Arduino GND, Sabertooth 5V to Arduino Vin, Sabertooth S1 to Arduino TX pin

  • Sabertooth 0V to Arduino GND
  • Sabertooth 5V to Arduino Vin
  • Sabertooth S1 to Arduino TX pin

2 X DC Motors to M1A and M1B, 2 X DC motors to M2A and M2B, and the battery to B+ and B-

  • 2 X DC Motors to M1A and M1B
  • 2 X DC motors to M2A and M2B
  • the battery to B+ and B-

The fourth step was to write the Arduino sketch.



Related Posts

Don't Miss Out!

Get the latest news, tutorials, reviews and more direct to your inbox when you subscribe!