This control supports the Sabertooth H-Bridge Motor Driver as a movement panel with variable speed in Simplified Serial mode.
How to add the Sabertooth Movement Panel robot skill
- Load the most recent release of ARC (Get ARC).
- Press the Project tab from the top menu bar in ARC.
- Press Add Robot Skill from the button ribbon bar in ARC.
- Choose the Movement Panels category tab.
- Press the Sabertooth Movement Panel icon to add the robot skill to your project.
Don't have a robot yet?
Follow the Getting Started Guide to build a robot and use the Sabertooth Movement Panel robot skill.
How to use the Sabertooth Movement Panel robot skill
This skill supports the Sabertooth Motor Controller as a Movement Panel with variable speed in Simplified Serial mode. The Sabertooth Motor Controllers are high power. They come in many versions that range from 5Amp to 60Amp. The ARC software supports the Simplified Serial Mode at multiple baud rates on a configured software serial or hardware UART port.
Main Window
1. Movement Panel Buttons These buttons will allow you to control the motors attached to the Sabertooth Motor Controller (left, right, forward, and reverse).
2. Speed Sliders These sliders will allow you to control the speed of each motor attached to the Sabertooth. If the sliders are at the bottom the speed will be 0% (off) and the top is 100%.
Configuration
1. Software Serial Option Checkbox This uses any EZB digital I/O port to send a emulated serial signal to control the Sabertooth. This section includes a drop-down for the serial communication speed (baud rate) and a Button to change I/O ports. *note: Software serial should only be used if the ezb does not have hardware uart.
2. Hardware UART Option Checkbox This uses a EZB UART port to send a serial signal to control the Sabertooth. This section includes a drop-down for the serial communication speed (baud rate) and another drop-down to select the hardware UART number. *note: Use the ezb hardware uart if available over software serial.
3. PC COM Option Checkbox This uses a PC COM port (commonly a USB-to-Serial device) to send a serial signal to the Sabertooth to control it. This section includes a drop-down for the serial communication speed (baud rate) and another drop-down to select the COM port number. This option has the unique feature that allows you to connect the Sabertooth motor controller directly to a computer.
Wiring
The EZ-B connects to the GND and Signal to the Sabertooth. The Signal from the EZ-B connects to S1 on the Sabertooth, which is used for Simplified Serial mode. The Sabertooth will get its power from the Power terminals that you connect to the battery. The GND must be shared between the EZ-B and Sabertooth, even if the battery supply of each is different.How to Use Sabertooth Movement Panel
- Physically configure your dip switches on the Sabertooth Motor Controller.
DIP Switches Consult the Datasheet of your Sabertooth product for dip switch settings. The suggested Sabertooth setting is Simplified Serial at 38400 Baud. Lower baud rates can be used if interference or poor functioning is experienced. For the 2x25, here is recommended dip switch settings.
Add the Sabertooth Movement Panel Skill to your ARC project (Project -> Add Skill -> Movement Panels -> Sabertooth Movement Panel).
Configure the Sabertooth Movement Panel skill. Set the communication option and speed (baud rate) that matches the Sabertooth DIP switch setting.
Baud Rate It is important to understand how the EZ-B and Sabertooth communicate. This is done over a serial connection. Serial may seem simple enough in wiring, but the baud speed is a very important attribute that prevents the communication from working. The baud rate of the serial connection is the absolute most important property and must match between the EZ-B and Sabertooth. If the speed is not understood between the sabertooth and EZ-B controller, it won't work. Ensure both the EZ-B and Sabertooth are using the same baud rate.
Consult the manual for your Sabertooth model for the baud rate settings. The suggested baudrate is 38400, which much match the setting in the config menu of this control. Press the options menu on the Sabertooth control to view settings. Lower baud rates can be used if interference or poor functioning is experienced.
- Click the Sabertooth Movement Panel buttons to move your motors.
Video
Resources
Here's a helpful community post: https://synthiam.com/Community/Questions/Fun-With-A-Kangaroo-sabertooth-8542/commentsCustomer Support For customer support of Sabertooth devices and understanding their datasheets, please contact them here: Dimension Engineering Support.
Product Documentation Dimension engineering has PDF manuals for all of their products. The most popular product is the 2X25, which you can find the product page here.
Product Details Sabertooth allows you to control two motors. You can build many different robots of increasing complexity for years to come with a Sabertooth. Sabertooth has independent and speed+direction operating modes, making it the ideal driver for differential drive (tank style) robots and more.
The operating mode is set with the onboard DIP switches so there are no jumpers to lose or complicated programming sequences. Sabertooth features screw terminal connectors - making it possible for you to build a robot without having to solder.
Sabertooth is the first synchronous regenerative motor driver in its class. The regenerative topology means that your batteries get recharged whenever you command your robot to slow down or reverse. Sabertooth also allows you to make very fast stops and reverses - giving your robot a quick and nimble edge.
Sabertooth has a built in 5V BEC that can provide power to a microcontroller or R/C receiver. It also features a lithium cutoff mode allowing Sabertooth to operate safely with lithium ion and lithium polymer battery packs - the highest energy density batteries available.
Related Tutorials

Sabertooth+Kagaroo+DC Motors As Servos

Use Arduino For Wheel Encoder Counter
Related Hack Events
Related Questions

Does Anyone Have A Cytron Smartdrive Duo 30 And What Are The...

Sabertooth 2 X 32

Sabertooth Movement Panel And A Kangaroo X2

Adjusting Encoders On A Roboclaw 2X15
Upgrade to ARC Pro
Experience early access to the latest features and updates. You'll have everything that is needed to unleash your robot's potential.
Are you using the hardware uart or software bit bang?
there Might be an issue with the kangaroo missing packets
Its the hardware UART , i dont have a kangaroo yet :-) , is there like a check command or error check ?
There isn’t a way to check for error other than knowing the sabertooth didn’t respond. This is because a uart is a serial with internal clock synchronization. That means if you set the baud to 38400, both the sender and receiver will use their clock to align the incoming pulses to the specified baudrate. Most protocols transmit a clock on a separate wire, so there’s clock synchronization.
generally serial uart is reliable but some things get in the way. Could be interference from another decide close by the wire. Or it could be too low of voltage on either side (ezb and sabertooth). It could also be too much noise from the motor on the sabertooth (requiring a cap on each motor). Or it could be simply that the ground isn’t reliable and there’s noise or resistance.
so the next step in your solution is to try a lower baudrate.
Hi DJ thanks for the advice, i have tested the ground and its good and moved the motor signal wire away from all others and lowered the baud to 9600 , its the same... im starting to think its a problem with the app panel itself, my reasoning behind this is that once i have pressed up or right left once its totally reliable until i click another panel say to edit a script and then try and move the bot again i need to press a key once, then its reliable again, again if i script a voice command to move him i say ot once, nothing happens then i say again and its ok ? almost like the app needs waking up ? this doesnt happen on servo's i have on the bot or any other panel, also happens if i try and use serial connection and not uart.
Power for the EZ-B (Arduino Leonardo) comes from the 5v input form the USB port on the LattePanda , not running anything else on the EZ-B as of yet except 1 servo and 2 LED's . The power for the SabreTooth comes direct from a 11.7 supply from charging circuit and thats regulated.
Not sure if this makes a diference, i run the power to the sabretooth from a charging circuit so not straight form the battery, the dip switch i have set is to run of lipo , not sure that would cause this issue ..
Thanks again :-)
Would you be willing to post your project so we can take a look? Maybe another set of eyes would help to confirm there is nothing interfering or set improperly.
I updated the robot skill with additional debug info. You should be prompted to update the skill when you load ARC with an internet connection. Do so, and you will receive the latest update.
*edit: I also see from your logs that your project has many errors about the ping radar robot skill. Viewing the log window, you'll see a few thousand errors (or more). The ping radar doesn't seem to be supported by the latte panda's firmware. That might be causing some crazy behavior.
You can see the Debug Log has updated log details when the icon changes bright blue with exclamation mark
I would recommend trying a lower baud rate because I believe there is interference on the wire. And make sure you only have hardware UART selected as the port in the sabertooth robot skill configuration screen.
I loaded the ezb emulator and created a video demonstrating the sent packets. In the video, Writing: 000 means sending a Sabertooth stop command. Everything else for "Writing:" is a movement command. I went through many scenarios, including a robot skill script that sends a movement command.
So i have now isolated the wire completely, and still the same issue, i have also removed all other devices and run a blank prog with just sabretooth and same issue , there are no errors that show in the debug log at all.. At a loss to be honest, wonder if it would be better with the kangaroo unit however the motors in the omnibot dont have any way of attaching encoders so cant be sure. Unless its a faulty sabretooth however i cant see it as after the initial keypress and no response its fine till you click away for the movement panel.