← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

The log recorded an internal error

Act nowBoard, internal errors, CAN, scripting

What ArduPilot says:

ERR with subsystem 30 (INTERNAL_ERROR), code 1, is written to the log at the moment ArduPilot's list of internal errors changes; the ground station gets “Internal Errors 0x…” at the same moment. An internal error is the code meeting something that must never happen, recording it and carrying on as well as it can. The ERR line does not say which kind: the mask is the number after 0x, one bit per kind, and in the log it is PM.InE, with the source line that recorded the latest one in PM.ErrL. The list is kept until the board restarts and blocks arming while it is not empty.

What to do, most likely first

  1. Something went wrong once during this run; the mask says what kind of thing.

    CheckPaste the “Internal Errors 0x…” line or the PM.InE value here: each bit has its own explanation. Some point at hardware (imu_reset, spi_fail, iomcu_reset), some at a setting (bad_rotation), some at the firmware (flow_of_ctrl, stack_ovrflw).

    FixLook at what the aircraft was doing at that time in the log, then repeat it on the bench, props off. If it does not come back, make the next flight a short, careful one.

  2. The same error comes back at every start: the cause is permanent, a setting or the hardware.

    CheckDoes it appear with everything unplugged except USB? Then plug devices back one at a time.

    FixDo not fly until it is gone. Follow the explanation of that error to the device or the parameter behind it.

  3. It started after a firmware change, a custom build or a new Lua script.

    CheckGo back one step: the previous firmware, or the same one without the script.

    FixStay on the stable release for your board and report the error to the ArduPilot developers with the mask, the line number and the log.

If it appears in flight, land as soon as it is safe: the aircraft is still flying, but on code that has met something it did not expect. An internal error is never fixed by ignoring it.

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