
Understanding ArduPilot IOMC and Autopilot IO Board Health Messages
Key Takeaway
The ArduPilot IOMC monitors autopilot IO board health messages for effective motor failure detection.
TL;DR: To detect motor failures in ArduPilot, monitor the RCOU channel outputs and look for ERR Subsys=25 ECode=1, indicating thrust loss. Adjust the FS_THR_VALUE parameter to prevent unexpected behavior during flight. For detailed analysis, consider using LogHat to interpret flight data logs more effectively.
What ArduPilot IOMC Actually Is in the Log
The Integrated Onboard Microcontroller (IOMC) is vital for managing various input/output tasks within ArduPilot. It ensures that the autopilot interfaces effectively with sensors and other components. The health messages from the IOMC can provide insights into the condition of the autopilot IO board. Monitoring these messages helps in diagnosing potential issues that could affect flight performance.
IOMC Status ErrorCount Health FirmwareVersion
Status: Indicates the operational status of the IOMC (0 = OK, 1 = Error).ErrorCount: A count of errors detected by the IOMC.Health: A health indicator for the IO board (0 = healthy, 1 = unhealthy).FirmwareVersion: The current firmware version running on the IOMC.
Confirming It in Mission Planner
To verify the IOMC health messages in Mission Planner, navigate through the following path:
- Flight Data → DataFlash Logs → Review a Log
- Select the relevant flight log to analyze.
When viewing the log, plot the following fields together:
IOMC.StatusIOMC.ErrorCountIOMC.HealthIOMC.FirmwareVersion
Confirming It in MAVExplorer
MAV> graph IOMC.Status IOMC.ErrorCount
This command will plot the IOMC's Status against the ErrorCount. By analyzing this graph, you can quickly identify if there are any issues with the IOMC that could affect the overall performance of the autopilot system.
Why Motor Failures Happen — Ranked by What We See Most Often
- Poor Calibration: Incorrect motor calibration can lead to improper thrust output, visible in
RCOUlogs showing inconsistent values. - Faulty ESC: Electronic Speed Controllers (ESCs) can fail, resulting in erratic motor behavior. This is often indicated by unexpected changes in throttle response.
- Motor Overheating: Overheating can lead to thermal shutdowns. Logs will show decreased RPM and increased resistance in the
RCOUmessages. - Power Supply Issues: Insufficient power supply can cause motors to perform erratically. This is often linked to voltage drops in the
BATlogs. - Mechanical Failures: Physical damage or wear can lead to motor failure. Look for unusual vibrations in the
VIBElogs.
Fixes for Motor Failures
- Ensure proper calibration with
MOT_THST_HOVERset to the correct hover throttle value. - Check ESC connections and replace any faulty units.
- Monitor motor temperatures, and if overheating occurs, adjust the payload or throttle limits.
- Use the
BATT_LOW_VOLTto ensure the battery is providing sufficient voltage for all motors. - Inspect for mechanical failures and replace any damaged components.
When This Isn't Actually Motor Failure
- Erroneous
RCOUvalues could stem from a data processing glitch rather than a physical motor issue. - Unexpected motor behavior might be due to incorrect
FS_THR_VALUEsettings rather than a motor malfunction. - High vibration readings in
VIBElogs can indicate system instability rather than direct motor failure.
When LogHat Helps — and When It Doesn't
LogHat excels at providing a comprehensive analysis of flight data, enabling us to correlate issues with specific log messages effectively. However, it may not diagnose hardware failures directly; it primarily interprets the data logged during flight. For physical inspections and repairs, engineers must still rely on hands-on troubleshooting methods.
Frequently Asked Questions
q: What is IOMC in ArduPilot?a: IOMC refers to the Integrated Onboard Microcontroller, responsible for managing IO tasks.q: How can I detect motor failures?a: Monitor flight logs forRCOUchannel saturation and increasing roll/pitch errors.q: What should I do if the IOMC shows errors?a: Check the wiring and connections and consider reflashing the firmware.q: How can I fix overheating motors?a: Adjust the payload and monitor the throttle settings to prevent overheating.q: Where can I find more information on ArduPilot firmware updates?a: Visit the ArduPilot documentation.
For further insights and to analyze your flight data more effectively, consider exploring LogHat. Our platform is designed to help you interpret complex flight logs and identify issues before they impact your operations.
About the author
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
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