This topic has 5 replies, 3 voices, and was last updated 2 years, 4 months ago by SuperDroid.

  • Author
  • #2484

    Dear Support,

    the robot starts moving on its own (Sabertooth 2×25) what would be reason for this and how I should avoid this? This can happen example when need to help robot pushing it or it goes downhill.

    The connection is from batteries (two batteries in series)to the main fuse to the main switch to the Sabertooth where are connected two DC gear motors and remote control receiver.


    Without know more details, this is difficult to answer. Sounds like you are trying to run in RC. Send pictures of your wiring.

    In general: improper dip switch settings, ground loops, dirty power, electrical noise, etc. can cause this. Look at our support pages for good practices.

    In RC mode it could be trimmed improperly. Also make sure you do not move the joysticks until its fully bound. It tries to calibrate when binding. Make sure the RC receiver is not close to motors, batteries, or power wires.

    In Serial Mode, if you do not send the correct packets…

     Vinay KRI

    Hello I am having same difficulty I have set the sabertooth to the simple serial mode and I am using Arduino Mega and have made the connection as per the manual, I am running the codes which were provided by the sabertooth arduino library (Shared line).

    I have connected the sabertooth to two motors and when I upload the shared line program one motor follows the instruction as the program but the other will be rotating independently without control, can you please help me in controlling the two motors independently with the micrcontroller.


    Instead of using simplified serial try using packetized serial with dip switches 1 and 2 down(address 128).

     Vinay KRI

    I turned down the 1 and 2 button down but now it is not moving at all do I have to change something in the program.
    This is my following program(below) I have changed the Shared line code a little bit.
    with the following code the motors simply moved with 1 3 and 5 on.
    Only single motor followed command the other only moved in one direction though the command was changed to ST1[0].motor(1, -10);

    #include <Sabertooth.h>

    // Up to 8 Sabertooth/SyRen motor drivers can share the same S1 line.
    // This sample uses three: address 128 and 129 on ST1[0] and ST1[2],
    // and address 130 on ST2.
    Sabertooth ST1[2] = { Sabertooth(128), Sabertooth(129) };
    Sabertooth ST2(130);

    void setup()
    //Sabertooth::autobaud(SabertoothTXPinSerial); // Autobaud is for the whole serial line — you don’t need to do
    // it for each individual motor driver. This is the version of
    // the autobaud command that is not tied to a particular
    // Sabertooth object.
    // See the examples in 1.Basics for information on whether you
    // need this line at all.

    void loop()
    // ST1[0] (address 128) has power 50 (of 127 max) on M1,
    // ST1[1] (address 129) has power 60 (of 127 max) on M2, and

    Serial.println(“first loop motor1”);
    ST1[0].motor(1, 10);
    Serial.println(“second loop motor 2”);
    ST1[1].motor(2, 10);


    Serial.println(“second loop motor 1”);
    ST1[0].motor(1, 0);
    Serial.println(“second loop motor 2”);
    ST1[1].motor(2, 0);


    Can you please let me know what to change for packet control in the code and for packet code I have set the dip switches to 3 4 and 6 on.
    I need to move single motor in front, reverse and should be able to stop the motor when given the command.

    Thank you in advance


    Make sure you are connecting S1 to the right pins in the Arduino, Try running their example code SoftwareSerial.

Viewing 6 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic.

Login Register

©2021 | All rights reserved.

Log in with your credentials


Forgot your details?

Create Account