The Tuning
Manual.

A field guide to PID, filter, and feed‑forward tuning for Rotorflight helicopters — compiled from four independent tuning sessions and cross‑checked against the official parameter documentation.

Compiled from productions by: Bert Kammerer
Jiawen Bao
Ben Britton
Alex Dean
Jonas Wackershauser
+ a live log‑analysis session

00

The Goal - Simplified

PID tuning is simply "gyro tuning". You are tuning the behavior of the helicopter by adjusting how the gyro "starts its movement" in response to when you first input your command and "stops it's movement" when you are done with your command. This is done by adjusting the P-term, I-term and the D-term.

In this graphic below, imagine deflecting the aileron stick quickly to the right. This is represented by the blue line. Now observe the response when the parameters are too low (red line) vs if they are just right (green line) - This is the goal and what we are trying to achieve.

GYRO.ROLL (EXAMPLE) — HELICOPTER RESPONSE OF SINGLE HARD AILERON DEFLECTIONSETPOINT → BLUE
UNTUNED (ie; P-Term & D-Term too low) lazy, delayed response TUNE APPLIED (Increased P-term follows setpoint) (Increased D-term has less "bounce") crisp stop, no wobble
01

Filters come first

Every source agrees on the starting point, independently: don't touch a PID gain until the gyro signal is clean. A noisy signal makes every downstream judgment — "is this a P oscillation or a D oscillation?" — unreliable.

Rule zero. Verify your gyro filter settings before adjusting any PID loop. Noise on the signal will make PID tuning effectively impossible to interpret — you'll be chasing a symptom that's actually a filtering problem.

In practice, filter tuning is a balance, not a maximization. Being overly aggressive with dynamic filters and low‑pass cutoffs costs you performance — the control loop starts reacting to a delayed, smeared version of reality. But under‑filtering leaves mechanical and electrical noise in the loop that gets misread as real motion.

FROM THE LOGSA worked example

In one real tuning pass, the roll axis's second‑harmonic notch was pulled down from 3.5 to 2.5, and a fourth‑harmonic notch was set to 5, to chase out a specific noise peak. Pitch and yaw filtering were increased — doubled — as a conservative move, since the airframe under test was a third‑party model without an established baseline. The lesson generalizes: when you don't have prior data on a frame, filter conservatively first, then relax filters later once you trust the PID behavior you're seeing.

02

The tuning order matters

All four sources converge on roughly the same sequence, and it isn't arbitrary — each parameter's tuning method assumes the ones before it are already reasonably close.

1

Filters — clean signal, or nothing below this line is trustworthy.

2

D‑Gain — the damper. Everything else is tuned relative to how the aircraft damps, so this comes first.

3

Feed Forward — makes the aircraft fly on stick input rather than leaning on the correction loop.

4

P‑Gain — reaction speed, tuned against the D you already set.

5

I‑Gain, HSI, Boost, I‑Term Relax — the refinement layer that shapes how the aircraft holds and recovers.

6

Tail rotor loop — tuned with the same D → FF/P → I logic, independently of the main rotor.

Pitch before roll. Pitch is the harder axis to get right, largely due to its higher moment of inertia, and most of what you learn tuning it transfers to roll. Roll is comparatively forgiving — many different gain combinations "work" on roll — so it's tuned last, using pitch as the template.
03

D‑Gain — the damper

Think suspension, not electronics: P is the spring pushing the aircraft toward the setpoint, D is the damper controlling how it settles once it gets there.

DWorking ranges

Roll
0–50
Pitch
45–60

Pitch D is highly critical for stopping oscillation; roll D is comparatively forgiving.

METHODFinding it in flight

Climb out while holding a right pirouette. Increase D until you feel the aircraft start to shake, then back off slightly from that point. This is deliberately the first parameter tuned — every later gain is judged against this damping behavior.

D dampens the oscillations that P causes. If you see fast oscillation in the 5–8 Hz range, that's a P/D interaction, not an I problem — raise D or lower P before you touch the I‑term.
04

Feed Forward

Feed forward sends stick input straight to the swashplate, bypassing the correction loop rather than waiting for an error to build and get corrected. It's what makes an aircraft feel like it flies on the stick instead of being dragged there by the PID loop.

METHODThe zero‑I‑term test

Fly continuous flips and rolls, then look at the I‑term trace in your blackbox log. Increase feed forward until that I‑term trace sits at or near zero through the maneuver — if the PID loop barely has to contribute, feed forward is doing its job.

SymptomRead
Undershoot on stick inputFF too low
No clean sign of "too high"rarely a problem — err generous
Match roll and pitch FF values as a starting point, then split them only if the aircraft tells you it needs it. It's a good default, not a rule.
05

P‑Gain — the spring

P is the instant, proportional reaction to stick error — the spring that pushes the helicopter into the turn you asked for.

PWorking ranges

Roll
30–70
Pitch
90–150

Pitch needs more P to overcome its greater moment of inertia; roll is less critical.

METHODReading the feel

Overreacting / twitchy → decrease P.
Sluggish → this is often actually too much D relative to P, so raise P to rebalance rather than assuming the aircraft is under‑powered.

06

I‑Gain and the Piro‑Pogo test

I‑term is the loop's memory — it looks at accumulated error and angle over time to hold orientation, which is what keeps a hover from slowly drifting off‑attitude.

IPiro‑Pogo diagnostic

Fly a piro‑pogo (a pirouetting vertical bounce). Increase I‑gain until the aircraft tracks the stick input cleanly through the maneuver. If you see a slow wobble creep in, I‑gain is too high — back it off.

Tell I‑oscillation apart from P/D oscillation by speed. I‑term wobble is slow — roughly 0.5–1 Hz, a lazy weave. P/D oscillation is fast — 5–8 Hz, a buzz or shake. If you're chasing the wrong term because the frequency looked similar to something else, this is usually why.

Too little I shows up as drift in a hover and as uneven rate through continuous rolls or flips — the aircraft "gives up" on finishing the maneuver instead of tracking it cleanly.


IRaising I-Term for that "Locked in" feel

Editors Note:If you find yourself raising the I-term to the point where your values are getting too high, try raising the "I-Term Relax" value for pitch/roll. This is covered in Section 09 below.

07

HSI — High‑Speed Integral / Offset Gain

HSI is the term that keeps the aircraft flying straight during aggressive collective changes at speed — funnels, hurricanes, and hard climbs or drops during forward flight.

1

Default sits around 35; most tuners push it to 60–70 for a more predictable high‑speed feel.

2

In flight: jab the elevator (or punch collective) at full speed / full collective, and increase HSI until you provoke a wobble.

3

Back off slightly from that point. The goal is a straight vertical line under a hard collective input — no pitch or roll coupling — not maximum stiffness.

08

Boost

Boost behaves like a paddle‑simulation term, and is also describable as a derivative applied to the stick input itself rather than to the gyro error — it sharpens the initial reaction to a fast stick jab.

Increase Boost if you want a sharper, "smacky" initial hit on aggressive inputs. If that's not the flying style you're after, a low value — or default — is the sensible choice. This is a taste parameter more than a correctness parameter.
09

I‑Term Relax

Every source that discussed it called this out as disproportionately impactful for how "locked in" a helicopter feels — it governs how much the I‑term is allowed to contribute right at the moment of a stop, where I‑term wobble is most visible.

IWhat the numbers mean

Defaults tend to run low. A cutoff around 12–15 is a common, more locked‑in starting point than default. In one documented session, raising the relax cutoff from 20 to 30 was described as a "night and day" change — it reduced bouncing and cleaned up directional transitions during tick‑tocks, because the I‑term was allowed to participate more actively in stabilizing the disc during the maneuver.

Watch for "strike‑back." If the aircraft pitches (or rolls) past the input and then immediately snaps back the other way right after a stick stop, that's strike‑back — reduce I‑Term Relax rather than chasing it with P or D.
The floor is real, not just a number. A lower relax value means a stronger relax effect. Push it too low and the aircraft can start to feel unpredictable — and worse, an extremely low value can mask a genuine gain imbalance that would otherwise show up during a demanding maneuver or a gust of wind. "Locked in" and "numb to real disturbances" can look similar in calm air.
10

Main Rotor Error Decay

Controls how eagerly the aircraft returns to center once a disturbance or input ends.

Recommended starting range: 15–20. Treat this as a fine trim on top of an already‑reasonable P/I/D baseline, not a fix for a badly tuned loop.
11

The tail rotor loop

Every source treats the tail as its own high‑performance control loop, tuned with the same D → P/FF → I logic as the main rotor — and every source lands on the same headline goal: a crisp stop.

The ratio between clockwise and counter‑clockwise stop gains matters more than either raw value.

DTail D‑Gain

Increase until a slight shimmy appears right at the stop, then reduce by roughly a third from that point.

PTail P‑Gain

Increase until the tail starts to wag during hard stops or sideways flight, then back off slightly.

ITail I‑Gain

Increase until the tail gets restless or shimmies in a hover, then drop back down. If the tail whips during pirouettes instead, more I is often the fix — values as high as 450 have been used successfully.

FFCollective Feed Forward

Torque pre‑compensation for collective punches. Increase until the tail stops wiggling when you punch in collective.

Stop gain asymmetry is normal — and diagnostic. In one tuning pass, the counter‑clockwise stop felt soft, so its gain was raised for a cleaner stop; the clockwise stop showed a wobble, so its gain was lowered for a softer‑but‑cleaner stop. Don't assume both directions need the same treatment — tune them as two separate problems that happen to share a rotor.
12

Response time & rates

Response Time (Lua)

Adds a small, deliberate filter — roughly 7–15 ms — to stick input before it reaches the flight controller. Smooths erratic, fast stirring inputs, and is particularly useful for piro‑flips where the stick is moving continuously.

Rates (Actual)

Center sensitivity sets the "flatness" of the stick curve around neutral. Expo is generally left at 0 for a linear, predictable feel rather than shaped near center.

13

Case study: a real tuning session

One documented session is worth walking through end‑to‑end, because it shows these parameters interacting rather than being tuned in isolation.

1

Started with filters — pulled the roll second‑harmonic notch down, added a fourth‑harmonic notch, and doubled pitch/yaw filtering since the airframe was unfamiliar.

2

I‑Term Relax cutoff 20 → 30 — described as the single most impactful change of the session; cleaned up tick‑tock transitions.

3

I‑term lowered to 15 — removed a "shutter"/bobble during pirouettes and collective punches. A trace of oscillation remained in the logs, but the response was clearly improved.

4

Tail stop gains split by direction — CCW raised (was soft), CW lowered (was wobbly).

5

One issue left on the table — a slight roll interaction during aggressive elevator (pitch) input, suspected to need cyclic cross‑coupling compensation, a parameter not yet used on this airframe.

The pilot's own conclusion is worth keeping as a north star: tuning toward perfection is an "ever‑ending game," but there's a real, identifiable point where a helicopter goes from a tuning project to something you just fly and enjoy. Know when you've reached it.
14

Filling the gaps

Cross‑referencing these four sessions against Rotorflight's own parameter documentation surfaces a few things the dialogues touch on but don't fully close the loop on.

Gap 1

Cyclic Cross‑Coupling — the answer to the unresolved roll interaction

The case‑study session ended with an open question: a roll interaction on aggressive elevator input, suspected to be a job for cyclic cross‑coupling compensation. That suspicion is correct. This parameter exists specifically to remove aileron (roll) wobble that appears when only elevator (pitch) is applied — it's a decoupling term, tunable separately for pitch‑to‑roll and roll‑to‑pitch coupling, with its own frequency limit controlling how fast the compensation acts. It's a small, separate axis of tuning from P/I/D/FF, and easy to miss if you've never needed it before.

Gap 2

Precomp terms — the other pitch/tail pre-compensations

Beyond collective feed‑forward on the tail, Rotorflight exposes a pitch‑axis precompensation for high collective: because climbing produces more drag on the tail than the nose, the aircraft naturally wants to pitch nose‑up under power. This gain pushes the nose back down proportionally. It's conservative by design — the documentation itself recommends a relatively low value here rather than chasing it aggressively, which mirrors the "when in doubt, filter/compensate conservatively" theme running through the case study.

Gap 3

Profile switching as a tuning tool, not just a flight‑mode tool

None of the four sources frame profiles as a tuning aid, but Rotorflight's own workflow does: assigning a switch to flip between PID profiles mid‑flight turns every "back off slightly" instruction in this guide into an actual A/B test you can fly in real time, rather than landing, changing a value, and taking off again to compare from memory.

Gap 4

Loop frequency as filtering context

The gyro/PID loop rate (typically set between 1 kHz and 2 kHz) sets the ceiling for how aggressive your filtering can usefully be. On lower‑powered flight controllers, pushing loop rate too high can starve the CPU rather than help — worth checking before assuming a filtering problem is a filter‑value problem rather than a loop‑rate ceiling.

Gap 5

Why I‑Term Relax has a floor, formally

The case study's "night and day" result from raising relax (20→30, a weaker relax) and Bert/Jiawen/Alex's recommendation of 12–15 as a floor above default aren't in tension — they're describing the same underlying mechanism from opposite directions. Documentation confirms explicitly that a lower number is a stronger relax, and that too strong a relax setting can mask real gain problems. Read both recommendations as "don't relax more than you need to," not as conflicting target numbers.

15

A tuning philosophy

In the spirit of all four sources — added here rather than sourced from them:

1

The log outranks the feel, but the feel decides when to stop. Use the blackbox trace to identify which term is misbehaving — frequency tells you P/D from I — but use how the aircraft actually flies to decide whether a change is worth keeping.

2

Change one thing per flight. Every method described here — climb‑and‑pirouette for D, piro‑pogo for I, tick‑tocks for stops — only tells you something clean if it's the only variable that moved since the last flight.

3

Defaults are a floor, not a target. Rotorflight's defaults are conservative on purpose, tuned for an unknown airframe and an unknown pilot. Treat every default value in this guide as a documented starting point you're expected to move away from, not a number to protect.

4

Asymmetry is data. A helicopter that stops cleaner clockwise than counter‑clockwise, or wobbles on elevator but not aileron, is telling you something real about mechanics, CG, or blade tracking — not just asking for more gain. Chase the asymmetry before you chase the average.

5

Know your stopping point. Perfect tuning is asymptotic — there's always another 2% somewhere in the log. The useful skill isn't finding that 2%, it's recognizing the flight where the helicopter stopped being a tuning project and became a helicopter you fly for fun.

Sources

  • Bert Kammerer, Jiawen Bao & Alex Dean — Rotorflight PID & filter tuning session (video, timestamps 3:00–41:20)
  • Jonas Wackershauser — Rotorflight systematic tuning walkthrough (video, timestamps 11:24–26:05)
  • Unattributed log‑analysis / tuning session transcript, referenced as the Case Study
  • Rotorflight official documentation — Tuning your Helicopter & Profiles tab reference, rotorflight.org

Starting points, not gospel. Final values depend on your specific helicopter, servos, blades, and head speed — fly, log, adjust, repeat.