The receiver has not been seen since power-on
What ArduPilot says:
- PreArm: RC not found
Since it was powered, the flight controller has not received a single valid frame from a receiver (and no RC override from a ground station). The check runs whenever the radio failsafe is on (FS_THR_ENABLE is not 0), because a copter that has never heard its radio cannot tell when it loses it.
What to do, most likely first
The transmitter is off, or the receiver is not bound to it.
CheckLook at the receiver's LED: solid means linked, blinking means it is searching. In Mission Planner's Radio Calibration screen the bars must move with the sticks.
FixSwitch the transmitter on, choose the right model, bind the receiver again if the LED keeps blinking.
The serial port the receiver is wired to is not set up for RC input.
CheckFind which UART the receiver's wires go to and read that port's
SERIALn_PROTOCOL: a CRSF/ELRS, SBUS or other serial receiver on a UART needs 23 (RCIN). A receiver on the board's own RC input pad needs no port.FixSet that port's
SERIALn_PROTOCOLto 23 and reboot the flight controller; the change takes effect only after a reboot.The receiver is wired wrongly: its TX and RX are swapped, or it has no power.
CheckA CRSF/ELRS receiver's TX goes to the flight controller's RX and its RX to TX. On USB power alone many boards do not feed the receiver: connect the battery (props off).
FixCorrect the wiring; the Board & Wiring Planner shows which pad is which UART on your board.
RC_PROTOCOLSexcludes the protocol your receiver speaks.FixSet
RC_PROTOCOLSto 1 (all protocols, the default) and reboot.
Flying without a transmitter (ground station or companion computer only) is the one case where FS_THR_ENABLE 0 is right; with a transmitter, keep the radio failsafe on.
Parameters to look at
| Parameter | What it is |
|---|---|
FS_THR_ENABLE | Throttle Failsafe Enable |
RC_PROTOCOLS | RC protocols enabled |
SERIAL1_PROTOCOL | Telem1 protocol selection |
SERIAL2_PROTOCOL | Telemetry 2 protocol selection |
Where to do it:Setup & Tuning GuideBoard & Wiring Planner
The code that sends it
PreArm: RC not found
ArduCopter/AP_Arming.cpp AP_Arming_Copter::rc_throttle_failsafe_checks() · Open in ArduPilot Copter-4.6.3
ArduCopter/AP_Arming_Copter.cpp AP_Arming_Copter::rc_throttle_failsafe_checks() · Open in ArduPilot Copter-4.7.1