Dimension Engineering
Motor Drivers
SyRen 10
SyRen 25
SyRen 50
Sabertooth 2X5
Sabertooth 2X5 R/C
Sabertooth 2X12
Sabertooth 2X12 R/C
Sabertooth 2X25
Sabertooth 2X32
Sabertooth 2X60
Radio Control
Servo Pigtails
R/C Lighting
DELight Starter Kit
DELight Controller
DELight Single LEDs
DELight Strip LEDs
Sinewinder Lights
DC to DC
3.3V Switching Regulator
5.0V Switching Regulator
1A Adjustable Switching Regulator
3A Adjustable Switching Regulator
HV Adjustable Switching Regulator
AnyVolt 3
AnyVolt Micro
Breakout Boards
Buffered 2g Accelerometer
Buffered 6g Accelerometer
Buffered 3D Accelerometer
Motion Control
Kangaroo x2
The Company
Warranty Information
Terms of Usage
Our Dealers
Shipping FAQ
Accelerometer Guide
Switching Regulator Guide
DEScribe PC Software
Arduino Libraries
Legacy Products
Legacy Products
Libraries for Arduino

Library Download
Arduino Libraries for SyRen/Sabertooth Serial (includes examples)
v1.5 by Dimension Engineering
Installer (for Windows)
or .zip File

SyRen/Sabertooth Packet Serial
USB Sabertooth Packet Serial
Sabertooth Simplified Serial
SyRen Simplified Serial
Arduino Examples for SyRen/Sabertooth R/C Mode
v1.1 by Dimension Engineering
.zip File
Arduino Library for Kangaroo Packet Serial (includes examples)
v1.0.6 by Dimension Engineering
Installer (for Windows)
or .zip File

Comments, questions, suggestions? Let us know!

Which mode should I use with my motor driver?

Mode Advantages Disadvantages
Packet Serial Most powerful
Control up to 8 SyRen/Sabertooth per pin
SyRen and Sabertooth use the same 8-bit commands
Commands are checksummed for reliability
Setting commands for ramp time, deadband, etc.
V2 controllers:
Baud rate changes require a command

V1 controllers:
Autobaud requires low startup transients
Plain Text Serial Extremely beginner-friendly
Control up to 4 Sabertooth per pin
Commands can be checksummed for reliability
Reasonably powerful
For USB Sabertooth drivers only
Simplified Serial Beginner-friendly
Fast single byte commands
Baud rate settable with DIP switches
7-bit on Sabertooth
No checksumming
Requires one pin per SyRen or Sabertooth
R/C Microcontroller Control each motor with servo commands
Use 3-argument init: servo.attach(pin, 1000, 2000);
Compatible with R/C versions of Sabertooth
Servo library comes with Arduino software
0°-90° (1000-1500 μs) reverses
90°-180° (1500-2000 μs) goes forward
90° (1500 μs) stops
Requires one pin per motor
Not as precise, sensitive to timing jitter

Packet Serial FAQ

Which motor drivers use autobauding in packet serial?
V1 motor drivers use autobauding. The list of V1 motor drivers is as follows:

  • SyRen 10
  • SyRen 25
  • Sabertooth 2X5
  • Sabertooth 2X10
  • Sabertooth 2X25 V1

V2 and newer motor drivers store their baud rate in an EEPROM setting (the factory default is 9600).

I have a V1 motor driver and the Sweep packet serial sample only moves forward and stops at 9600.
We've run into this with the Arduino Uno and Sabertooth 2X5. There is a startup transient on the Uno that the Sabertooth sees as a very fast autobaud character. As a result it autobauds at its maximum baud rate, 38400. Changing the Serial.begin(9600); line to Serial.begin(38400); got things running for us.