Dual T100/Afro ESC Unequal Throttle Response

I’m running two T100’s w/Afro ESC’s which receive input via a Pixhawk. The two thrusters steer the boat via a skid steer configuration.

When increasing the throttle (steering straight) one thruster comes on prior to the other and while the boat is under way it drifts to one side/direction as the thruster which came on first must be turning faster than the other. When steering manually it’s necessary to continually adjust the steering/direction to maintain a straight heading.

When reversing the motors, the other motor is the the first to come on in reverse. (This is less of a problem as reverse is not critical) but I note this as it suggests that the two ESC’s/thrusters have dissimilar dead spots.

I confirmed the input PWM from the Pixhawk is the same for both channels when running straight ahead.

How can I tune the thrusters/ESC to have an equal response to the throttle input?

How can I test to verify that each motor recieves equal voltage/amps as input?

Thanks for your help.

Are you using ArduBoat on the Pixhawk? Can you provide a log file demonstrating this behavior? I think there are a number of possible reasons you could be experiencing these issues and we need to narrow it down. I think the boat should compensate and adjust the outputs in order to maintain a relatively constant heading.

I don’t know that this will be possible. The forward/reverse firmware does not have a calibration procedure. What I think needs to be ‘tuned’ is the output signal on the Pixhawk side, so that it can adjust the output signal in order to achieve an equal amount of thrust on both sides.

I’m not sure if this is something you would actually want. Slight differences in wear/ turbulence/ placement/ orientation of the thrusters can cause them to produce unequal forces on the boat at equal power draw. Additionally, you would need two current sensors and change the software on the Pixhawk to achieve this. As above, you need to adjust the output signal according to the result of the output (feedback).

Maybe @rjehangir can provide some insight.


Hi @darren-smith-2,

The Afro ESCs should have nearly identical response. The firmware is identical on each one and the deadband should be accurate to +/- 1µs or so. The thrusters should also have equal response but slight differences in starting friction can cause them to start at slightly different points. That shouldn’t affect thrust much once they are running. I have a few ideas of potential issues.

  1. Is the cable length to each thruster equal? If not, the voltage drop through the wires will cause the thruster with the longer wires to be weaker.

  2. Have you tried trimming the outputs in the Pixhawk parameters? I’m not very familiar with ArduRover, but I think you can do this with the RCx_TRIM parameters.

  3. I assume you’re using an RC transmitter for manual control. Have you tried adjusting the trim directly on the transmitter?

Let me know if any of these might help.

I had a similar issue when I was building out my USV and as it turns out, trimming the PWM input is just part of the set-up process.

The two parameters I experimented with were RCx_TRIM and RCx_DZ.

You will notice that I increased my Dead Zone (DZ) to 100 because I wanted a larger range when the thrusters would be stopped. I think the default is 20.

You will also notice my RC1_TRIM is 1486 and RC2_TRIM is 1496. These were the values I found that lined up my thrusters when I gave the first ahead or reverse command. To trim them, start both values off at 1500 (neutral) and then slowly walk your throttle up until the first thruster comes on. Then adjust your TRIM values respectively. It’s going to take some time to get them evened out.

1 Like