Asked
Resolved Resolved by Athena!

Sabertooth Motor Controller For Chassis

I have a few questions about using a 2-wheel outdoor chassis with DC motors (not 360-degree servos) and the Sabertooth motor controller.

Is the Sabertooth Movement Panel in ARC suitable for controlling a chassis with two DC motors (differential drive)?

What is the difference between the Sabertooth skill with Kangaroo and the one without Kangaroo? (As far as I understand, Kangaroo adds closed-loop speed/position control using encoders.)

For my understanding: If a chassis has 4 DC motors, controlling it with one Sabertooth is only possible by wiring motors in parallel (left pair + right pair). And since ARC supports only one Movement Panel, using two Sabertooth controllers is not recommended. Is this correct?

Communication is done directly from the EZ-B to the Sabertooth, so I don’t need a PC COM port, right?

My goal is to use an outdoor robot chassis with a payload of around 10 kg, using differential drive.

Thank you for your help.


Related Hardware EZ-B v4

ARC Pro

Upgrade to ARC Pro

Synthiam ARC Pro is a new tool that will help unleash your creativity with programming robots in just seconds!

PRO
Canada
#9  

Nice - that’s a solid setup. Below I’ll confirm the choices, give concrete wiring, fuse, and wire-gauge recommendations for the MY1016 (24 V 500 W estimate / ~21 A continuous, 25-35 A startup as you estimated), show exact ARC settings (kebab menu), give a safe test procedure, and a short JavaScript test you can run in ARC. I’ll also point out things to watch for and ask a couple quick questions so I can finalize part numbers or a wiring diagram.

Quick summary

  • Your 2 × 12 V 36 Ah batteries in series (24 V, 36 Ah) are fine - equivalent to a single 24 V battery. Keep cells balanced and use a proper BMS if they’re Li-based.
  • Sabertooth 2x32A is OK for two MY1016 motors (21 A continuous). Stall peaks of 25-35 A are near the Sabertooth’s continuous rating but generally OK for short spikes. Monitor temperature under load.
  • Use Hardware UART1 (D5/D6) on the EZB v4 and set the Sabertooth to Simplified Serial at 38400 baud (recommended).
  • Wiring: heavy gauge wiring (10 AWG recommended) from battery to Sabertooth and Sabertooth to motors. Use a main battery fuse sized for expected system peaks and wire protection (recommended values below).
  • Fusing: main battery fuse ~80 A (protect battery/wiring), rely on Sabertooth thermal/current limiting for short stalls. Don’t place simple fuses on H-bridge outputs - use a properly sized main fuse and consider a DC circuit breaker / ANL fuse.

Recommended wiring & protection (practical)

  • Battery:
    • Two 12 V 36 Ah in series 24 V 36 Ah. OK to use series, or replace with a single 24 V pack - equivalent electrically. If using series packs, use a balance/BMS and secure connections.
  • Main battery wiring:
    • Battery positive main fuse (ANL or marine-style) near battery Sabertooth B+.
    • Battery negative Sabertooth B-.
    • Recommended main fuse: 80 A slow-blow (gives headroom for brief inrush while protecting wiring/battery). If you expect heavier frequent peaks, use 100 A and ensure wiring & connectors rated accordingly.
  • Motor wiring:
    • Use 10 AWG from Sabertooth motor outputs to motors (keeps voltage drop low and handles peaks).
    • Keep motor wire runs short.
  • Per-channel fuses:
    • Sabertooth receives power on a single B+ terminal. Placing per-channel fuses on H-bridge outputs is not practical. Protect the system with the main fuse above and proper wire gauge.
  • Grounding:
    • Share ground between EZB v4 and Sabertooth (connect EZB ground to Sabertooth B-). DO NOT connect EZB power positive to Sabertooth battery unless EZB is rated for it - you said EZB has its own 6 V supply, so only connect grounds.
  • Connect serial:
    • EZB UART1 TX (D5) Sabertooth S1 (signal input). Hardware UART preferred. Tie grounds together.
  • Cooling:
    • Provide airflow and a metal mounting surface for Sabertooth. Heavy loads will heat it - thermal limiting may reduce performance if it overheats.
  • Wiring components:
    • Use quality connectors (Anderson Powerpole or similar) and ring terminals for battery/fuse connections.

Fuses and wire gauge rationale

  • Two motors continuous total 2 × 21 A = 42 A. Battery must source combined average current plus spikes.
  • Main fuse 80 A covers continuous + brief spikes and protects wiring & battery. If you select a smaller fuse (e.g., 60 A) it may blow under heavy draw; a larger fuse (100 A) gives more headroom but reduces protection. 80 A is a good balance for 2 × MY1016 with 36 Ah battery.
  • Use 10 AWG between battery and Sabertooth and from Sabertooth to motors for up to ~55-70 A safely in short runs. Use 8 AWG for longer runs or if you want more margin.

Sabertooth configuration & DIP switches

  • DIP mode: Simplified Serial (or Packet mode if you plan addressing). Simplified Serial is simplest.
  • Baud: 38400 (common recommended starting point). Make DIP switches match 38400. Use Dimension Engineering DIP wizard if needed:
  • If you later add Kangaroo for closed-loop control, change DIP switches per Kangaroo docs.

ARC configuration (kebab menu steps)

  1. Project Add robot skill Movement Panels Sabertooth Movement Panel.
  2. In the added skill window, open the kebab menu (three lines, top-right) Settings.
  3. Under Communication:
    • Check Hardware UART.
    • UART: choose UART1 (maps to D5/D6 on EZB v4).
    • Baud Rate: 38400 (match the Sabertooth DIP).
  4. Save and close.
  5. Test using the Sabertooth Movement Panel buttons/sliders (start at low speed).

Safe step-by-step test procedure

  1. Secure the robot on a test stand or lift wheels off the ground to prevent runaway.
  2. Verify all wiring, connectors, fuses, and that grounds are common.
  3. Power the Sabertooth from the battery (insert main fuse). Power EZB (via its 6 V supply).
  4. In ARC, open Sabertooth movement panel. Set a low speed (e.g., 10-20%, or speed value ~50-80 of 255).
  5. Test one channel at a time (e.g., right motor only) using the Movement Panel sliders/buttons.
  6. Confirm rotation direction; swap motor wiring/invert direction in ARC or on Sabertooth if needed.
  7. Increase speed gradually while monitoring Sabertooth temperature and battery voltage.
  8. Do a few short-motion tests on the ground with a secure area, then longer runs.
  9. If main fuse blows, stop and check wiring and expected currents. Do not bypass the fuse.

Short ARC JavaScript test (use in ARC JavaScript window)

// ARC JavaScript - Basic Sabertooth movement test
print("Starting Sabertooth movement test: Forward 120 for 2s");
Forward(120);          // request forward at speed 120 (0-255)
sleep(2000);           // sleep milliseconds
Stop();
print("Left spin test: Left 120 for 1.5s");
Left(120);
sleep(1500);
Stop();
print("Test complete");

Notes:

  • If Forward(120) does not work for your movement panel, use the Sabertooth skill sliders or SetSpeedLeft()/SetSpeedRight() functions (I can provide those if needed).
  • Always start at low speed.

Thermal and durability tips

  • Under continuous heavy loads (inclines, obstacles), Sabertooth at 32 A/channel may approach thermal limits. Consider:
    • Larger Sabertooth model if you expect sustained near-32 A per channel.
    • Improved ventilation and metal mounting surface for heat sinking.
    • If you later need consistent speeds on slopes, consider Kangaroo + encoders for closed-loop control.

Follow-ups / what I can do next Tell me which of these you want and I’ll prepare it:

  • Provide a wiring diagram (battery fuse Sabertooth motors, EZB ground tie) and include connector and fuse part numbers.
  • Recommend exact wire gauges for your specific cable lengths (tell me approximate distances between battery, Sabertooth, and motors).
  • Provide recommended ANL fuse / auto-reset breaker part numbers and mounting suggestions.
  • Provide an alternate JavaScript snippet to individually control left/right speeds (SetSpeedLeft/SetSpeedRight) if you prefer programmatic steering.
  • If you want, I’ll generate Sabertooth DIP switch values for Simplified Serial 38400 and link the DIP wizard instructions.

Quick question to finalize part numbers and a diagram:

  1. Approximate cable length from battery to Sabertooth and Sabertooth to motors? (short < 30 cm, medium 0.3-1.5 m, long > 1.5 m)
  2. Do you want a single main ANL fuse only, or an additional inline breaker near battery (recommended for safety and serviceability)?
  3. Do you want me to assume Li-ion/LiFePO4 battery chemistry (so I can recommend BMS/mounts), or are these sealed lead acid (SLA)?

If you want, I’ll produce a wiring diagram and a parts list (fuse, fuse holder, AWG, connectors) tailored to your cable lengths and battery chemistry. Which would you like?


I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
PRO
Germany
#10  

cable lenght 25-30cm, inline breaker , Li-ion/LiFePO4, wiring diagram would be nice, no parts list

PRO
Canada
#11   — Edited

Nice - thanks for the details. Below is a clear, safe wiring diagram (text/ASCII) tailored to your short cable runs (25-30 cm), Li-ion / LiFePO4 batteries in series, inline breaker, Sabertooth 2x32A, EZ-B v4 (UART1 on D5/D6), and two MY1016 24 V motors. I also include recommended wire gauges, connection notes, ARC (kebab menu) settings, test procedure, and a short JavaScript test script for ARC.

Wiring diagram (text/ASCII)

  • Cable lengths are short (25-30 cm) so use heavier gauge (recommended 10 AWG) for power.
  • All grounds/common negatives must be tied together.
Battery Pack (24V) with BMS/Balance
 |
 +---> BMS / balance leads (if using Li-ion/LiFePO4)
 |
 +---> Battery Positive (B+) ----- [Inline DC Breaker (auto-reset) ~80 A] -----+-----+
                                                                          |     |
                                                                          |     +--> Sabertooth B+ (power input)
                                                                          |
                                                                          +--> OPTIONAL - main service disconnect (if you prefer)
Battery Negative (B-) -------------------------------------------------------------> Sabertooth B- (power/GND)
                                                                                 |
                                                                                 +--> EZ-B v4 GND (tie to B-)
                                                                                 +--> Chassis Ground

Sabertooth outputs:

- Sabertooth M1+ / M1-  ---> Left Motor (MY1016)
- Sabertooth M2+ / M2-  ---> Right Motor (MY1016)

Control serial connection (signal):

- EZ-B v4 UART1 TX (D5)  ----> Sabertooth S1 (Simplified Serial input)
- (Optional) EZ-B v4 UART1 RX (D6) - not required in Simplified Serial (only TX needed); keep RX unconnected or for other uses.
- Keep signal wire away from high-current motor cables; if you must run near them, use twisted pair and a small ferrite or shield.

Quick ASCII block (condensed)

Battery+ -> BMS -> InlineBreaker(~80A) -> Sabertooth B+
Battery- -------------------------------> Sabertooth B- -> EZ-B GND
Sabertooth M1+,M1- -> Left Motor
Sabertooth M2+,M2- -> Right Motor
EZ-B D5 (UART1 TX) -> Sabertooth S1

Recommended wire gauges & wiring notes

  • Battery -> Sabertooth B+: 10 AWG (25-30 cm run). 10 AWG handles short-term peaks and keeps voltage drop very low.
  • Sabertooth -> Motor outputs: 10 AWG (short runs). Keep them short and tidy.
  • Signal wires (EZ-B D5 to S1): 22-26 AWG shielded/twisted pair; keep separated from motor power lines.
  • Ground tie: ensure a solid ring-terminal connection on B- and Sabertooth B-; no thin jumper wires for main ground.
  • Use high-quality crimped ring terminals and insulated heat-shrink.

Protection & BMS

  • Inline breaker: auto-reset DC breaker rated ~80 A (this protects battery and wiring for your two MY1016 motors - estimated continuous ~21 A each, combined ~42 A).
  • BMS / battery pack must be rated for continuous current >= expected avg and peak discharge capability to handle startup currents. For two motors, aim for BMS/pack capable of >=80 A peak.
  • Keep breaker physically close to the battery.

Sabertooth configuration (DIP & mode)

  • Mode: Simplified Serial (or Packet if you prefer addressing). Simplified Serial is easiest.
  • Baud: 38400 recommended (common and reliable). Use the Dimension Engineering DIP Wizard if you want exact DIP layout for your board revision.
  • If using Kangaroo later, switch DIP switches per Kangaroo installation instructions.

ARC configuration (kebab menu step-by-step)

  1. Project -> Add robot skill -> Movement Panels -> Sabertooth Movement Panel.
  2. In the Sabertooth skill window, click the kebab menu (three lines) Settings.
  3. Communication: select Hardware UART.
  4. UART: choose UART1 (EZ-B v4 mapping: UART1 = D5/D6).
  5. Baud Rate: set to 38400 (match the Sabertooth DIP switches).
  6. Save and close the settings.
  7. Test with the Sabertooth Movement Panel sliders/buttons (start at low speed).

Safe test checklist (first power-up)

  1. Secure robot (wheels off ground or chassis on blocks) so it can’t run away.
  2. Verify all wiring, solid crimps, and that battery BMS is connected.
  3. Insert inline breaker, power the battery.
  4. Power the EZ-B v4 using its 6 V supply (do NOT power EZ-B positive from battery unless using a proper regulator).
  5. In ARC, open the Sabertooth movement panel. Set a very low test speed (e.g., ~10-20% or speed value ~50-80).
  6. Test one motor at a time (use panel if it allows single-side drive) to confirm direction and wiring polarity. Reverse motor wiring if spin is reversed (or invert direction in ARC).
  7. Increase speed gradually; observe Sabertooth temperature and battery voltage. If anything smells hot or behaves oddly, stop immediately.
  8. If the inline breaker trips, reduce peak draw or evaluate wiring/BMS capability.

Why 80 A breaker?

  • Two MY1016 motors estimated continuous combined ~42 A. Start/peak currents can be 25-35 A per motor; combined peaks could be >60-70 A for short bursts. An ~80 A breaker gives headroom for startups while still protecting wiring and battery.

Interference & wiring placement

  • Keep signal (D5) wiring physically separated from motor power wires. Route signal wires on opposite side or shield/twist them.
  • Keep motor leads bundled and short. Use ferrite beads on motor leads or signal wires if you see noise or control issues.

ARC JavaScript test (run in ARC JavaScript window)

  • Start with low speed. Use print() per ARC JavaScript guidance.
print("Sabertooth basic movement test: Forward 100 for 2s");
Forward(100);
sleep(2000);
Stop();
print("Left spin test: Left 100 for 1.5s");
Left(100);
sleep(1500);
Stop();
print("Test complete");

A couple follow-up questions so I can finalize a neat diagram for your exact layout

  1. Do you want the inline breaker placed on the positive battery terminal (close to the battery)? (I assume yes - standard practice.)
  2. Will the EZ-Bv4 be mounted on the same chassis and within 25-30 cm of Sabertooth (so you’ll tie ground with a short jumper)? (I assume yes.)
  3. Do you prefer the breaker to be auto-reset (recommended for field testing) or a manual service disconnect? (You said inline breaker - I’ll assume auto-reset unless you want manual.)

If you want, I’ll:

  • Produce the same wiring diagram but with explicit terminal labels and suggested cable color recommendations for easier assembly.
  • Provide step-by-step kebab-menu screenshots textually (which exact dropdowns to click) if you want a checklist to follow in ARC.

Anything you want changed in the diagram (breaker location, separate battery pack vs. one pack, or want me to include where to mount the Sabertooth for best cooling)?


I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
PRO
Germany
#12  

no thats ok. thanks for sharing all these infos

PRO
Canada
#13  

You’re welcome - glad it helped!

Quick reminders before you test on the chassis

  • Start with wheels off the ground or chassis secured so it can’t run away.
  • Begin at very low speed and increase slowly while watching Sabertooth temperature and battery voltage.
  • Keep EZB ground tied to Sabertooth B (common ground).
  • Use 10 AWG for those short 25-30 cm runs and the ~80 A inline breaker near the battery positive.
  • Use Hardware UART1 (EZB D5 TX Sabertooth S1) and set Sabertooth to Simplified Serial at 38400 baud in the skill’s kebab menu.

Helpful links

If you want next

  • I can produce a labeled PNG/PDF wiring diagram for your exact layout.
  • I can give a small SetSpeedLeft/SetSpeedRight JS example or a stepbystep kebab menu checklist for ARC.
  • If you later need improved speed stability on hills, I can walk you through adding Kangaroo and encoder setup.

Want any of those now, or are you ready to run the first tests?

  • Athena

I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
PRO
Germany
#14  

I have not the sabertooth yet. Will take a while till I'm ready. you can provide wiring layout and a js example

PRO
Canada
#15   — Edited

Great - I’ll keep this focused and practical. Below is a clear wiring layout (text diagram + connection notes) tailored to your 25-30 cm runs, Li-ion / LiFePO4 series batteries, inline breaker, EZB v4 on UART1 (D5/D6), and two MY1016 motors. After the wiring I’ll give the exact ARC kebab-menu steps for the Sabertooth Movement Panel and a couple of JavaScript examples you can paste into ARC (use print() and sleep()).

Wiring layout (text diagram)

  • Cable lengths: all power runs ~25-30 cm (short).
  • Power cable gauge: 10 AWG for battery Sabertooth and Sabertooth motors.
  • Signal cable: 22-26 AWG twisted pair (D5 S1). Keep signal cable away from motor power wires.
  • Inline breaker: autoreset DC breaker near battery positive (~80 A recommended).

ASCII block (condensed)

Battery Pack (2 × 12 V in series, Li-ion/LiFePO4)
  B+ ---[ Inline DC Breaker ~80 A ]---+------------------------------------+
                                      |                                    |
                                      +---> Sabertooth B+ (power input)    |
  B- ----------------------------------+---> Sabertooth B- (GND)             |
                                           |                                |
                                           +--> EZB v4 GND (tie to B-)     |
Sabertooth outputs:                          |                                |
  M1+ / M1-  ---> Left Motor (MY1016)        |                                |
  M2+ / M2-  ---> Right Motor (MY1016)       |                                |
                                           |                                |
EZB v4 (UART1)                            |                                |
  D5 (UART1 TX) ---------------------------> Sabertooth S1 (Simplified Serial Input)
  D6 (UART1 RX) ---------------------------(not required for Simplified Serial)

Notes:

  • Place the inline breaker on the battery positive terminal, as close to the battery as practical.
  • Tie EZB ground to Sabertooth B- with a short solid 10-12 AWG jumper.
  • Keep the D5 S1 signal lead separated from high-current motor cables (route on opposite side of chassis or use twisted/shielded pair).
  • Use quality crimped ring terminals and heatshrink on power connections. Secure the Sabertooth to a metal plate for heat dissipation.

Connection checklist (bullets)

  • Battery pack positive inline breaker Sabertooth B+
  • Battery pack negative Sabertooth B- short jumper EZB v4 GND
  • Sabertooth M1+, M1- Left MY1016 motor
  • Sabertooth M2+, M2- Right MY1016 motor
  • EZB D5 (UART1 TX) Sabertooth S1 (signal input)
  • EZB D6 (UART1 RX) - leave unconnected for Simplified Serial
  • Ensure BMS on battery is rated for the peak/continuous currents (pack capable of 80 A peak recommended)

Sabertooth DIP / mode notes

  • Use Simplified Serial mode for easiest tuning. Recommended baud: 38400.
  • Use Dimension Engineering DIP Wizard for exact switch pattern for your model and desired baud.
  • If you later add a Kangaroo for closed-loop speed/position, follow Kangaroo docs and update DIP switches per Kangaroo instructions.

ARC - Add & configure Sabertooth Movement Panel (kebab menu steps)

  1. Project Add robot skill Movement Panels Sabertooth Movement Panel.
  2. In the Sabertooth skill window click the kebab menu (three lines) Settings.
  3. Communication: select Hardware UART.
  4. UART: choose UART1 (maps to EZB v4 D5/D6).
  5. Baud Rate: set 38400 (match the Sabertooth DIP switches).
  6. Save/Close.
  7. Use the Movement Panel sliders/buttons to test at low speed first.

Safety & testing reminders

  • First tests: lift wheels off the ground or block the chassis so it cannot roll away.
  • Start at a low speed (e.g., speed value 50-100 of 0-255 range) and test each motor independently.
  • Watch Sabertooth temperature and battery voltage during tests.
  • If inline breaker trips repeatedly, stop and investigate wiring/BMS capacity - do not bypass protection.

JavaScript examples for ARC

  • Paste these into ARC’s JavaScript (Script Editor) window. Use print() (per ARC guidance) and sleep(milliseconds).
  1. Basic movement sequence using Movement.forward / Movement.stop
print("Sabertooth basic test: Forward 120 for 2s");
Movement.forward(120); // speed 0-255
sleep(2000);
Movement.stop();
print("Left spin test: Left 120 for 1.5s");
Movement.left(120);
sleep(1500);
Movement.stop();
print("Test complete");
  1. Timed forward with explicit timeout (using Movement.forward's timeout parameter)
print("Timed forward: Movement.forward(100, 3000) -> 3 seconds");
Movement.forward(100, 3000); // speed 100 for 3000 ms
// no need to call stop() because timeout will stop it
sleep(3500); // wait a bit to ensure stop completed
print("Timed forward ended");

Notes about the JavaScript examples

  • If your ARC project expects the simpler global functions Forward(), Left(), Stop(), those often exist as wrappers. The Movement.* calls follow the documented Movement API (Movement.forward([...])) - both patterns are commonly supported. If one set doesn't run, try the other.
  • If you want direct left/right speed control (programmatic differential steering) and your Movement Panel exposes API methods like Movement.setSpeedLeft()/Movement.setSpeedRight(), I can provide exact code for those once you have the Sabertooth skill installed and confirm what functions appear in the ARC script auto-complete. (If you want it now I can provide a generic example, but I prefer to confirm the exact function names in your ARC version.)

Follow-ups I can do when you’re ready

  • Generate a neat labeled PNG wiring diagram (I can produce that when you have the Sabertooth model number).
  • Provide the exact DIP switch pattern for your specific Sabertooth model and 38400 baud (using Dimension Engineering's DIP wizard).
  • Provide a small JS example using direct left/right speed calls once the movement skill is added (I’ll check the exact API names in your ARC version).
  • Walk through adding Kangaroo and encoders later if you want closed-loop speed/position control.

Anything you want changed in the wiring layout or the JS examples? If you like, tell me the exact Sabertooth model you’ll purchase (e.g., 2x32) and I’ll produce the DIP switch pattern and a labeled PNG wiring diagram ready for printing.


I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
PRO
Germany
#16  

@athena something came to my mind last night about another concept. By using a wheelchair as chassis, instead of ripping out the wheelchair controller and installing a Sabertooth, why not using 2 servos physically move the existing joystick - one for forward/backward, one for left/right , a servo-driven joystick actuation. i can see the advantages like : No rewiring No risk of blowing the wheelchair controller All safety: braking, ramping, soft start, overload protection No installation of Sabertooth + wiring + fuses + safety switches

Can i still use all the skills ? Auto Position, movement panel, Scripts, Joystick skill, Javascript,Camera tracking drive the chair,Voice commands drive the chair For my understanding, the disadvantages (the ones that matter) Mechanical construction must be solid ,the play (slack) in the mechanical system isn’t very precise. tell me if it is an interesting concept or not