Flight Controller PID Tuning#

What you will need

  • A fully operational DD24

What you will get

  • A DD24 that flies stably and responsively in manual mode

When you start up a consumer drone for the first time, you would expect it to take off and fly more or less stably, rather than shaking or going out of control. To get the Duckiedrone to fly, we will have to understand the magic happening in the flight controller, and configure it appropriately.

In this section, you will learn about the parameters on the flight controller that enable this stability, and you will have the opportunity to adjust them.

Expected Behavior with Proper PID Settings#

The Flight Controller (FC) runs high-frequency control loops to stabilize the drone. It utilizes sensors (e.g., IMU and Gyroscope) to estimate the drone’s state. In Angle Mode, the following behavior is expected:

  • Roll/Pitch Axis:

    • When commands are issued, the FC attempts to achieve the commanded roll/pitch as quickly as possible while minimizing fluctuations.

    • When no commands are given, the drone will return to a neutral roll and pitch.

  • Yaw Axis:

    • When commands are issued, the FC maintains the desired yaw rate.

    • When no commands are given, the drone should remain stable without unintended rotation.

PID Control in Drones and Tuning#

A proportional–integral–derivative (PID) controller is used in the FC to achieve this stability. Below are useful references explaining the influence of P, I, and D terms in drone flight and how they should be tuned:

Adjusting PID Values in Betaflight#

How to Update PID Settings#

Screenshot of Betaflight PID tuning interface with recommended starter values

Fig. 54 GUI tab in Betaflight to set the PID values (with recommended starter values).#

To update the PID values in Betaflight:

  1. Connect the FC to the base station.

  2. Navigate to the “PID Tuning” tab.

  3. Adjust the values and click “Save” in the bottom-right corner.

Your PID Tuning Process#

Note

When adjusting PID settings, only modify P, I, and D for the Roll, Pitch, and Yaw axes. Do not change other values unless you are sure of their impact.

To refine the manual flight performance of your Duckiedrone, follow this loop:

  1. Fly the drone manually and observe any stability issues.

  2. Connect the FC to Betaflight.

  3. Adjust the PID values accordingly.

Repeat the process until the drone exhibits smooth, stable, and responsive behavior.


By following this guide, you will optimize your Duckiedrone’s flight stability and responsiveness, making it easier to control during manual operation.