Drone Intelligence,
Decoded
Technical guides, crash forensics, and platform deep-dives for ArduPilot and PX4 engineers. Written by humans who read flight logs for a living.
47 articles
Understanding EKF Primary Changes in ArduPilot: A Log-Based Analysis
Explore the causes of EKF primary changes in ArduPilot through log analysis and troubleshooting tips.
Diagnosing BARO Glitches in ArduPilot: A Comprehensive Guide
Learn to diagnose BARO glitch events using ArduPilot logs to ensure stable flight performance and safety.
Cross-Validate ArduPilot Telemetry Using MAVLink Inspector
Learn how to use MAVLink Inspector for validating ArduPilot telemetry effectively.
Understanding LAND Message in ArduPilot: Tuning Your Drone's Landing
Learn about the LAND message in ArduPilot and how to effectively tune your drone’s landing behavior for optimal performance.
Understanding EKF Primary Changes in ArduPilot: Causes and Solutions
Discover the causes of EKF primary changes in ArduPilot and learn how to troubleshoot effectively.
Resolving ArduPilot Pre-Arm Check Failures: A Complete Guide
Learn how to diagnose and resolve ArduPilot pre-arm check failures effectively.
Automate Log Collection for Your ArduPilot Drone Fleet
Learn to set up automated log collection for your ArduPilot drones to enhance flight analysis and troubleshooting.
Diagnosing BARO Glitch Events in ArduPilot .bin Logs
Learn how to effectively diagnose and resolve BARO glitch events using ArduPilot .bin logs for safer drone operations.
Diagnosing BARO Glitch Events Using ArduPilot .BIN Logs
Learn how to identify and troubleshoot BARO glitch events in ArduPilot flight logs for better UAV control.
Understanding NKF Log Messages for EKF2 vs EKF3 in ArduPilot
Explore the implications of NKF log messages on choosing EKF2 or EKF3 for ArduPilot. Make informed decisions for better drone navigation.
Diagnosing RTL Issues in ArduPilot: A Guide Using MODE Logs
Learn how to effectively diagnose RTL issues in ArduPilot using MODE log messages for better drone performance.
How to Diagnose RTL Issues in ArduPilot Using MODE Log Messages
Learn to troubleshoot RTL issues in ArduPilot by analyzing MODE log messages and gain insights for better flight management.
Diagnosing RTL Issues in ArduPilot: A Guide Using MODE Log Messages
Learn how to effectively diagnose RTL issues in ArduPilot using MODE log messages to enhance your drone's reliability.
Automate Log Collection for Your ArduPilot Fleet in Minutes
Streamline your log collection process for ArduPilot drones with automation tips and tools.
Understanding ArduPilot IOMC and Autopilot IO Board Health Messages
Learn about ArduPilot IOMC and how to interpret autopilot IO board health messages effectively.
Detecting Optical Flow Sensor Failures in ArduPilot Logs
Learn how to identify and troubleshoot optical flow sensor failures using ArduPilot logs.
Using MAVLink Inspector to Validate ArduPilot Telemetry Data
Learn how to use MAVLink Inspector for cross-validating telemetry data from ArduPilot systems.
A Pattern Case Study — Catching Recurring ESC Desync in an Agri Drone Fleet
A common pattern in agri drone fleets: recurring ERR Subsys=25 Thrust Loss events on the same motor across multiple flights. Walks through the three-log analytical workflow — first signal as data point, second as pattern, third as swap-and-fly confirmation — that isolates a faulty ESC before it becomes a crash. Anonymised pattern illustration, reproducible workflow.
ArduPilot .bin vs .tlog vs PX4 .ulg — Which Log Format Do You Have?
The three flight log formats explained: ArduPilot DataFlash (.bin/.log), MAVLink telemetry (.tlog), and PX4 ULog (.ulg). What each contains, where each comes from, which to use for which problem, and what LogHat does with each.
ArduPilot Harmonic Notch Filter Setup with FFT Analysis
Step-by-step harmonic notch setup: enable raw IMU batch sampling, take a 30-second hover log, read the dominant motor peak in Mission Planner's FFT review, configure INS_HNTCH_FREQ/BW/MODE to suppress it. Covers throttle, ESC telemetry, and in-flight FFT modes plus harmonic and per-motor tracking.
ArduPilot PreArm Error Messages — Reference Library and Fixes
The ten most common ArduPilot PreArm errors decoded with the cause and fix per message: Logging failed, CrashDump detected, EKF3 Yaw inconsistent, Internal errors 0x800, AHRS waiting for home, GPS Glitch, Compass Offsets High, Bad Battery Failsafe Voltage, Hardware Safety Switch, gyros still settling.
Flight Log Analysis Tool Comparison — LogHat, Mission Planner, MAVExplorer, UAV Log Viewer, PlotJuggler, Flight Review
Honest comparison of the six tools that dominate ArduPilot and PX4 flight log analysis. Walks through format support, scriptability, 3D replay, AI assistance, and ideal use case per tool. Includes recommended stacks where tools complement each other.
ArduPilot EKF Lane Switch, Variance Failure, and Yaw Reset — Unified
EKF lane switch (ERR Subsys=24), variance failure (Subsys=16 ECode=2), and yaw reset (MSG line) are three related self-protection events with a shared cascade pattern. Walks through each event's signature, the order they appear in, and the ranked sensor causes.
DGCA 7-Year Flight Log Retention for Indian Drone Operators
Commercial drone operators in India must retain flight logs for seven years under the DGCA Digital Sky / NPNT framework. Walks through what a compliant record contains, BVLOS corridor add-ons, DPDP 2023 privacy interaction, and an audit-ready retention checklist. Current as of June 2026.
Diagnosing BARO Glitch Events in ArduPilot .bin Logs
Step-by-step diagnosis of barometer glitches in an ArduPilot .bin log using ERR Subsys=18 ECode=2, BARO.Alt vs CTUN.Alt divergence, and the BARO.H health flag. Covers sun, prop wash, and vibration-induced causes, plus EK3_ALT_M_NSE and BARO_PRIMARY fixes.
Using MAVLink Inspector to Validate ArduPilot Telemetry Effectively
Learn how to use MAVLink Inspector to cross-validate telemetry from ArduPilot for enhanced drone performance.
What Causes EKF Primary Change in ArduPilot — A Log-Based Analysis
ArduPilot logs an EKF primary change as ERR Subsys=24 plus an XKF4.PI flip. Walks through the GPS, vibration, magnetometer, and barometer triggers, shows how to read the losing core's XKF4 test ratios to identify the originating sensor, and explains why raising gates is the wrong fix.
Diagnosing Compass Variance Errors in ArduPilot Logs
Compass variance in ArduPilot is XKF4.SM, the EKF3 magnetometer test ratio. Walks through reading XKF4.SM and XKF3.IMX/IMY/IMZ together, the five common causes ranked, and why variance is distinct from compass interference (and what each needs as a fix).
Reading and Fixing the ArduPilot Throttle Hover Offset
MOT_THST_HOVER is the autopilot's hover-throttle feed-forward. Read it against CTUN.ThO and CTUN.ThH in steady hover, learn it correctly with MOT_HOVER_LEARN = 2, and watch its drift across flights as a fleet preventive-maintenance signal.
Detecting Optical Flow Sensor Failures in ArduPilot Logs
Learn how to identify and troubleshoot optical flow sensor failures in ArduPilot logs effectively.
Understanding ArduPilot Landings — CTUN, MODE, and the LAND Parameter Family
There's no LAND log message in ArduPilot Copter — the descent profile lives in CTUN (DAlt/Alt/DCRt/CRt/ThO/ThH) and the entry is in MODE. This guide covers the real fields, the LAND_SPEED / LAND_ALT_LOW / WPNAV_RFND_USE / GROUND_EFFECT_COMP knobs, and the five most common landing-time problems.
Diagnosing RTL Issues in ArduPilot with MODE Log Messages
Learn to diagnose RTL issues in ArduPilot using MODE log messages for safer flights.
How LogHat AI Analyses a Drone Crash Log Automatically
What actually happens to your .bin or .ulg in the 60 seconds after upload: format detection, four parallel parsers, Vector AI causal-chain analysis against a community knowledge base, and a downloadable PDF with a 3D replay.
Exporting and Sharing Flight Log Analysis with LogHat
Every LogHat analysis produces a forensic PDF, three JSON artifacts for integration, and an optional share URL. Walks through what's in each, the common team patterns (maintenance review, insurance packet, cross-team incident review), and the AzureIndia data-residency story for Indian operators.
Understanding ArduPilot Fence Breach Events in .bin Log Files
Fence breach logs as ERR Subsys=9 with an ECode naming the breached type. Walks through the FENCE_TYPE bitmask (1/2/4/8 for altitude ceiling / circle / polygon / floor), the FENCE_ACTION enum, FENCE_AUTOENABLE landing-mode trick, and the GPS-glitch false-positive scenario.
Diagnosing Power Module Failures Using ArduPilot CURR Logs
Learn how to effectively diagnose power module failures in drones using ArduPilot CURR logs and key troubleshooting techniques.
A Beginner's Guide to PX4 ULog Analysis (.ulg Files)
PX4's ULog format decoded — the ten messages that matter, the ArduPilot field-name equivalence chart, the three viewer choices (Flight Review, pyulog, LogHat), and the practical diagnostic recipes for EKF, vibration, failsafes, and battery problems on a PX4 stack.
How to Tune ArduPilot PID Controllers on a Quadcopter
AutoTune-first workflow for tuning ArduPilot Copter, with the actual parameter names (ATC_RAT_RLL_P/I/D, ATC_ANG_RLL_P), the 4.5/6/10 default-vs-tuned convention, and the RATE.RDes vs RATE.R signature for confirming the tune.
Diagnosing Roll and Pitch Oscillations in ArduPilot RATE and ATT Logs
Frequency-driven diagnostic for ArduPilot Copter oscillations: above 10 Hz, drop D gain or configure the harmonic notch; below 5 Hz, drop P gain or look at structural causes. Includes the FFT setup, the ErrRP threshold, and the single-axis vs both-axes decision tree.
Diagnosing ESC Desync Events in ArduPilot RCOU Logs
ESC desync triggers ArduPilot's Thrust Loss Check (ERR Subsys=25 ECode=1) when one motor saturates at maximum while attitude is still controllable. Includes the trigger thresholds from crash_check.cpp, the RCOU saturation pattern, and the role of ESC telemetry in turning inference into direct measurement.
Detecting and Calibrating Compass Motor Interference in ArduPilot
CompassMot calibration explained — what the procedure does, the throttle-vs-current mode choice, the COMPASS_MOT_X/Y/Z magnitude thresholds, and how to verify the calibration worked from the post-flight log using XKF4.SM versus RCOU correlation.
Understanding VIBE Messages in ArduPilot Logs and Fixing Vibration Issues
VIBE message decoded — VibeX/Y/Z RMS thresholds at 15/30/60 m/s², clipping counter interpretation, the five common mechanical sources, and the link to the harmonic notch filter that handles residual high-frequency noise once mechanical vibration is brought under control.
Diagnosing Altitude Hold Failures in ArduPilot with BARO and CTUN Logs
Altitude hold failures decoded — compare CTUN.DAlt vs CTUN.Alt vs BARO.Alt to separate baro drift from EKF disagreement from authority saturation. Covers the five common failure modes with the matching parameter knobs and the ground-effect compensation recipe for clean touchdowns.
Understanding EKF Innovation Spikes in ArduPilot Logs
EKF innovations decoded: XKF3 carries the raw disagreement between predicted and measured sensors; XKF4 normalises it into test ratios where >1 means rejected. Real causes, gate tuning, and the lane-switch-to-failsafe chain.
Why ArduPilot Drones Flip on Takeoff (and What the Log Tells You)
Takeoff flips are almost always FRAME_CLASS, FRAME_TYPE, motor wiring order, or motor direction. Walks through the log signature (RCOU saturation pattern in the first 2 seconds, ATT divergence from DesRoll/DesPitch), the three things to check before another arm attempt, and the Mission Planner motor test workflow that catches the mismatch.
Diagnosing Control Surface Failures Using RCIN and RCOU Logs
Compare RCIN against RCOU to separate receiver-side problems from servo, ESC, and SERVOn_FUNCTION mapping faults. Includes the failsafe ERR signature and the per-airframe channel map you need before reading the log.
