Autotune not finishing or not saving parameters on large octo

Hi. I’ve been attempting to autotune a large octo but not having any luck.
Even after setting the autotune axis bitmask to only tune one axis, it seems the autotune doesn’t finish after a 10 minute flight, and no PIDs are saved.
Mission Planner informs me that I have entered Autotune, but never gives me a ‘Success’ message. I am landing when the battery failsafe triggers and disarming with the ch 7 autotune switch ON.
The copter itself is very stiff, with carbon fibre arms. I have installed an anti-vibration mount under the Pixhawk, and have acceptable vibration levels on the FPU. Everything is screwed down tight!
I have made several attempts to try to ‘help’ the autotune converge on a solution by investigating the dataflash logs after each flight, and setting the PIDs to the last values the autotune reached on the previous attempt (as found under ATUN: RP/ RD/ SP). After a flight in which the gains seemed to settle but not save, I input the values settled on, change batteries and start again, but on the next flight the values seem to diverge again during autotune, and again nothing is saved.
My question is: Is this a valid approach? If I repeat this sequence enough will the Autotune converge on a solution?
Or is there something I am missing to get the autotune to complete?
Is it possible that the low battery warning and failsafe land behaviour is messing with the autotune save?
Any help would be greatly appreciated.

My setup:
850 mm wingspan carbon fibre frame from quadframe:
8 x T-motor MN3110 with 12" x 4.5 props (700 kv)
Pixhawk runnning APM Copter 3.3.3
4s 10000 mAh batt
AirT 20A ESCs with SimonK
AUW: 2670 g

My suggestion would be to do each axis on its own. So do roll first then pitch and then yaw. That way if it takes 10 minutes to do the roll axis it can save the pids and then you use a second battery for the pitch and another battery for the yaw.

Thanks for your reply Tim_D!
Yes I’ve already tried that. The autotune does not even complete one axis on a charge. I was hoping that if I manually input the PIDs reached after one charge, change battery and go again the tune would converge on a solution, but I’m not sure how the algorithm works.

Could anyone tell me how many steps are in the autotune procedure for a single axis? I keep getting to step 4 but no further . .

I am suspecting my auto tune is never finishing due to limits on max gains. I manually tuned the copter and found the max P-gain (0.3) to be too low, I need around 0.34-0.35 to get locked in. It would make sense it never finishes if this is the case.

Now, if I increase the max gain limits on the PID, will the autotune limits also be increased, or will I also need to change something in control_autotune.cpp as well? Also, not too sure how to increase the max gain, but wondering if the limits for PID gains (through the GUI) are the same as limits on the autotune.


I am trying to tune the PID of my large octo as well. I use the ch6 PID tune method but have found that after i have the new readings it also does not want to accepts it. Have you had any success thus far?