← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

The IO co-processor could not be given its firmware

Stops itStart-up and what the board reports

What ArduPilot says:

Pixhawk and Cube boards have a second, small processor (the IO co-processor, IOMCU) that drives the main outputs and reads the safety button. At start-up the main processor compares the IO firmware with the copy it carries; if they differ it writes its copy across. That write failed, so start-up stopped with a “Config Error:”.

What to do, most likely first

  1. The update was interrupted, or the co-processor did not enter its loader.

    FixPower the board off completely (USB and battery), wait some seconds and power it on again: the update is tried at every start.

  2. The board has no working IO processor: a clone without one, or a failed chip.

    CheckThe error returns at every start, also on battery power.

    FixIf the board truly has no IO processor, BRD_IO_ENABLE 0 tells ArduPilot not to look for it; the main outputs then do not work, only the auxiliary ones. Otherwise replace the board.

Parameters to look at

ParameterWhat it is
BRD_IO_ENABLEEnable IO co-processor
The code that sends it

Config Error: Failed to update IO firmware

libraries/AP_IOMCU/AP_IOMCU.cpp AP_IOMCU::check_crc() · Open in ArduPilot Copter-4.7.1

Written here for Copter 4.6. In the tool you choose your vehicle and version, see your own parameter values beside the ones named here, and drop a flight log to have every message in it explained.

Open it in the Message & Error Explainer