Analysing Motor Imbalance in ArduPilot Logs
ardupilotmotorimbalancelog-analysispreventive-maintenance

Analysing Motor Imbalance in ArduPilot Logs

LogHat Engineering TeamFebruary 14, 20265 min read

Key Takeaway

Motor imbalance in ArduPilot shows as one RCOU channel consistently higher or lower than its siblings during steady hover, asymmetric VIBE axis dominance, and (with ESC telemetry) per-motor RPM divergence. Causes are prop balance, bent shaft, bearing wear, or ESC calibration drift. Compare RCOU.C1-C4 spread (healthy under 50 µs) and trace the affected motor with a bench swap-and-fly test.

TL;DR: Motor imbalance in ArduPilot logs is visible as one motor consistently delivering different thrust than its siblings — RCOU.Cn running above or below the others during steady hover, asymmetric VIBE patterns, and (with ESC telemetry) per-motor RPM divergence. Identify the affected motor from the RCOU pattern at hover, confirm with the matching VIBE axis, and inspect physically. Most cases are prop balance, bent shaft, bearing wear, or one ESC out of calibration with its peers.

What a balanced multirotor looks like in the log

On a symmetric quad in steady hover with no wind, the four motors should be delivering nearly equal thrust. In the log:

  • RCOU.C1 through RCOU.C4 should sit within roughly 50µs of each other during stable hover.
  • The differences that do exist reflect minor mass distribution and yaw torque compensation — not a fault.
  • VIBE.VibeX/Y/Z should be similar magnitude across all three axes.
  • With ESC telemetry: per-motor RPM should be within a few percent at hover.

Deviations from this baseline tell you which motor is the outlier.

Reading imbalance in Mission Planner

Plot RCOU.C1, RCOU.C2, RCOU.C3, RCOU.C4 on one chart during a steady hover segment (no manoeuvre, no climb). Patterns to watch for:

  • One motor consistently higher than the others. That motor is delivering less thrust per microsecond of PWM — the autopilot is asking for more output to compensate. Causes: damaged prop, weaker motor, worn ESC.
  • One motor consistently lower. That motor is delivering more thrust than its peers. Less common; usually a heavier prop or a stronger motor (mismatched parts).
  • Diagonal pairs differ from each other. The two CW motors averaging different from the two CCW motors signals a yaw-torque imbalance — usually a frame twist or one arm geometrically different from the others.

Confirming it in MAVExplorer

MAV> graph RCOU.C1 RCOU.C2 RCOU.C3 RCOU.C4
MAV> graph VIBE.VibeX VIBE.VibeY VIBE.VibeZ
MAV> graph ESC1.RPM ESC2.RPM ESC3.RPM ESC4.RPM

If ESC telemetry is enabled, the per-motor RPM is the cleanest evidence — the autopilot may be commanding the same PWM, but the motors’ achieved RPM tells the truth about thrust delivery.

The four common imbalance causes

  1. Prop imbalance. A chipped or delaminated prop produces less thrust and more vibration. Cheapest to fix — a basic prop balancer or a fresh replacement.
  2. Bent motor shaft. Visible as a wobble during slow rotation by hand. Replace the motor.
  3. Worn bearings. A motor that’s noticeably noisy on the bench is contributing more friction; it needs more current to achieve the same RPM as its peers.
  4. ESC calibration drift. One ESC interpreting PWM range slightly differently from its peers. Re-run the ESC calibration sequence; if the difference persists, the ESC firmware may need updating.

From symptom to root cause

Once you’ve identified the outlier motor from the log, the bench-side investigation goes:

  1. Visual prop inspection. Chips, cracks, delamination. Replace any suspect prop.
  2. Hand-spin the motor. Listen for bearing noise; feel for shaft wobble. Compare against the others.
  3. Static thrust test if available. Run the suspect motor at a fixed PWM with a force gauge; compare against the others. A 5–10% difference at hover throttle is a real imbalance.
  4. Swap and re-fly. Move the suspect motor (or prop, or ESC) to a different position on the airframe. If the imbalance follows the component, that’s your culprit; if it stays at the position, the cause is the airframe-side (mount, wiring, or arm).

Asymmetric VIBE pattern as confirmation

Imbalance produces asymmetric vibration. If VIBE.VibeY dominates while VibeX stays clean, the imbalance is on a pitch-axis motor — motors 1 and 3 on a Quad-X are the front and back, motors 2 and 4 are left and right. The dominant VIBE axis names the motor pair before you even look at RCOU.

Trend across flights as a maintenance signal

For a fleet, motor balance tends to degrade gradually. The single-flight difference between motors may be small, but the trend across flights of the same airframe at the same payload reveals which motor is on the way out. Track MOT_THST_HOVER drift and per-axis VIBE averages per airframe — the preventive maintenance workflow that’s already in our preventive maintenance post catches motor imbalance before it causes flight problems.

When it isn’t really motor imbalance

  • Centre of gravity off. Heavy payload mounted off-centre produces the same RCOU asymmetry as motor imbalance, but flying with the payload removed shows the motors are actually balanced. Check CG before chasing motors.
  • Frame twist. A bent arm geometrically offsets the motor from where the autopilot expects it; the controller compensates with asymmetric thrust. Frame check on a flat surface catches this.
  • Wind from one direction. Steady wind during the “hover” segment produces consistent asymmetric RCOU that isn’t imbalance — the autopilot is correctly compensating for an external force.
  • Sensor mismatch. Two IMUs reading different vibration profiles can look like asymmetric airframe vibration when it’s actually one sensor mounting issue. Check whether VIBE.IMU=0 and VIBE.IMU=1 agree.

When LogHat helps — and when it doesn’t

LogHat compares per-motor RCOU and (with ESC telem) per-motor RPM in steady hover segments, names the outlier motor, and overlays the corresponding VIBE axis for confirmation. Per-airframe trend tracking surfaces gradual imbalance before it becomes a flight problem. What we can’t do is replace a prop or rebalance a motor for you — the diagnosis narrows the search to one motor; the fix is mechanical.

About the author

LE

LogHat Engineering Team

The LogHat engineering team — drone-systems engineers who build and operate the LogHat flight analytics platform. Posts in this byline are written and reviewed by team members working on the parsers, analysis engine, and Vector AI that the post describes.

Tagged

ardupilotmotorimbalancelog-analysispreventive-maintenance

Try LogHat

Analyze your flight logs in seconds

Upload a .bin, .tlog, .log, or .ulg file. Get AI crash analysis, 3D replay, and forensic PDF reports instantly.

Try LogHat Free