Asked — Edited
Resolved Resolved by Dunning-Kruger!

Is It Possible To Run The H-Bridge Pwm Movement With The Sabertooth.

Is it possible to run the H-Bridge PWM Movement without adding any more parts. Do I just use this panel on the sabertooth instead of the sabertooth driver. I am confused. I do have the Sabertooth and the EZB3 running on wheelchair motors.

The sabertooth works fine but always on high speed.


Upgrade to ARC Pro

Stay at the forefront of robot programming innovation with ARC Pro, ensuring your robot is always equipped with the latest advancements.


Why would you want to?... Use the sabertooth control panel, that is what it's for... And use simple serial commands in scripts to drive the sabertooth as well... You are making this way harder than it actually is...


SendSerial(D0, 38400, 255) # motor 1 full forward SendSerial(D0, 38400, 127) # motor 2 full forward

SendSerial(D0, 38400, 128) # motor 1 full reverse SendSerial(D0, 38400, 1) # motor 2 full reverse

Motor 1 any number between 193 and 255 is progressively forward and any number between 128 and 191 is reverse...192 is stop

Motor 2 any number between 65 and 127 is progressively forward and any number between 1 and 63 is reverse...64 is stop

Also sendserial(D0,38400,0) Will stop both motors...


OK, I go into ADD and added a Sabertooth movement panel. Then I said ADD and created a PWM slider. I went to adjust them and it looked like they were already setup.

So, Now, I can use the Send Serial Commands? Is this correct? I did not have a lot of ports to adjust or anything.

Is this right? or do I simply use the send serial commands with ONLY the sabertooth panel?



OK, I think I understand now. Just setup the sabertooth and use the send serial. Not necessary to use the PWR slider.

If that is all there is to it, it IS Simple. Am I doing this correctly?




What are you using this on? Are you running two motors in tandem like a the axle of a car where you will be turning, starting and stopping and moving at different speeds?

How do you have your dip switches set and in what mode are you running it in? I think I remember you saying you bought a 2X25 Sabertooth. I just peeked at the manual and see it has ramping abilities that are native in certain modes. You may have to get into the firmware with the DEScribe Software to turn that on. I know that when I was messing around with my Kangaroo X2 I saw that the Ramping setting was by fault set to Off.

Today I'll be replacing one of my H-Bridges with a Sabertooth 2X12 and haven't decided if I'll be using the Kangaroo with it. I'm going to install it first without the Kangaroo to see how it acts. This will be operating the radar section on my B9 that has a relatively short turning radius and small motor. If I find anything along the way I think will help I'll let you know. I also may be checking in with a question or two for Richard if I get stuck. ;)


My dip switches are set to 38 hundred baud. I am running two wheelchair motors and want to ramp them so they are not in high all of the time. I need to control them individually so I can steer the robot. I understand I should run in the send serial mode. I have the sabertooth 2X25 or 2X12, I forget. It is the one with the Large Heat Sink and it is wired with a simple S1 going to D0. No kangaroo. The Sabertooth control panel is working properly, but it is always in high speed.

thanks, DAVE.


If you want the motors to run slower just change the numbers in the sabertooth movement panel...

Change Left forward value from 127 (full power) to 96 (50% power) Change Right forward value from 255 (full power) to 223 (50% power)


OK, I will try this. You are magnificent!

It is telling me I have no port definitions. Should I just ignore this?


Have you set the port to D0 in the sabertooth movement panel?

United Kingdom


I think you need to read through the tutorial pages again, PWM is not speed control. Read what PWM is on the tutorial page. It would also pay to search the forums for Sabertooth as there is already a lot of useful information posted.

Add the Sabertooth Control Panel, set up the port in the configuration and adjust the values to set the speed you need.

The Sabertooth is different to other H-Bridges in that it is Simple Serial not logic controlled. Speed control is not native to the movement panel. EZ-Script movement commands (Forward, Reverse, Left, Right) do not work for speed control either. As Richard pointed out you would need to use SendSerial commands to adjust the speed.

For more complex actions such as speed ramping you will require scripts to be written. I have previously posted some simple example scripts however their usage may be rather complex (depending on how they are used).

If it's just slowing the motors down to a speed that's more suited to your robot then follow Richard's advice and adjust the values. If it's ramping and better control over the motors then you may wish to look in to the Kangaroo as a very valuable accessory to the Sabertooth.


I Just completed installing my 2nd Sabertooth 2x12 into my B9. This one controls the radar and will leave one side of the board open with no motor to control. I also added a Kangaroo X2 because this is exclusively for position control with the ability to move a different speeds. I'm very happy with the results. The old setup used ADC pot feedback and an H-bridge to locate and move the DC motor. ADC loops really bog down the computer and this way all the extra work is places on the Kangaroo. I simply send a serial command through a script to move to a certain point on the radius as a defined speed. The Position command looks like this:

SendSerial(D0, 9600, "1,p2450 s100", 0x0d)


OK, Rich and Rich R , I thought that PWM was the speed control.

OK, then I just need D0 sent to S1 on Sabertooth with send serial commands.

That is simple enough.