Upgrade to ARC Pro

Synthiam ARC Pro is a cool new tool that will help unleash your creativity with programming robots in just seconds!


Sabertooth Movement Panel

by Dimension Engineering

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

  1. Load the most recent release of ARC (Get ARC).
  2. Press the Project tab from the top menu bar in ARC.
  3. Press Add Robot Skill from the button ribbon bar in ARC.
  4. Choose the Movement Panels category tab.
  5. 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

User-inserted image

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%.


User-inserted image

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.


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

1) 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.

2) Add the Sabertooth Movement Panel Skill to your ARC project (Project -> Add Skill -> Movement Panels -> Sabertooth Movement Panel).

3) 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.

4) Click the Sabertooth Movement Panel buttons to move your motors.



Here's a helpful community post:

Customer 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.


Upgrade to ARC Pro

Get access to the latest features and updates before they're released. You'll have everything that's needed to unleash your robot's potential!

How to hook up the Sabertooth and Kangaroo motion controller - EZB4? For any car or whatever robot
  a tutorial would benefit  many of us


Thanks @ptp I will update this skill page with those links!
Sorry to be a pain in your side.  I'm using the Simplified Serial Mode on my sabertooth 2x25 and the sabertooth Movement Panel.  using the arduino mega on a digital port does not work.  Do you know way it's not working? I do not wnat to use the custom movement panel.  if you have time can you test it with your mega and sabertooth, if you have one.  If not what am I doing wrong.  I my have to just buy another EZB v4 1/2.

Thank you in advance. I really do appreciate all time you have spent on all these questions.
This is just a guess because I don't use the Arduino Mega. But if it was a EZB and you want to send Serial commands you would use it's UART ports. These have TX, RX, Ground and voltage pins. So looking at the Arduino Mega I'd think you need to attach to it's UART pins. TX1, RX2 or TX2, RX2 or TX2, RX3.
This what I’m confused about.  On my sabertooth it ha S1,S2,5v and 0v for ground.  Do I connect s1 to TX and s2 to rx on the arduino mega?  

I use 6vdc on the EZB’s and use the digital port and the sabertooth works fine.  I have tried just the TX on the arduino but the motors move on there own.  I am just learning about arduino so I am not sure.

thanks for the answer to maybe try a few other combinations.

I've never used a Sabertooth without a Kangaroo attached. However in the 2x25 Sabertooth manual I did find this. I think you mentioned you are using Simplified Serial Mode :


Simplified serial uses TTL level single-byte serial commands to set the motor speed and
direction. This makes it easy to interface to microcontrollers and PCs, without having to
implement a packet-based communications protocol. Simplified serial is a one-direction only
interface. The transmit line from the host is connected to S1. The host’s receive line is not
connected to the Sabertooth. Because of this, multiple drivers can be connected to the same serial
transmitter. If using a true RS-232 device like a PC’s serial port, it is necessary to use a level
converter to shift the 10V to 10V RS-232 levels to the 0V to 5V TTL levels the Sabertooth is
expecting. This is usually done with a Max232 type chip. If using a TTL serial device like a
microcontroller or a USB-to-TTL serial converter, the TX line may be connected directly to S1.
Because Sabertooth controls two motors with one 8 byte character, when operating in Simplified
Serial mode, each motor has 7 bits of resolution. Sending a character between 1 and 127 will
control motor 1. 1 is full reverse, 64 is stop and 127 is full forward. Sending a character between
128 and 255 will control motor 2. 128 is full reverse, 192 is stop and 255 is full forward.
Character 0 (hex 0x00) is a special case. Sending this character will shut down both motors.
I really don't know how your setup is built and what you are using so this is the best I can do for now.
You can also read the manual on this page by scrolling up - there's a bit about the wiring:)
@DJ, Thank you.
So I learned (or re-learned) something here. One way serial commands can be sent through any of EZB's digital pins. Two way serial commands need one of EZB's 3 uart ports. Two of witch are digital ports. 
- D5 can control Dynamixel servos
- D5 (TX) and D6 (RX) can be used as UART1
with 5kB Receive buffer
- D18 (TX) and D19 (RX) can be used as UART2
with 5kB Receive buffer

So much in this platform. So much to remember. Love it!! LOL.