Do you need to tune?
Five diagnostic questions. If your drone passes all five, you don't need this page — go fly. If it fails one or more, the failure mode points to a specific section below. The questions are ordered roughly by frequency: most "tuning problems" turn out to be answered by question 1 or 2.
Five questions to ask about your drone's behavior:
If your drone passes all five questions: close this page, save it for later. Spend the time you would have spent tuning on flight practice or maintenance instead. The cohort program has graduated alumni who never touched a PID value, and their NDVI imagery is excellent. The defaults work.
If your drone fails one or more questions: identify the most-likely cause from the rightmost column, jump to that section, and work from there. Don't read the whole page top-to-bottom unless you genuinely enjoy this stuff — that path leads to over-tuning.
Mechanical first.
Most "my drone needs tuning" problems are actually mechanical. Loose motor mounting, unbalanced propellers, FC vibration isolation, frame flex — all of these masquerade as PID issues. You cannot tune your way out of a vibrating drone. Sort the mechanical layer before touching software.
Six mechanical sources of "tuning-like" symptoms, in order of frequency:
The 5-minute mechanical check
Before any tuning work, do this quick inspection:
- Power off, props off. Hold each motor by the bell and gently wiggle. No play, no clicking.
- Spin each motor by hand (gently). Smooth rotation; no scraping; same resistance across all four.
- Check all 16 motor mount screws are tight (use a screwdriver, not just by feel).
- Inspect each prop for cracks (hold up to light; cracks appear as bright lines).
- Look at the FC mounting — soft-mount grommets present and intact.
- Flex the frame arms gently in pairs. No creaking, no give.
This takes 5 minutes. If anything is found wrong, fix it and re-fly before considering any software tuning. About 60% of "tuning problems" we see in alumni Slack are solved at this step alone.
If the mechanical inspection passes and the drone still has issues, then software tuning is appropriate. Move to Section 3.
Filter setup.
If you're going to make one software change to improve flight quality, make it filter setup — not PID tuning. Filters reduce noise in the gyro signal so the FC can respond to real motion without amplifying vibration. Default filter settings work, but small adjustments can produce noticeable improvements with low risk.
Three filter changes worth making, in order:
1. Enable bidirectional DSHOT and RPM filtering. If your ESCs run BLHeli_32 or BlueJay (most cohort 5" builds after the 2025 ESC upgrade), this combination gives the FC RPM telemetry from each motor, which it uses to dynamically filter motor noise frequencies. The improvement is significant.
- In the configurator's Configuration tab, enable Bidirectional DSHOT.
- In the PID Tuning tab (Filter Settings), enable RPM Filter.
- Save and Reboot. Verify on next flight: smoother hover, less audible motor whine, sharper imagery.
2. Adjust gyro lowpass filter. The gyro lowpass cuts high-frequency noise from the gyroscope readings. Default is usually 250 Hz (PT1 filter). For survey work with cohort default props, 200 Hz is often a slight improvement — slightly more filtering at the cost of slightly more lag. Don't go below 150 Hz; that introduces noticeable response delay.
3. Set up dynamic notch filtering. The dynamic notch filter identifies the strongest noise frequencies in the gyro signal and notches them out. Default settings are reasonable. Only change if BlackBox logs show specific resonance peaks not being caught by the default range.
The biggest single change in this section is enabling RPM filtering on builds that support it. Cohort 02 builds before the ESC firmware upgrade ran without RPM filter; the upgrade and filter activation produced visibly sharper NDVI imagery across the fleet. If your build supports it and it's not on, turn it on.
Filter changes are reversible and low-risk. Make one change at a time, fly briefly, observe the difference, and continue or revert. Don't change multiple filters simultaneously — you won't know which one helped or hurt.
PID basics.
What P, I, and D actually do — written for alumni who don't have a control theory background. Understanding what each gain does is more valuable than memorising tuning procedures; a clear mental model lets you reason about specific symptoms and which gain to adjust.
The PID controller adjusts motor outputs to make the drone follow what the pilot (or autonomous mode) commands. Three terms:
P (Proportional) — proportional to current error. If the drone is rolled 10° but the command is for 0°, P-term applies a correction proportional to that 10° error. Higher P = stronger correction = sharper response.
Too much P: the drone overshoots the target, then overshoots back, then overshoots again. Visible as oscillation. Too little P: the drone responds sluggishly; takes too long to reach commanded attitude.
I (Integral) — accumulates error over time. If the drone has a small persistent error (e.g. centre of gravity off slightly to one side), P-term tries to correct but never fully eliminates the error. I-term builds up and adds correction proportional to total accumulated error, eliminating steady-state drift.
Too much I: oscillation that builds slowly over seconds, "hunting" behavior. Too little I: drone drifts slightly off command and never quite reaches the target — small persistent error.
D (Derivative) — proportional to rate of change of error. D-term anticipates: if error is decreasing rapidly, D-term reduces correction (avoiding overshoot); if error is increasing rapidly, D-term increases correction (catching up faster).
Too much D: amplifies high-frequency noise; the drone jitters or gets "hot motors" from constant micro-corrections. Too little D: the drone overshoots more readily; oscillation amplitude is larger.
A practical mental model
Think of P, I, and D as three different drivers:
- P is the eager driver — sees the error, reacts now, may overshoot.
- I is the patient driver — notices small persistent errors and quietly corrects them over time.
- D is the cautious driver — watches how fast you're approaching the target and slows you down before you overshoot.
A well-tuned drone has all three working together. The eager driver gets you most of the way there fast; the patient driver eliminates the small remaining error; the cautious driver prevents the eager one from overshooting. When the drone misbehaves, ask: which driver is wrong?
Each axis (roll, pitch, yaw) has its own P, I, and D gain values. Most tuning happens on roll and pitch; yaw is usually fine on defaults. The configurator's PID Tuning tab shows the values; INAV defaults are reasonable starting points for cohort default builds.
Typical INAV defaults (5-inch SpeedyBee F405 V4 with 2207 motors and 5×4.3×3 props):
- Roll P: 45 — Roll I: 80 — Roll D: 30
- Pitch P: 45 — Pitch I: 80 — Pitch D: 30
- Yaw P: 45 — Yaw I: 80 — Yaw D: 0 (yaw rarely uses D-term)
These numbers are the cohort default and produce flyable drones. If you're going to adjust, start small (5-10% changes), observe the difference, and don't change multiple values simultaneously.
Tuning approaches.
Two real approaches to tuning: with BlackBox data (the rigorous path) and by pilot feel (the field-practical path). Both produce flyable drones. The data-driven approach finds slightly better tunes; the by-feel approach is faster and works without specialised equipment. Pick based on your context, not on which is "more correct."
Approach A: BlackBox-driven tuning. The FC records all flight data (gyro readings, PID outputs, RC inputs, motor commands) to an SD card or onboard flash. You analyse the logs after the flight using PIDtoolbox or similar software, see exactly where the drone misbehaved, and adjust gains based on observed data.
- Set up BlackBox. Most modern FCs have an SD card slot or onboard flash. In the configurator, enable BlackBox logging at 1-2 kHz sample rate, log only when armed.
- Fly a test pattern. Standard test: hover for 30 seconds, then a series of stick inputs (full pitch forward, full roll left, etc.) for sharp PID stress, then back to hover.
- Analyse the log. Open in PIDtoolbox. Look at the gyro vs motor traces. Oscillation peaks, noise levels, response timing — all visible.
- Adjust based on data. If you see P-term oscillation at 30 Hz, lower P. If you see I-term hunting at 5 Hz, lower I. If D-term spikes are noisy, increase D-term filtering.
- Iterate. Fly, log, analyse, adjust. Two to three iterations typically reach optimal tune for the build.
The BlackBox approach finds objectively better tunes. It's also slow — each iteration is a flight session plus 30 minutes of analysis. Useful for partner orgs running fleet-wide tuning standards or for individual alumni who genuinely enjoy the optimisation work. For most cohort alumni, the marginal gain over by-feel tuning isn't worth the time.
Approach B: Tuning by feel. The traditional approach: fly the drone, notice what feels wrong, adjust based on intuition and the symptoms-to-cause mapping in Section 4, repeat.
- Hover and observe. Note what feels off. Oscillation? Drift? Mushy response? Aggressive response?
- Map symptom to cause. Use Section 4's framework. Oscillation in roll → P too high. Slow drift after stick centred → I too low. Aggressive overshoot → D too low.
- Adjust by 5-10%. Small change. Save. Reboot.
- Re-fly. Did the symptom change? Better, worse, or same? Continue or revert.
- Stop when "good enough". Don't chase perfection. Drone hovers smoothly, holds heading, photos are sharp — done. Save the config.
The by-feel approach reaches "good enough" quickly. Most cohort alumni use it. The drone won't be optimally tuned for racing-style maneuvering, but for survey work the gap is invisible.
Two anti-patterns worth avoiding
- Tuning to the "perfect" tune that doesn't exist. There's no single optimal tune; there are tunes that are "good enough for the use case." Stop when the drone meets your needs, not when some forum post claims a number is theoretically optimal.
- Chasing changes between flights. Different battery state, different temperature, different wind — each affects how the drone feels. If a tune feels different one day vs the next, it's probably the conditions, not the tune. Don't chase what isn't there.
Cohort defaults.
The canonical PID + filter configurations for cohort default builds (5A, 7A, 10A). These are starting points — flyable out of the box, refined across multiple cohorts, and the foundation that 85% of alumni never need to modify. The configurations are downloadable from the link at the top of this page.
The cohort default tuning history:
Cohort 01 (early 2024): Used INAV stock defaults for the SpeedyBee F405 V4 + 2207 motors. Drones flew acceptably; some alumni reported "mushy" response. No filter optimisation beyond INAV defaults.
Cohort 02 (mid-2024): Slight P increase (45 → 50 on roll/pitch) based on alumni feedback; otherwise stock defaults. Filter settings unchanged. ~60% of alumni found this preferable; ~40% felt the drone was now too aggressive.
Cohort 02 mid-cohort revision (late 2024): Reverted P to 45 (the original stock default) but enabled BlackBox logging on a sample of drones. Analysis showed gyro noise was higher than ideal. Adjusted gyro lowpass from 250 to 200 Hz. Marginal but consistent improvement.
Cohort 02 post-flight (early 2025): ESC firmware upgrade to BlueJay across the fleet. Enabled bidirectional DSHOT + RPM filter. This was the single biggest improvement in cohort tuning history — visibly sharper imagery across all builds, no PID changes required.
Cohort 03 baseline (current): Stock INAV PIDs for the build (P 45, I 80, D 30 for roll/pitch); RPM filter ON; gyro lowpass 200 Hz; dynamic notch ON with default range. Bidirectional DSHOT enabled. Cohort default config dump captures all of this.
The progression is instructive: most of the gains came from filter setup and ESC firmware, not PID gains. The PID values barely changed across three cohorts. This is consistent with what most experienced FPV pilots will tell you — defaults are usually fine if filters and mechanics are right.
Applying the cohort default tuning to your drone:
- Download the config dump for your build (5A, 7A, or 10A) from the link at the top of this page.
- Connect your FC to the configurator.
- Open the CLI tab.
- Type
diff alland copy the current output to a backup file (your existing config — saved in case you want to revert). - Paste the cohort default dump into the CLI tab.
- Type
saveat the end. The FC reboots with the cohort default tuning applied. - Pre-arm checklist Phase A (fc-setup.html Section 10). Fly briefly to verify behavior matches expectations.
If the cohort default doesn't fly well on your drone, the cause is usually: (1) non-standard components affecting the build's mechanical characteristics, (2) mechanical issues that the previous tune was masking, or (3) a genuine tuning need for your specific build. Work through Sections 2-5 to identify which.
Sharing your tune back. If you've tuned a build that produces noticeably better results than the cohort default, share the config dump in alumni Slack with notes on what changed and why. We periodically incorporate community-validated improvements into the cohort default. Tuning improvements that travel are improvements; tuning improvements specific to your build alone are personal preferences.