Just calibrate manually… flash the ESC and set the PWM range, then copy settings to ArduPilot. For example, set the ESC range to 1000-2000 when flashing the ESC. Auto-calibration is not necessary on smaller craft with modern ESCs, the same PWM value will be respected as set in the firmware, so why even bother to waste time on auto calibration which could end-up with completely different values for each ESC based on how much interference was around at the the time of calibration anyway.
Basically the problem is we cannot send the same PWM signal to the ESC every time because it’s PWM and susceptible to interference from the motor signals/power which sits right alongside it. This is solved by D-Shot (and CAN I suppose) which send digital signals. You will never get exactly the same PWM signal arriving at the ESC every time, and things like OneShot just help to get that signal there more often so that the errors are less visible. Forget auto calibration and try a digital ESC next time.
This video helps explain the reasons behind this statement…
A lot of people were furiously discussing why OneShot (let alone MultiShot) “should” have any benefit at all, even to the extent of trying to block it’s implementation in ArduPilot. With the above taken into account it all makes sense. And the guys arguing were wrong, because they assumed the PWM value was always arriving intact (the real reason OneShot “seemed better” without any obvious explanation):
p.s. if one ESC is damaged you might have vibrations, fail or burst into flames anyway regardless of which method was right or wrong. They are relatively cheap, throw it away and buy a new one if you suspect it is bad.
p.p.s. the reason to set fixed values like 1000-2000 is because modern transmitters have software and calibration methods built-in. So we don’t need to “calibrate” end-end because the inaccuracy of the physical gimbals is already taken into account by the controller firmware and the software on it will send the relative PWM value accordingly. If you have an old transmitter without calibration, then okay but still I would prefer to test the lower and upper values in the Mission Planner RC calibration screen then reset the firmware settings accordingly (still manually calibrate the ESCs with the values seen at the receiver/drone side on-screen).
Thank you for the detailed info. I could not calibrate the ESC manually (but could with the three others). And since I dont have an ESC<=>USB device (yet) I have concluded it is broken and just ordered a new one.