The video puts FeedForward and D_MIN back into the historical context of the Betaflight controller to explain: When the D item was changed to mainly differentiate the gyro, it focused more on damping and no longer helped the body start up in the early stages of the stroke like the old error derivative. FeedForward drives the response in advance based on the setpoint's rate of change, while D_MIN allows lower D to be used in the stationary phase and then increased when damping is needed. Both adjust "response" and "dynamic damping" and cannot replace mechanical noise reduction, appropriate basic PD, or current version documentation.
Why you need to separate launch response from damping
The video first draws the setpoint and gyro: the joystick command changes first, and the aircraft catches up later due to inertia and control delays. In the early days of Betaflight, the D term differentiated the error, so rapid changes in setpoint would also enter the D output, and there might be a component to help the body start in the early stages of the stroke. The video uses around 3.5 as the historical boundary, indicating that D later focused more on providing reverse damping for gyro changes.
This division of labor is clearer, but it also leaves an experience problem: when the command first changes and the gyro has not yet moved, the pure gyro derivative D will not actively push the aircraft to the new command, and will even provide resistance immediately after the body starts to move. FeedForward and D_MIN are used to manage "how to enter the action faster" and "how much D is needed when" respectively. Current implementation details may have changed, and the historical illustration should be considered a conceptual model.
FeedForward predicts required push from joystick commands
FeedForward focuses on the change rate of the setpoint: the faster the joystick command changes, the greater the feedforward output; when the command remains unchanged, the feedforward approaches zero. It does not wait for the gyro to fall behind before correcting the error. Instead, it increases control in advance based on the commands the pilot has already issued, thus shortening the subjective delay between hitting the stick and the body's response.
Higher FeedForward usually brings more direct, racing-friendly cornering response, but can also amplify stick noise, fast small movements, or overly aggressive Rates into an abrupt feel. When pursuing smooth free flight, a milder feedforward may be required. When adjusting, you should keep the same Rates and actions, and use a black box to compare setpoint, gyro, FeedForward, overshoot, and stability after stopping, rather than just relying on numerical values.
D_MIN Let D be raised only when needed
The intuitive model of the video is: maintain a low D when the movement is stable or small, reducing D's obstruction to the start of the movement and continuous noise amplification; when the body or command changes significantly, increase D to a level that can suppress overshoot, propwash, and external disturbances. This eliminates the need to bear the heat and noise costs of maximum D all the time for day-to-day response.
D_MIN does not arbitrarily reduce D to the minimum. A base D that's too low will weaken small-disturbance damping, and a poorly set dynamic boost may not reach the target in time when needed. The video suggests linking the dynamic high end to the D level in the verified PD balance, and then separately finding the appropriate low end; the specific fields, triggering methods and ranges must be confirmed according to the current Betaflight version.
Use target flight style instead of preset value adjustment
Racing pays more attention to entering the trajectory immediately after hitting the pole. You can gradually increase FeedForward while keeping noise and overshoot under control, and allow Dynamic D to provide sufficient braking during strong movements. Smooth freestyle may reduce the feedforward to avoid sudden body acceleration for every small command; however, smoothing cannot be achieved by reducing the overall D, otherwise the ability to resist propwash and wind disturbance will also be reduced.
First adjust the rack mechanical status, filtering and basic P/D to a reliable range, and then only change FeedForward or D_MIN. Using the same step, kick, and propwash motions each round, check the gyro for tracking lag, overshoot, rebound, motor temperature, and D-term noise. Options and values recorded in 2021 are not preset answers for the current version.
Operation steps
- Understand the historical changes of item D
First distinguish between the old error derivative and D, which is mainly based on gyro derivative, to avoid directly applying the startup promotion effect in the early tutorials to the current version.
- Find the response gap in the early stage of striking
In the section where the setpoint has changed but the gyro has not caught up yet, observe P, D and the actual response to confirm that the problem is a slow start-up rather than a mechanical or filter failure.
- Correspond FeedForward to setpoint change rate
Check the feedforward peak and the time when the gyro starts to follow on fast joystick commands to avoid amplifying tiny inputs with too high a feedforward.
- Understanding the dynamic damping target of D_MIN
Reduce the D burden in the stationary stage, and restore sufficient damping during strong movements or disturbances; both the basic value and the high end require black box verification.
- Flying in small steps FeedForward
Racing can be more direct and smooth, freestyle can be gentler; only make small changes each time and retest overshoot, stopping and feel.
- Recheck D noise and motor temperature
Check D-term noise, propwash, rebound and motor heat after completing dynamic D adjustment, any abnormalities should be rolled back.
FAQ
What is the difference between FeedForward and P?
FeedForward promotes response in advance based on changes in setpoint, and P corrects based on the errors that have occurred between setpoint and gyro; the two can collaborate, but from different sources.
Will increasing FeedForward make the plane faster?
It usually makes command response more direct, but too high may amplify fine stick inputs and cause abruptness or overshoot; should be judged in conjunction with Rates, Black Box, and Flight Style.
Is D_MIN lower and cooler?
Lower base D may reduce sustained noise and heat, but also weakens small perturbation damping. Dynamic high end, trigger and base values must all be verified together.
Why can’t I directly copy the parameters in the video?
Video based on 2021 Betaflight context; current algorithms, fields, defaults, and your rack, filtering, Rates, and motors may all be different.
Full timeline transcript
Transcripts are arranged according to video time, making it easy to quickly locate the explanation content. Transcript language: Simplified Chinese.
Hello everyone, I am Quarank. Long time no see. We talked about this PID in the last issue. Today we will take a look at two very important things that we have not mentioned yet. They are the big wife and little wife of D, which are FeedForward and this D life. Why do I say that this FeedForward and D life are the big wives and little wives of D in this PID. There is actually a reason. Let’s take a look. Let’s take a look at the trend of this PID first.
Suppose our green line is the command of our joystick, let us now let it start to rotate at a certain angular speed, right? But for the aircraft, we know that its response is delayed, right? So it basically looks like this. Normally it should look like this, and then it finally caught up with our joystick here. The big bear finally caught up with the mirror, right? This is GY.
The outside of the plan is the gyroscope. The green line is the setpoint SP. We talked about the earliest 3.5 in Betaflight in previous episodes.
Before it was the error as a fraction of the D value.
So let’s see what the impact of this is? You see, let’s first draw what the approximate trend of the D value was before, and then look at what the trend of the D value is now after using gyro as a score. Let’s first look at the previous one. Let’s use this blue line to see if the D value has been increasing before, right? No, no, no D The value is increasing, and the error has been increasing. As the error increases, we are looking at the trend of error increase. At first, the error increased bit by bit, right? Then start here.
[Speech cannot be reliably recognized here]
This place starts to decrease, decrease, decrease. When it is about in the middle, you can see that it is almost parallel. Then the error has not changed, right? The error has not changed. So what is our differential? What is the slope? The slope is 0, right? Then when it comes to this side, it is almost the map here. But now the error starts to decrease, so our differential also becomes a sign, right? So this place? This is the current ground. Now the ground is then
[Speech cannot be reliably recognized here]
[Speech cannot be reliably recognized here]
You see, our blue line is the change of the D value before 3.5. My yellow line is the change of the D value after 3.5. What is the difference between them? They are very different, right? Before 3.5, when the joystick fluctuation is started, the D value actually helps our aircraft to move, right? Because it is the same direction as the PID.
[Speech cannot be reliably recognized here]
[Speech cannot be reliably recognized here]
Let's use another color instead of red to replace V4. Let's directly see that the slope of the green line is zero at the beginning and then increases, increases, increases, increases, increases to about the maximum here, right? Then starts the area to be flat, the area is flat, and it becomes smaller, right? It becomes smaller, smaller, smaller, smaller, smaller, smaller.
Then this is our FeedForward line. You see, although it does not completely replace the blue line, it covers this line very well and fills the gap of the previous ground. Let's take a look at D_MIN to see how it reduces the obstruction of this section of ground. D_MIN means that when the aircraft is not flying in special movements and is not particularly large, we maintain a relatively low D value, and then when the aircraft makes relatively large movements, we increase the D value to it.
Why do we usually reduce the low value? You see, when the aircraft movement is not too strong in this section, right, we can use a smaller low weight to ensure that this section will not rise too high, right? Then when the aircraft starts to make big movements in this section, we increase the D value. If the D value is increased, will this section still maintain the height of this section? But for the line we draw accordingly, we can use a
Greenish yellow appears, that is, smaller, smaller, smaller, smaller, smaller, smaller, smaller, and then it suddenly gets bigger in this section because at that time we increased the weight of the ground, right? Then the approximate line it comes out is like this. Through this D_MIN, we can very well reduce the obstruction caused by this section of the ground to the movement of the aircraft. Because when we first let the aircraft rotate, we want it to rotate quickly, right, instead of letting the ground participate prematurely to hinder the rotation.
Okay, then we understand this diagram. We understand the functions of FeedForward and D_MIN at the same time. It is very convenient to adjust. If you want the plane to enter your movement faster, for example, if you want to do racing, right? If you want the plane to fly faster, you want the plane to go faster and start moving faster, right? Then you can increase the FeedForward and then turn on D_MIN. Then the value of D_MIN, which is low, becomes smaller, and then what about the value of DMAX? You can adjust the usual D value of the PD balance you found.
This allows the aircraft to get into the motion you want it to do more quickly without overshooting too much when you stop the motion. So why did Betaflight do this? In fact, the reason is very simple, because not all pilots want to be first in this section.
Not all flying tongues want this ground to help us move, because for example, if you want to do this kind of smoother freestyle, right, you don't actually want this ground to push the plane into motion prematurely.
You can adjust the pitch lower after separation, but before separation, if you don't want the lower to push forward prematurely, you need to lower the pitch. But we know that after the level is lowered, your resistance to foot washing and external wind interference becomes weaker. After that, after the portions are divided, we can adjust the front separately.
To decide how much I want it to push me when I hit this feeling, this enters the movement, this intensity is good. That’s it for today’s sharing. If you like the content of this issue, please feel free to press three links. I am Quarank, and we will see you in the next issue.



