Welcome to Synthiam!

The easiest way to program the most powerful robots. Use technologies by leading industry experts. ARC is a free-to-use robot programming software that makes servo automation, computer vision, autonomous navigation, and artificial intelligence easy.

Get Started
Asked — Edited
Resolved Resolved by thetechguru!

Sabertooth 2X32 Operation

Hello Everyone,

I have been at my workbench reading all of the Sabertooth threads in the forum and for the life of me can not figure out how to get my sabertooth to do variable speed over the serial 9600 baud connection. Here's what I am trying to do.......

I am building an R2 unit and need him to drive in tank mode using a virtual joystick in my iPhone. The farthest I've gotten is connecting the Sabertooth per the tutorial and I did manage to get it to control the for directions but only in full speed. I guess what I'm trying to do is get the EZB to act like an RC controller. I ordered a kangaroo yesterday because I saw some of you have had success with it. I'm not a coder by any means, I'm much more mechanical in skill but I love working with the EZB and I don't want to take the easy way out and just go RC.

The threads I've seen so far are pretty fragmented because it looks like this has been figured out but not fully explained (dumbed down for someone like me. I am using the Sabertooth 2x32 at 24v powering two scooter motors for R2's foot drives and a Syren 10 for his dome drive also at 24v. I hate asking for help because I'm sure the answer is out there in another thread but for the life of me I can't seem to find it or understand it. *stress*

R2 is all aluminum weighing in at 160lbs so I don't want him flying into a crowd of people even though I do have a remote key fob kill switch. :D

Thanks for any help!


User-inserted image


Upgrade to ARC Pro

Unleash your creativity with the power of easy robot programming using Synthiam ARC Pro

No sure if you can do this in a mobile app (since I never use the mobile app feature) but you can do a "make shift" crude speed controller for the sabertooth in ARC by using the custom Movement Panel and two slide scripts.... Using variables to represent the two channel speed of the sabertooth you can simply use the 2 slide scripts to change the speed on the sabertooth when needed... One of the best things about ARC is that there is usually always a work around...


# $R_motor_Value is whatever value you set in your slide script
# $L_motor_Value is whatever value you set in your 2nd slide script

Wow! Thanks guys!

@DJ - I can't wait for that to do listing to come to fruition!

@Rich - I am a code novice. Would you mind expanding on what a slide script/motor value is? Sorry for the newbie question.
@dbickert .... There is really not much coding involved but I will try and whip an example together in a day or two and post it here...

Thanks Richard! I appreciate your assistance.
Has anyone tried the new Serial controls for a Sabertooth? I really really really want to switch to the EZB from my Mega for driving R2.

I have:) works exactly like you would hope! no more on off switch haha

I am still running a PC in my droid with a Xbox 360 joystick

Hi Aaron!

That's awesome news! I really like the Sony Nav controller. I'm hoping there is a way to get Windows to recognize it for the EZB.

By on off switch, so you mean he now stops when he loses contact with the controller? He would take off before.

Thanks man!

you should be able to get the sony nav controller to work by using one of the downloadable and editable drivers that are out there.

I had it working with one for a brief moment but ended up wanting more buttons haha

I mean "on off switch" because when you used a joystick before, you either had full speed forward or stopped. there was no speed in between the two. it made my droid look jerky and not as real:)

ever since switching over to a USB tethered computer and xbox controller I have not had any issues in large crowds / convention shows. [thank the maker!]

Speed control is supported by all analog joysticks. The ARC manual explains more, which can be found in the learn section or by pressing the ? (question mark) next to the X any control.

Read about the sabertooth control here: http://www.ez-robot.com/Tutorials/Help.aspx?id=173

Also, click on the BLUE links for help to understand what a Movement Panel is, for example. The sabertooth control is a movement panel, as documented and explained best in the manual.

For speed control with analog joysticks, ensure you have the variable speed configured. The Sabertooth control supports variable speed.

User-inserted image


By on off switch, so you mean he now stops when he loses contact with the controller? He would take off before.

Do you experience disconnects often? Are you using the new ezb4 x/2? Since I upgraded all my ezb4s I have yet to have any random disconnects from the new ezb4 x/2 or ioTiny... One other thing is to check your coding. Poor coding can be a cause of chronic disconnects... The location of your ezb4 in your robot is also important especially if your R2 has a lot of metal. This can interfere with wifi signals... Just a thought.
Thanks Guys!

@Aaron, as always you rock!

@DJ, Thank you for these upgrades! Can't tell you enough how much I appreciate it! Eventually I want R2 to follow me around on his own. Yeah, It's a pretty big goal!

@Richard, I upgraded mine as well. Lately, I have been getting disconnects from my laptop outside the droid. He is an all metal droid with an EZB in the dome and an EZB in his body. The plan is to install the laptop inside R2 and use a Sony Nav controller for driving him around with animations triggered via the controller and voice command. Essentially the Sony Joystick will be the only thing outside of the droid. My question for Aaron stems from an error I was getting in the past while controlling the Sabertooth as a servo (prior to this latest serial control release and V2 com upgrade). If the EZB lost contact with the Laptop while I was driving him, R2 would just keep going at his last designated speed. I had to switch to a Mega for driving him. Now that the EZB / Sabertooth connection is serial, I assume he will just stop if he gets out of range of the controller. The reason I want to use a one handed Sony Nav controller is due to it's size. I like to keep the illusion of autonomy alive until I can him to drive himself. :D *eek*


Now that the EZB / Sabertooth connection is serial, I assume he will just stop if he gets out of range of the controller.

As far as I know ARC has always used serial (simplified at a default 38400 baud) to connect to the sabertooth. Nothing has changed in that regard. However the control now has a speed control. A sort of throttle if you will... The sabertooth is also set to "continue on" with it's last serial command sent to it... Meaning once it is send a movement command it will keep driving current to the motors until told to stop... This also means if it is driving and the ezb4 disconnects it will keep driving until someone or something stops it... Not sure this can be changed... The solution is to use an on board PC connected to the ezb4 via USB... Or you can install a remote control switch with key fob to turn on and off your robots main power or just the power to the sabertooth...
That's the plan! I have been contemplating a remote kill switch and I intend to install the laptop in the body and USB into the primary EZB.
How are you routing the signals now from laptop to the two ezbs? You will get disconntions and erratic behaviour if either the ezbs OR the laptop are too far away from the router. You could mount a router inside the robot along with the ezbs and the laptop if you have room. However like RR said, a usb connection is the best way to go.
Or rather than mounting a router, have one ezb connect to the other. That's the most effective way. Choose one ezb to be the master router.

Of course, this only applies to ezb v4.x/2 users
@DJ - How about connecting the main EZB to the laptop via USB and keeping the second EZB wireless? Or even better yet, can you go USB with both EZBs? If you can, is there a way to have a camera on one EZB or would that configuration sacrifice the camera? I would love R2 to react to what he sees so I really want a camera in the dome. Yeah, I know, I want the cake and eat it too. lol
1) one USB per ezb
2) connect multiple ezb to pc via USB
3) lose camera port when using USB. Therefore use a USB camera

Documented in USB tutorial for ezb
So can you have 1 EZB on USB and keep the other on wifi? I'm trying to keep the dome completely wireless and would like to use the EZB cam in the dome.

Thank you so much for the help!


So can you have 1 EZB on USB and keep the other on wifi?

Yes you can....
Thank you Richard! That's great news! I can plug the EZB cam into the dome wifi EZB and hardwire the main EZB into the laptop in the body. :D