Arducopter PID Tuning Guide.

Taken from

Real life conspiring against me, so in brief..


Tuning method one.

1. Set all stab params to ZERO

2. Set all rate params to ZERO

3. Get your gloves and eye protection etc on. Hold copter in hand - go to hover throttle and above

4. Increase rate_P by 0.1 increments, dipping one leg down to 90 degrees and back again. As rate_p increases you will feel increased resistance to your movement.

5. Keep going till the arm you are dipping down starts to bounce (oscillate) as it tries to fight against you. Then back off 0.1 or 0.2. Also try full throttle with copter leant right over (90degrees), this often shows up oscillations that aren't apparent whilst the airframe is horizontal or at less than full beans.

6. Add in rate_d in 0.001 increments. As you hit max level for this you will see the quad sort of twitch, every second or so it will move very slightly and return quickly. When you see this behaviour, don't reduce it yet, but instead add in a bit of rate_I (ensuring you don't go above 50% of your rate_P value) Does this rate_I get rid of the twitches? if so, great try to add a bit more rate_P, again until it starts to oscillate. If it doesn't you will have to back off on rate_D - the level of rate_D seems to depends alot on vibrations. Again tip it right over on full throttle, make sure its all still ok.

NOTE: Possibly a safer first attempt at this would be not to use any rate_I at all, just increase D till you get the twitches and back off a bit then do rate_P.

7. Put in some fairly low values for stab, eg p=3.0, I=0, d=0.001, do another hand test, does it look like it will fly?

8. Set channel 6 to tune stab_P, take off and up stab_p to your liking - (higher values equal better response until you've gone too far then you get the overcompensation oscillations) lower values will give a softer flight, but less locked in.

I've never had any benefit, so far, with stab_I, always ended up at ZERO with this

Stab-d i do last - just small increments (0.001) until there seems to be a detrimental effect on stability


Tuning method 2 - i call this the IGOR method :)

Same as above start with all rate and stab params at ZERO, but then firstly add in rate_D till you see the twitches, use rate_I to try and get rid of them if possible (at the level of rate_d that just causes the twitches to start) Then do your rate_P (remembering that rate_I should always be less than 50% of rate_P - Ive seen erratic behaviour if I is too high, you may have to back both I and D off if you find your I value is more than 50% of P).

Then do your stab as described above. If you do both methods you should end up with fairly similar values, if they differ plumb for somewhere in the middle. Always test every setting you arrive at with full throttle, leant right over.

Then fine tune in flight using channel 6 to mess with firstly rate_P and then stab_P.


Don't forget the setting i posted are for my small frame, may well be a bit out for yours. I'll try on the 3dr when it arrives. Let me know if this method works for you, if so, I'll be happier releasing part one of the guide, working in isolation here so some confirmation would be nice :)