A chip on the board did not answer in time
What ArduPilot says:
- Internal errors 0x4000 (spi_fail)
The sensors soldered on the board (IMUs, barometer), the log flash, the FRAM and the OSD chip talk to the processor over SPI. ArduPilot allows each exchange 20 ms plus 32 microseconds per byte, far more than any needs; spi_fail is recorded when one does not finish in that time. The code's own comment says this is not expected to happen unless something is seriously wrong with the processor.
What to do, most likely first
The firmware is for another board or revision, so pins and data channels do not match the hardware.
CheckCompare the board name in the firmware (the Firmware Inspector shows it) with your board, including the version letters.
FixFlash the firmware for exactly your board.
The board is damaged: a crash, water, or a short on one of its supplies.
CheckIt appeared after such an event, and comes back on USB power with nothing connected.
FixReplace the flight controller. Do not fly it.
Where to do it:Setup & Tuning GuideFirmware Inspector