Asked — Edited
Resolved Resolved by Redzone!

Fun With Sabertooth 2X25

OK, so I have reached a bit of an impasse and need to reach out to the community. I am building a full size K-9. I have got him down to movement now. I am using an EZBv4wifi Sabertooth 2x25, Razor 100w 24v 9tooth Chain drive scooter motors and wheels. The system is running on 12v. I have setup the Sabertooth Serial movement panel, have it tied to the correct port and using 9600 (though I have also tried 38400). I have verified the jumper settings for 9600 (1-U, D, U, D, D, U). I have even obtained a Logitech controller to better test the issue (the 710). I reviewed a few Sabertooth related posts, not the least of which was

I was troubleshooting erratic behavior, but that seems to be tech induced as I had wired the Sabertooth Signal, 5v, and 0v back through the EZB using one of the inline regulator cables (the 5v servo cables). Then i noticed the 5v POS isn't hooked up to this controller and removed it from the circuit.

At that point the motors started working more like what i want, but not quite right. While it may be more of a Controller thing, the D-Pad is the only thing that engages the motors. That I can live with, though I though it was weird. The problem I have right now (and it persists on mobile AND desktop) is both motors fire in the same direction regardless of the D-Pad arrow I press. Also, when I press LEFT Arrow, it clicks one motor but neither fire.

So I can only go forward at this point, and use 3 of the 4 D-Pad arrows.

Can anyone suggest where I am going wrong? Do I need to build a custom movement panel? Is the Sabertooth Serial Movement Panel just set the port, set the speed, and thats it?

Sidenote, I cant figure out the bounty system. There doesn't appear to be a flag.

User-inserted image

User-inserted image

User-inserted image


Skip to comments


Upgrade to ARC Pro

Unlock the true power of automation and robotics by becoming a proud subscriber of Synthiam ARC Pro.


Nice looking K-9, I'm not the smartest on this forum, but I will try to help you.


Do I need to build a custom Movement Panel? Is the Sabertooth Serial Movement Panel just set the port, set the speed, and thats it?

Do I need to build a custom Movement Panel? = YES Is the Sabertooth Serial Movement Panel just set the port, set the speed, and thats it?= NO

you also say you have the 2x25 set to 9600 but the dip switches are not set for 9600.
Steve' G's post says.... Simplified Serial at 9600 Baud Rate.

Switch 1 Up, Switch 2 Down, Switch 3 Up, Switch 4 Down, Switch 5 Up, Switch 6 Up.

In the custom Movement Panel config : Stop command= sendserial(d0, 9600,0) #both motors stop Forward connamd= sendserial(do,9600,127) #left motor forward sendserial(d0,9600,255) #right motor forward Reverse command= sendserial(do,9600,1) #left motor reverse Sendserial(do,9600,128) #right motor reverse Right command= sendserial(do,9600,127) sendserial(do,9600,128) left command= just reverse the 127 and 128 on the right command

I found using 9600 worked the best for me.

I am not sure what you mean when you ask...


Sidenote, I cant figure out the bounty system. There doesn't appear to be a flag.

I hope this helps and maybe Richard r and the others might jump in to help.



I just noticed the motors are 24V and you said you are using a 12 V battery, not sure if they will run on 12V? Someone with knowledge should know.


@Merne the 24v motors can run @12v. I have the same ones (belt drive) running in my R2. Trying the custom panel with you notes now.


You don't need the custom panel. You do need to set the port settings to match the Sabertooth panel (nothing wrong with doing a custom panel if it meets your needs, but the Sabertooth panel has speed adjustment and speed ramping when used with a joystick, so is better once you get it running).



OK, almost got it! My motors are turning the right way except I seemed to have messed up the left serial.

I went over the other forum post and added:

SendSerial (d23, 9600, 255) SendSerial (d23, 9600, 1)

and that did it.

If I may, while I have your ear, Is there a way to slow the motors down? I trimmed the "speed" setting on the Custom Movement Panel, but it doesnt seem to have an effect (or at least not a demonstrable one). Perhaps I am not trimming it down enough. I went from 255 (the default) to 60.

User-inserted image

Also, thanks for the compliment. Let me say in kind, THANK YOU VERY MUCH! I have been fighting this for a couple days. I was preparred to head to Frys in the morning, grab an Arduino Mega and flash it with an Astromech sketch to validate the Sabertooth. You have saved me time and money! I appreciate it.


@Alan I will try the Sabertooth Panel again now that I have a verified operational config. Thank you all for your help , on a weekend no less =)


Cool glad it's working.

Hum, this I am not sure. You could use the getspeed command to see what the speed says in the variable or click on the ? On the upper right hand side of the custom movement panel.

In the variable viewer when you will see get speed command and it will show you what speed it has but I'm thinking it might show what you have in your picture but you might try it. By the way I just looked at your pictures again and see your R2 very nice also maybe a video of R2?

Maybe @ thetechguru might know but I have never tried this before my motors are slow to begin with, sorry I can't help you on this.



The reason the speed control isn't working on the customer panel is because it doesn't control the values of the serial commands which is how the Sabertooth controls speed, so again, using the Sabertooth panel will be better for your needs. Good that you got the settings straight with the custom panel though, sometimes being able to see what the actual commands being sent are can assist in troubleshooting, and the Sabertooth, being so configurable, can lead to a lot of confusion.



@Alan, so if a user does use the saberthooh Movement Panel without a joystick, a person would have to use scripting to control the speed/ ramping?



I use a custom Movement Panel for all my sabertooth motor control projects... I use variables so I can speed control on demand... For instance this could be in the script of the "forward" part of the custom movement panel


$leftChannel = 200 # medium speed value
$rightChannel = 54 # medium speed value

SendSerial (d23, 9600, $leftChannel) SendSerial (d23, 9600, $rightChannel)

this can be in the "stop" part of the custom movement panel


SendSerial (d23, 9600, 0)  #stops both channels



Well, I tried the Sabertooth Serial panel again (under H-Bridges) and it sorta works. I configure which port it is using (D23 in my case), I have not changed the baud settings on the DIP switches, and the Sabertooth panel is set to 9600.

I double checked the threads; (H-Bridge Sabertooth Serial) (Scripting Custom Movement Panels) (Movement Panels)

CONDITION: RIGHT motor moves fine, LEFT motor varies. EXAMPLE: Controller-Left Stick Forward = Both move forward (though Left seems a little slower) Controller-Left Stick Right = Both move in opposition to create turn (left a little slower i think) Controller-Left Stick Left = no movement from left wheel, right seems fine Controller-Left Stick Reverse = No Left movement Right seems fine.

With all that said, I reverted back to the Custom Movement panel. I was able to reason out the serial range to change the speed.

EXAMPLE: Motor 1 - 1-127 represent Reverse to Forward (1 Being Full speed reverse, 127 being full speed forward). Motor 2 128-255 also represent the range of Reverse and forward (128 being full speed reverse, 255 full speed forward). As a previous post pointed out the mid point of these arcs is a stop. Motor 1 @ 64 should be a stop, and Motor 2 at 192 (maybe 191 per other post..?) should be a stop. Following this logic, 1 up to 64 would be varying degrees of Reverse for Motor 1, and 65-127 would be varying degrees of Forward for Motor 1. Therefore by subtracting and adding values (such as 32, 16, etc) I can trim the speed to something that wont mow down people.


SetSerial (Port#, Baud Rate, Dir/Speed)

Motor 1 FWD @ 50%

SetSerial (d23, 9600, 95) # or 127 - 32

Motor 2 FWD @ 50%

SetSerial (d23, 9600, 223) # or 255 -32

Motor 1 REV @ 50%

SetSerial(d23, 9600, 33) # or 1 + 32

Motor 2 REV @ 50%

SetSerial(d23,9600,96) # or 64 + 32

then apply the same math for LEFT and RIGHT.

So he is at least working more or less. It's hard apply when the stick hits the threshold, but it's better than nothing. Full disclosure, I am using ARC and when i run Check for Update, it shows 2017-7-22 available. I will download and install that next. test again. I am also running this on a Win7-64Bit laptop. I get an OS warning when I started the install that indicates questionable support for Win7 and sugessted updating my OS. Dont know if that is contributing.

TLDR: Works with custom panel, not so much with Sabertooth panel.


@Richard R - I like the variable thing. Makes tweaks easier! I will have to employ that suggestion.


Lol, hahaha


I can trim the speed to something that wont mow down people.

Wow K-9 looks great, k-9 should have went after that car that passed by. :D

At this point I believe Richard R. is the guru of Sabertooth and motors as he has helped many people on this forum using sabertooth controller. Richard r probably will have more answers if needed.

I remember somewhere DJ has stated in the passed using EZB software needs to be windows8.1 or higher. so you might give a try, I use both win8.1 and win10.

Loved the video, thanks!


[color=#111111][size=2][font=Verdana,Arial,Helvetica,sans-serif]Love the K-9 from older Doctor Who,always wanted one when I was a kid! Lools like the exact replica!