Libraries for Arduino
Which mode should I use with my motor driver?
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.
Baud rate changes require a command
Autobaud requires low startup transients
Plain Text Serial
Control up to 4 Sabertooth per pin
Commands can be checksummed for reliability
For USB Sabertooth drivers only
Fast single byte commands
Baud rate settable with DIP switches
7-bit on Sabertooth
Requires one pin per SyRen or Sabertooth
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.