How to Set Up ArduPilot on Your Flight Controller

How to Set Up ArduPilot on Your Flight Controller

Quick Answer

ArduPilot is autopilot firmware, not a physical flight controller. Install the stable ArduCopter, ArduPlane or Rover build for your exact board, then configure orientation, wiring, sensors, outputs and failsafes in Mission Planner. A successful flash is only the start: do not fly until motor order, control direction and every pre-arm message have been checked.

What Is ArduPilot?

ArduPilot is open-source software that reads the sensors and receiver, then commands motors or servos. It runs on supported hardware such as a Pixhawk 6C or CubePilot Cube Orange+. ArduCopter covers multirotors and helicopters, ArduPlane covers fixed-wing and VTOL, and Rover covers ground vehicles and boats.

Choose the current stable build for the vehicle and exact board target rather than copying a version number from an old video. If you are still choosing firmware, read our Betaflight, INAV and ArduPilot comparison.

Choose a Supported Flight Controller

An F4, F7 or H7 label alone does not prove compatibility; the exact board needs an ArduPilot target. These current options cover three useful levels:

Board Main processor Our recommendation
Pixhawk 6C STM32H743 Best starting point for a conventional first build
Pixhawk 6X STM32H753 More sensor redundancy for demanding aircraft
Cube Orange+ STM32H757 Modular Cube ecosystem and carrier-board builds

Check the supported-hardware list before buying any other board. Our Pixhawk 6 comparison explains the hardware differences, while the autopilots collection shows current options.

Pixhawk 6C flight controller in aluminium case showing its connector layout
Pixhawk 6C uses an STM32H743, not the F4 processor stated in the previous version of this article.

ArduPilot First-Time Setup: Use This Order

Mission Planner on Windows exposes the fullest ArduPilot setup and diagnostic path. QGroundControl is useful on macOS and Linux, but for a first configuration we recommend Mission Planner.

Step Action Do not continue until
1 Connect by USB and install stable firmware for the exact board and vehicle The controller reconnects and reports the intended target
2 Mount the controller and set board orientation The artificial horizon follows the airframe correctly
3 Wire power, receiver, GPS/compass and outputs from the board pinout Polarity, voltage and UART TX/RX paths are confirmed
4 Select frame type and calibrate accelerometer, compass and radio Sensor movement, stick direction and endpoints are correct
5 Configure motor/servo outputs and battery monitor Output order, direction, voltage and current readings are verified
6 Assign flight modes and configure radio and battery failsafes Bench tests produce the intended failsafe action
7 Power-cycle and clear every pre-arm message No warning has simply been disabled

Receiver and ESC Details That Cause Failed Setups

For ELRS, cross the receiver TX and RX wires to a spare UART, set that UART's SERIALx_PROTOCOL to 23, and set bit 13 of RC_OPTIONS for ELRS's 420Kbaud CRSF-compatible mode. For SBUS, use the dedicated RC input where provided and follow the exact board pinout; inversion support is board-specific.

Calibrate analogue PWM ESCs only when their instructions require it. DShot does not use throttle-range calibration. With propellers removed, use Mission Planner's motor test to confirm output order and rotation. Our ESC calibration guide covers each protocol.

Before the First Flight

After propeller-off tests, refit each propeller in the correct orientation and read every pre-arm message. Confirm control directions, motor order, battery voltage, GPS home position and failsafe actions. Never suppress a check merely to make the aircraft arm.

For Copter, prove a restrained STABILIZE hover before relying on Loiter; prove Loiter before trying RTL or AUTO. This sequence separates an attitude or motor fault from GPS, compass and mission behaviour.

FAQ

Is ArduPilot a flight controller?

No. ArduPilot is firmware; Pixhawk and CubePilot products are flight-controller hardware.

How do I know whether my board supports ArduPilot?

Look for the exact model in ArduPilot's supported-hardware and firmware-target lists. Processor family alone is not enough.

Mission Planner or QGroundControl?

Use Mission Planner on Windows for the most complete first-time setup. QGroundControl is the practical choice on macOS or Linux.

ArduCopter or ArduPlane?

Use ArduCopter for multirotors and helicopters. Use ArduPlane for fixed-wing and VTOL aircraft.

Back to blog