Building a Log-Driven UAV Preventive Maintenance Workflow
ardupilotpreventive-maintenancefleet-operationslog-analyticsuav-ops

Building a Log-Driven UAV Preventive Maintenance Workflow

LogHat Engineering TeamMarch 24, 20265 min read

Key Takeaway

Log-driven UAV preventive maintenance trades calendar intervals for data triggers. Track five per-airframe signals: VIBE.VibeZ trend, MOT_THST_HOVER drift, BAT.Res progression, ESC RPM divergence, RATE.RDes vs RATE.R lag. Each drift signal becomes a maintenance ticket. Baseline per airframe, compare per flight, review fleet quarterly.

TL;DR: A log-driven UAV preventive maintenance workflow trades calendar-based service intervals for data-driven triggers. Track five signals per airframe across flights: VIBE.VibeZ trend, MOT_THST_HOVER drift, BAT.Res progression, ESC RPM divergence between motors, and rate-loop tracking error (RATE.R vs RATE.RDes). When any of these drifts outside its per-airframe norm, the affected component goes to maintenance before it causes an in-flight failure. The autopilot logs everything you need; the workflow turns logs into tickets.

Why log-driven beats calendar-driven for drones

Calendar-based maintenance ("rebalance props every 50 flights") treats every airframe identically. In reality, one drone hauling a heavy payload over rough terrain wears differently from one flying inspection over smooth ground. Log-driven maintenance reads the actual wear signals the autopilot is already capturing and schedules service when the data says it’s needed.

The autopilot writes the signals at high rate while flying; the operator’s job is to turn those signals into a maintenance trigger before the wear becomes failure.

The five signals worth tracking per airframe

  1. VIBE.VibeX/Y/Z trend. Rising vibration across flights of the same airframe at the same payload signals a developing mechanical issue — loose motor mount, worn bearing, prop imbalance. Trigger: VibeZ trending 20% above the airframe’s baseline over five consecutive flights.
  2. MOT_THST_HOVER drift. The autopilot’s learned hover throttle climbing over flights at the same payload signals reduced thrust output — a worn prop, an underperforming motor, or a marginal ESC. Trigger: 10% rise over baseline.
  3. BAT.Res progression. Estimated battery internal resistance rising means the pack is aging. Trigger: 30% rise from new value, or per-pack value crossing a fleet threshold.
  4. ESC RPM divergence between motors. With ESC telemetry enabled, the autopilot logs per-motor RPM. At steady hover, all motors should run within a few percent. A motor consistently running faster than its peers signals reduced thrust capability on that arm. Trigger: 5% sustained divergence.
  5. Rate-loop tracking error. The gap between RATE.RDes and RATE.R (and pitch/yaw equivalents) growing across flights without a tune change signals airframe structural fatigue or motor degradation. Trigger: tracking lag growing more than 50% over baseline.

From signals to tickets

The workflow is the same whether you have two drones or two hundred:

  1. Baseline every airframe. Three or four good-condition flights per drone, captured under typical mission load. Record the VIBE profile, the hover-throttle value, the BAT.Res reading. This is the per-airframe baseline; future drift is measured against it.
  2. Auto-analyse every flight. Push every uploaded log through an analyser that emits a single summary record per flight: timestamp, airframe ID, flight duration, plus the five signals.
  3. Compare against baseline. Compute drift for each signal. Flag any that exceed the trigger threshold.
  4. Open a ticket for each flagged signal. The ticket names the component, the symptom, and the recommended action. Maintenance staff don’t need to read raw logs.
  5. Close the loop. Re-baseline after maintenance — the next flight is the new reference point. This catches whether the repair actually fixed the issue.

The maintenance actions each signal implies

  • Rising VIBE. Action: inspect motor mounts, check prop balance, look for cracked frame members. Order: cheapest checks first (visual, prop balance) before invasive ones.
  • Drifting MOT_THST_HOVER. Action: prop visual inspection for chips and delamination; motor-test to confirm all motors deliver expected thrust; if both clean, suspect ESC drift or wiring.
  • Rising BAT.Res. Action: capacity test the pack on a charger. If the rated capacity has dropped more than 20%, retire the pack.
  • ESC RPM divergence. Action: bench-test the slow motor in isolation. If RPM matches the others on the bench, the airframe-side cause is mechanical drag (bent prop, bearing) or aerodynamic (asymmetric wear).
  • Rate-loop tracking error. Action: confirm parameter set hasn’t drifted; re-tune via AutoTune; if the new tune produces lower gains than the original, the airframe has lost authority.

Per-airframe records you should keep

  • Build configuration. Motor type, prop type, ESC family, frame design. The signals are only comparable across flights at the same configuration.
  • Baseline values. First-flight VIBE, MOT_THST_HOVER, BAT.Res (per pack), rate-loop tracking lag.
  • Maintenance history. Date of every prop change, motor swap, ESC replacement. Drift signals reset when components change.
  • Flight log archive. The .bin files themselves, retained against any DGCA or insurance audit. See our DGCA 7-year retention post for the regulatory specifics for Indian operators.

Quarterly fleet review

Beyond the per-flight checks, run a quarterly review across the fleet:

  1. Plot BAT.Res for every pack across all flights of the quarter. Packs with steeper-than-fleet-average trend get retired.
  2. Plot MOT_THST_HOVER for every airframe across the quarter. Airframes drifting upward get a mechanical inspection.
  3. Compare per-airframe rate-loop tracking error. Outliers go through a tuning revalidation.
  4. Compare per-airframe VIBE profile. Outliers go through a vibration FFT analysis — see our VIBE message guide.

The quarterly cadence catches slow drifts that flight-by-flight triggers miss.

What this workflow doesn’t catch

  • Damage from a single hard event. A bad landing, a prop strike on takeoff — these are observable from the single log of the event itself, not from a trend. They need a different post-flight visual inspection step.
  • Hardware failure modes that don’t show in the log. Connector fatigue, cable insulation cracking, motor magnet detachment — the autopilot doesn’t directly measure these. Calendar-driven visual inspection still has a place.
  • Operator-side wear. Pilot fatigue, training currency, mission planning quality — outside the log’s scope.

When LogHat helps — and when it doesn’t

LogHat’s analysis produces the per-flight summary record the workflow needs — the five signals computed from the .bin in a structured form. The forensic PDF and 3D replay carry the same data with human-readable context for incident review. What we don’t do is run your ticketing system; the workflow lives in your operations stack, with LogHat as the data layer.

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

ardupilotpreventive-maintenancefleet-operationslog-analyticsuav-ops

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