Tuning guide
Most tuning advice is a table of defaults applied to a quad nobody has measured. Your blackbox log is the measurement. This is what it contains, what the FFT and the step response actually tell you, and which of the two faults you should fix first.
A blackbox log is a time series, not a verdict. Four groups of channels matter for tuning:
The log header also carries the PID and filter values that were active during the flight. That matters more than it sounds: a tune is only meaningful relative to its starting point, and a log without its header cannot be tuned from.
The gyro trace is a signal, and a signal has a spectrum. Take the gyro from one axis, cut it into overlapping windows, apply a window function (Hann is the usual choice) to stop the edges from inventing frequencies, and average the magnitude spectrum of each window. That is Welch's method, and it is what every serious log analyser computes.
Two numbers define the resolution, and both come straight from the log:
bin width = sample rate / window size — how finely frequency is divided.Nyquist = sample rate / 2 — the highest frequency the log can represent at all.At a 1.72 kHz sample rate with 512-sample windows, each bin is about 3.36 Hz wide and the spectrum stops at 859.75 Hz. Nothing above that exists in your log, so a "peak" reported at 1.2 kHz would be an artefact of the analysis, not your quad.
A peak is only interesting if it stands well above the noise floor around it. Then its behaviour tells you what it is:
| Peak | How it behaves | What it is |
|---|---|---|
| Moves with throttle | Its centre frequency rises as RPM rises | Motor and propeller noise |
| Fixed frequency | Same centre regardless of throttle | Frame or arm resonance |
| Very low | Broad, below ~40 Hz | Control oscillation, not noise |
That distinction is the whole point of doing the FFT. A filter set for a fixed frame resonance will not help a motor-noise peak, and turning the gyro lowpass down to treat an oscillation that is really a gain problem costs you phase margin for nothing. If the frequency does not move with throttle, filtering harder is not the fix.
A step response isolates one fast stick movement — a flick — and asks a simple question: how closely did the gyro follow the setpoint?
Align the step, slice out a couple of hundred milliseconds, and you can measure four things:
These are the two faults that get confused constantly, and they need opposite corrections:
| What you see | What it means | Direction |
|---|---|---|
| Overshoots the setpoint, then rings back | Too much gain for the phase you have left | Reduce D first, then P |
| Settles below the commanded rate and stays there | Steady-state error: not enough I, or I is being relaxed away | Raise I, check iterm_relax |
A single "tune quality" number hides this. A quad can overshoot on roll and droop on pitch in the same flight, and one global score would average those into a meaningless middle. Per-axis, per-fault reporting is the only version you can act on.
Droop has a second common cause worth knowing: iterm_relax
deliberately bleeds I off during fast stick movements to stop I from
fighting your flicks. Set too aggressively it bleeds more than intended, and
the quad sags out of turns. If your log shows droop only during the fastest
inputs, look there before adding I.
Frame size, all-up weight and motor KV are useful, but not for the reason most tools use them. They do not tell you what your tune should be.
What they do tell you is what is physically plausible. A 5-inch quad at 650 g cannot meaningfully use the same motor output limit as a 3-inch at 250 g, and a 6S build with high KV will saturate differently from a 4S build with low KV. Those are bounds. They are not answers.
The distinction matters because a craft profile that selects a tune is really a table of defaults with extra steps: it will confidently produce the same numbers for two quads with identical frames and completely different flight behaviour. A profile that only rejects a value — "this gain is not plausible for this airframe" — leaves the decision with the data, where it belongs.
Easyquadtune reads a Betaflight .bbl or .csv,
runs the FFT and the step response, then writes the CLI for Cine,
Freestyle and Race from the same flight. First log is free per browser.
Easyquadtune is not affiliated with the Betaflight project. Always fly responsibly and perform an initial hover test in a safe environment after any tuning change. The worked example on this site is an illustrative render, not a customer log.