Update 9/7/2016 – Updated to clarify the use of “Expert Mode” when using Betaflight Configurator.
In this article I’m going to share with you the method I use to set-up my initial PID values. The idea with an initial tune is to get a miniquad that is flying well enough to be “fun” to fly FPV so you can go out and maiden it while finishing off the rest of your tune. The operating concept I use for this tune is that the ‘P’ term is the most important value to tweak to get a “flyable” quad. The ‘I’ term defaults are generally acceptable for a first-time tune, and the ‘D’ term is more about stick feel than practicality.
The thing I like about this tuning method is that it is super simple once you get used to it. You can get a very good initial tune in 10-20 minutes using a very pragmatic procedure. I will never tell you to “keep adjusting this number until the quad ‘feels’ right” in this article. The adjustments made will only be in response to observable changes in your quads behavior as you go through the procedure. This article assumes you are pretty comfortable flying your quad in 3rd person and that you are flying in acro mode. The tune you will get may work fine in level mode but in my experience it is generally too “tight”. It will work fine on any flight controller software, but as always I suggest you move to Betaflight as it is the premier flight controller software out there right now if you care at all about performance.
This method is meant to be used just after your miniquad has been built or after you install new components on it that would invalidate your old PIDs. We recommend you check out our Cleanflight set-up guide / checklist to make sure everything else is in order with your flight controller before attempting any kind of flight.
Transmitter Initial Set-up
The first thing you’ll need to do is set up a 3-position switch on your RC transmitter to control RC channel 6. I will go over how to do this on the Taranis, since that is the most popular transmitter being used in the hobby today. Consult your TX manual if you are using a different TX.
Enter the menu on your Taranis and go to the “Mixer” page:
Scroll down to the channel you want to use for the in flight adjustment. I recommend using channel 6. Press and hold enter on the channel and press enter on “Edit”. Fill out the following screen as shown:
You can change the source to whichever switch you want to use. In the above picture, I am using “SB”, which means “Switch B”. The switches on the Taranis are all labeled so pick whichever one you want. Make sure it has 3 positions, though.
Now, test out your mix by exiting out of the menu, and pressing “Page” a few times from the main screen until you see the channel monitor window:
Flip the switch up and down ad see what channel 6 is doing. If it goes low when you flip the switch down and high when you flip it up, you’re good to go. If it goes high when you flip the switch down, you will need to reverse your mix. Don’t fret! This is easily handled in the Mixer menu you just left:
Invert the weight value from “100” to “-100” to reverse how the switch works. Why FrSky / OpenTX doesn’t have a simple “Reverse” toggle is beyond me, but this still works fine.
Initial Set-up in Cleanflight
This tuning method uses Cleanflight’s in-flight adjustments feature. This feature, which is officially documented here, allows you to configure a switch on your transmitter which will allow you to increase or decrease many of your flight controller settings while in flight. In this case, we will be using it to adjust our P gain while flying. The in flight adjustment tab has a lot of really cool features, and I highly recommend you take the time to read the documentation if you are interested.
In Flight Adjustments Configuration
Hook up your quad to your computer. If your RC RX can be powered by USB power (which most should), you can leave the flight battery unplugged. Now, open up Cleanflight Configurator and connect to your quad. Go to the receiver tab and verify that your RX is working and that the switch you configured earlier on channel 6 is working correctly. It should show up as “AUX2”.
If you are using Betaflight Configurator, the “Adjustments Tab” is hidden when not in “Expert Mode”. We suggest you toggle this switch on and just leave it on:
Now, go to the “Adjustments” tab. We will start by tuning the pitch P value. Set-up your top two adjustment areas so that they look like this:
Now, flip the 3-position switch on your RC TX. When it is in the lowest position, the little green nub (circled in blue) on both of the sliders should be in the left area of the slider and should end up between the two sliders in the lower adjustment area:
If the green nub goes to the right side of the line, you will need to reverse your channel 6 on your transmitter. This process is outlined above. You can also do this in Cleanflight configurator if you are clever enough. 🙂
Next, flip your switch to the middle position. The green nub should appear near the center of the sliders and should not be in between either of the sliders in any of the adjustment areas. This is your “dead position”, where nothing is happening:
Finally, flip your switch to the top position. The green nub should now appear near the right side of the slider bar and should appear between the sliders in the upper adjustment area:
Now, click “save” to save your changes. What you’ve done is set up your 3-position switch so that when it is in the uppermost position, the pitch P value will steadily increase. When it is in the lowest position, the pitch P value will steadily decrease. Finally, when it is neutral, nothing will happen. Let’s check that this is working. Go to the PID Tuning tab and note your pitch P value on a piece of paper. Now, flip your switch to the lowest position and repeatedly click “Refresh” at the bottom of the Configurator window. You should see that your Pitch P value steadily decreasing. Nice! Flip the switch back to neutral and notice how the P value stays where it was at. Go ahead and reset the P value back to where it was before now.
Initial PID Configuration
I’m going to assume you are using Betaflight or Cleanflight, so that the default PID values are “reasonable” (e.g. – your quad at least flies with them). Write them all down for reference. Now, half all of your pitch and roll P, I and D values. You are halving your I and D values so that they don’t interfere with the P gain as much. Some people set these to zero but I find a low value seems to do just as good. You are halving the P value just in case it is too high to start with. Do not touch your yaw values. Click “Save” and lets go fly!
The flight test is actually very simple. Simply hover your quad in front of you, and flip your 3-position adjustment switch up. Now slowly rock your quad forwards and aft with the pitch stick and wait. The quad will slowly get more and more “jittery” as the P value is increased by the in-flight adjustment bound to your stick. You are waiting for the moment when the quad starts to wobble noticeably without stopping. This can take up to a minute, depending on how low your initial settings are and how aggressive your set-up is. As soon as this happens, flip your adjustment switch back to the middle and land and disarm immediately. Flying for an extended amount of time like this can overheat your motors and ESCs. Do not unplug the battery.
What you have just determined is your quads maximum pitch P value. It is now stored in your quad, but it will be lost if you unplug the battery because in flight adjustments do not save through power cycles. You must attach your quad to your computer without powering it off to see what the maximum pitch P value is. To protect yourself from the props, through a blanket or pillow over the quad or lay it upside down so that if the props do decide to spin, at least it won’t take off into your face. Alternatively, you can plug your quad into your computer then immediately unplug the flight battery since the computer’s USB power will keep the flight controller alive. Connect to the quad via Cleanflight Configurator and go to the PID tab. Note the P value, which should be much, much higher than it started, and reset it back to half the default you recorded earlier.
Now it’s time to do the roll axis. Reset the P value to half of it’s default. Next, go back into the adjustments tab and change them so that you are now adjusting the roll P values:
Hit save, and test that it is working, per the instructions above. The switch should now control the value of the roll P gain. Unplug the quad from your computer and go back outside. Repeat the above procedure to get the maximum roll P value.
Believe it or not, you now have the two most important numbers for your initial tune for your quadcopter. Plug the quadcopter into the computer if it is not already plugged in. Go to the PID tab and enter half of the maximum pitch P value into the pitch P text field. Now enter half of the maximum roll P value into the roll P text field. Go ahead and double your pitch and roll I and D values so that they are back to defaults. That’s it! Your quad should fly pretty damned well with these settings.
One thing you want to make sure to do is to disable the adjustments. If you don’t do this, you risk accidentally going to the field and leaving your TX adjustment switch up or down, causing the P values to rise or plummet until you crash. You can turn off adjustments by going to the adjustments tab and turning off the enabler switches:
I’ve put together a video guide for this article as part of our YouTube “Testbench” series. Check it out:
Continuing your tune
Our PID tuning tips and tricks article is still to come. For now, there are ton of other references you can use in the hobby. Here are a our favorites:
A fantastic article going in-depth on what exactly PIDs are and the concepts behind tuning them: http://iflyquad.com/2016/01/05/depth-pid-tuning-guide/
Joshua Bardwell’s YouTube channel shows you how to use blackbox logs to get the perfect tune: https://www.youtube.com/user/loraan