Confusing echo in serial window using sabertooth controller

I have a sabertooth 2x25 motor controller that I purchased to use in conjunction with my Uno. I have the sabertooth powered up with a 24v battery system and connected to my Arduino via the TX and GND pins as recommended in the simple serial software downloaded from here: Dimension Engineering - Libraries for Arduino

The software seems to control the motors just fine, but I am getting character output in the serial window and cannot figure out what it's coming from - there are no print commands in the example from the SabertoohSimplified library I am using. I get a repeat of @@@@ - one character for every command the sabertooth is sent. Depending on if I alter the speed numbers (50 instead of 127, for example) it might show "&@Y@" - forward/pause/backward/pause. I thought maybe my baud rate was off, but everything matches up.

While it doesn't adversely effect how the program is working, it's still quite annoying and would really appreciate help in debugging this. No code is changed from the "SimpleExample.ino" that I first saw the issue in.

(i hope this in the right parent forum!)

Are you using the Serial instance on the Arduino to talk to the sabertooth controller OR the serial monitor? Both is the wrong answer.

PaulS:
Are you using the Serial instance on the Arduino to talk to the sabertooth controller OR the serial monitor? Both is the wrong answer.

can you clarify? the sabertooth is plugged into the digital pin 1 (tx), per instructions. is the tx pin the serial instance? the serial monitor has no inputs or other information. i opened the serial monitor and it's just spitting out the symbols at me.

is the tx pin the serial instance?

Yes, it is. If you are going to connect the sabertooth controller to the TX pin, close the Serial Monitor, and forget it exists.

aha. i will need to read up on switching the input for the sabertooth, then, which i saw somewhere in the documentation. my actual code for this project will involve the serial monitor for debugging and analysis, so having that available to be open is a necessity.

thank you!

PaulS:

is the tx pin the serial instance?

Yes, it is. If you are going to connect the sabertooth controller to the TX pin, close the Serial Monitor, and forget it exists.

aeryn:
my actual code for this project will involve the serial monitor for debugging and analysis, so having that available to be open is a necessity.

In that case the Serial port is not available for use to communicate with your sabertooth controller. You either need to use an Arduino with multiple hardware UARTs and use one of the 'spare' UARTs to talk to the sabertooth, or do it using a software serial interface on some other pair of I/O pins.

PeterH:

aeryn:
my actual code for this project will involve the serial monitor for debugging and analysis, so having that available to be open is a necessity.

In that case the Serial port is not available for use to communicate with your sabertooth controller. You either need to use an Arduino with multiple hardware UARTs and use one of the 'spare' UARTs to talk to the sabertooth, or do it using a software serial interface on some other pair of I/O pins.

And why would that be? the arduino sends serial data out its tx pin and doesn't really care how many rx pins are connected. I used a similar setup to monitor what is being received by my Ethernet shield and being sent to my ssc-32.

zoomkat:
And why would that be? the arduino sends serial data out its tx pin and doesn't really care how many rx pins are connected. I used a similar setup to monitor what is being received by my Ethernet shield and being sent to my ssc-32.

I don't know whether you read the original post, but the spurious output in the serial monitor caused by using the same serial port for two jobs is the precise problem we're being asked to resolve.

PeterH:

zoomkat:
And why would that be? the arduino sends serial data out its tx pin and doesn't really care how many rx pins are connected. I used a similar setup to monitor what is being received by my Ethernet shield and being sent to my ssc-32.

I don't know whether you read the original post, but the spurious output in the serial monitor caused by using the same serial port for two jobs is the precise problem we're being asked to resolve.

So what is the basis of your claim "In that case the Serial port is not available for use to communicate with your Sabertooth controller" when the arduino is communicating with both the serial monitor and the sabertooth as indicated by the unknown characters in the serial monitor and the sabertooth operating as desired? If the OP wants to use another application on his pc for control, then the serial monitor will not be available, but the OP hasn't said that as far as I see. The OP needs to post the code he is running on the arduino as that probably holds the key to the unknown characters.

I get a repeat of @@@@ - one character for every command the sabertooth is sent.

Just looking into the sabertooth stuff, the @ probably is the byte being sent to the sabertooth indicating that the command is for motor 1.

edit: more info, the single byte commands apparently are what is being seen in the serial monitor.

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

zoomkat:
the OP hasn't said that as far as I see.

If you read the original post you would find the poster is reporting the spurious output on the serial monitor as a problem. So in this case, the use of the same serial pins for two connections is the direct cause of the problem.

You seem to be quibbling about whether a given serial connection can be connected to more than two devices. Each Rx pin must be connected to no more than one Tx pin, or the two Tx devices will end up fighting with each other, which will typically not work and may even cause hardware damage. In this case Arduino pin 0 (Rx) was connected both to the USB serial device Tx pin and the sabertooth controller Tx pin. That's a bad idea.

I agree it's possible to connect one sender to multiple receivers (as long as you don't also connect up the other half of the serial connection in the same way), but that is not what the OP has done here.

PeterH:

zoomkat:
the OP hasn't said that as far as I see.

If you read the original post you would find the poster is reporting the spurious output on the serial monitor as a problem. So in this case, the use of the same serial pins for two connections is the direct cause of the problem.

You seem to be quibbling about whether a given serial connection can be connected to more than two devices. Each Rx pin must be connected to no more than one Tx pin, or the two Tx devices will end up fighting with each other, which will typically not work and may even cause hardware damage. In this case Arduino pin 0 (Rx) was connected both to the USB serial device Tx pin and the sabertooth controller Tx pin. That's a bad idea.

I agree it's possible to connect one sender to multiple receivers (as long as you don't also connect up the other half of the serial connection in the same way), but that is not what the OP has done here.

Not sure why you don't understand the OP's setup is appropriately working the way it is wired. The OP appears to have his arduino attached to the sabertooth as recommended by dimension engineering (arduino tx connected to the sabertooth rx, and grounds connected between the two). Per the OP, this works as expected. Bytes sent by the code running on the arduino are being sent to the arduino serial out (tx), which is connected to both the arduino serial/USB interface and to the sabertooth motor controller. The serial monitor is displaying the byte being sent by the arduino code, which may or may not appear as an ascii printable character in the serial monitor. Bottom line, what is diaplayed in the serial monitor is expected behavior. Simple stuff.

I am a beginner with Sabertooth and Arduino Uno Circuit.
I am having a tough time getting started and this seems kind of complex, nothing I have tried from Sabertooth and Arduino library has worked I did upload the blink test and that worked between the computer and the UNO but other than that I feel stuck.
We are running a Sabertooth 2x25 with Arduino Uno Board.
Our system is operated with a remote controller currently and we wanted to add the functionality option of autonomous.

So what we are trying to do is drive our system with remote control to a given location and then start the program.

Right now I have not even got the UNO circuit to even control the motors yet.
Can anyone help?
I uploaded programs but all seem to error out one way or the other.

Has anyone have the programs and code that works for the Saber tooth - UNO intergration?
Thanks I appreciate any help I can get!

nothing I have tried from Sabertooth and Arduino library has worked

If your sabertooth has the RC option, then use that and the servo library to get started.