Hi everyone,
Sharing a cool tool we’ve built at Altitude R&D: PID-Wise. Upload a .ulg (PX4 v1.12+) and get step response and curve fitted model with interactive PID tuning — see the effect of a gain or filter change before you flash it.
Supports standard multicopters and ArduPilot .bin (4.0+).
Quick demo
Try it at Altitude R&D Chiappinelli - PID-Wise
Still early days — genuinely want feedback, bugs, and edge cases. Happy to here your first impressions.

Intro codes through end of Sept if useful: TEST50 (50% off 7-day), KICKOFF20 (20% off monthly/yearly).
Looking at the full animation rather than a single frame changes the interpretation a bit. The fitted roll model appears to match the measured step response reasonably well after fitting (M/I ≈ 1179, motor time constant ≈ 12.4 ms in the shown fit).
The larger excursions in the flight trace also appear to contain substantial commanded rate changes, so I would be cautious about interpreting those peaks as rate-controller instability from this plot alone.
What I would check next is whether the fitted model remains consistent across several clean excitation intervals and different thrust levels. If the identified M/I or effective motor time constant changes substantially with operating point, a single fitted model may hide that dependency.
It would also be useful to compare the rate setpoint, measured angular velocity, actuator/control-allocation output and saturation status around one clean excitation.
If the ULog is available, that would make it possible to distinguish model-fit error from actuator saturation or an operating-point-dependent response.