Asked — Edited

Sabertooth Motor Driver On Ez Robot Controller; Using Wheelchair Motors

Hello all, I’ve been following some threads on people who are using the Sabertooth motor driver with the EZ- robot controller. Haven’t seen a solution that helps.

I’ve accomplished this in a small scale using a L298 motor controller. I’ve also had success controlling the Sabertooth with wheelchair motors flawlessly with an r/c controller. Of course, the r/c and Sabertooth uses a certain dip switch. I’ve finally got help from Dimensions Engineering. The dip switch for using the Sabertooth with EZ-robot (in serial) is all OFF and 5 & 6 ON.

I’m using wheel chair motors and the problem is when I give commands with Sabertooth serial it’s never the same output. For example, when I go forward it goes another direction, and/or one motor is slow. Afterwards, when I press the same command sometimes it goes crazy in another direction and/ or. different speed. All- in-all, one out of four times when I press the same command it does something different.

What can I do to alleviate this problem?

What I’m looking for is consistency! Thanks in advance. Victor


Upgrade to ARC Pro

ARC Pro is your passport to a world of endless possibilities in robot programming, waiting for you to explore.


Doesn't sound like the correct baud rate is configured.

Every control has a ? (question mark) next to the X (close) button. This is also notified to you in software every time ARC is loaded. It's good to remember that you can obtain help for any control on the desktop by pressing the question mark.

Next step, is to understand how the ez-b v4 and sabertooth communicate. This is done over a serial connection. Serial may seem simple enough in wiring, but there's a very important attribute that was overlooked in the question. The BAUD SPEED of the serial connection is the absolute most important property.

If the speed is not understood between the sabertooth and ez-b controller, it won't work. And that's what you are experiencing.

I've written a lot, but this is all covered in the sabertooth manual. Here's a direct link:

Ensure both the EZ-B and Sabertooth are using the same baud rate.

Based on your wiring and interference, you may need to choose lower baud rates.


What model of sabertooth do you have? Dip switches for 34800 baud should be 1,3,6 up rest down... If you are using the 2x12 or 2x25 sabertooth I recommend setting it for 9600 baud which is 1,3,5,6 up...

However, If you have the R/C version of the sabertooth you can't use the sabertooth control. You need the mirco controller version... You probably can still use the R/C version but you will have to use the custom Movement Panel instead and create your own. The R/C version should respond the servo commands so for example... in the custom Movement Panel for forward movement you would do something like this

servo(D0,150) #motor one forward
servo(D1,30) #motor two forward


Hello again,

I have the ez robot controller (port 0) with signal to signal input to sabertooth and pwr and gnd from ez-robot to the corresponding ports on the sabertooth.

Currently, the baud rate is set for 9600 with the Sabertooth 2 x 32 with dip switches 5 & 6 on; the rest off.

@Richard Despite that I'm using a Sabertooth 2 x 32. I'll try the your recommend setting it for 9600 baud which is 1,3,5,6 up; the rest down. I will also try the Dip switches for 34800 baud should be 1,3,6 up rest down.

Please, let me know if you have a dip switch recommendation for the 2 x 32.

I've also tried the r/c version with ez- robot. (At the time, I've tried I adjusted to the dip switch settings for an r/c.)

I'll give an update if this works. Thanks again! Victor


The 2 x 32 sabertooth should be the same so try those dip switch combos I recommended...


Hello @richard

I've tried the configurations to the dip switches and the baud rates. I've logged some of the combinations I've done so far. 1,3,5,6 moved 3,4,5,6 1,3,6 moved 1,3,4,6 1,5 1,2,5,6 5,6 moved

The ones that moved, I also tried different baud rates. Despite these moving, they do have the same problem that I have. Either one of the motors run and when pressed again it goes another direction and/ or speed at random.

I've attached a picture of the layout of the ez-robot with the sabertooth.

User-inserted image


Please check the manual for your product model and the dip switch settings will be presented. It is not efficient to repeatedly guess switch combinations expecting something to randomly work. Manuals are assembled by designers to provide instruction on how to use a product. Everything you purchase will include an instruction manual. Reading the instruction manual for all projects, including ezrobot and sabertooth is highly recommended.

The manual page that I provided earlier explains what baudrate settings are suggested for saber tooth. Consult the sabertooth manual for applicable switch settings.

Have fun!


Try this in a script and let me know what the motors do... this assumes dips 1,3,5,6 are up...

SendSerial(D0,9600,127) #full speed motor 1
SendSerial(D0,9600,128) #full speed motor 2
SendSerial(D0,9600,0) #stop


[b]Sorry[b] that I've been away! @Richard R I will try this in the script.


How are you powering the iotiny?

If Richards script works. Add the sabertooth control in Project -> Add Control -> hbridge

Then configure the control for the specified baud rate.