Q: How to Set Up ArduPilot on Your Flight Controller

Updated 4 min read

Quick Answer

Setting up ArduPilot involves installing a ground station (Mission Planner or QGroundControl), flashing firmware to a compatible flight controller, wiring GPS, receiver, and ESCs to the correct ports, then calibrating sensors and radio controls. ArduPilot runs on Pixhawk, CubePilot, and compatible boards, supporting fixed-wing, multirotor, rover, and boat frames.

What You Need

Before starting, gather your hardware. You need a supported flight controller such as the Pixhawk 6C, Cube Orange+ Mini, or a compatible board like the MicoAir NxtPX4v2. You also need a GPS module (a TBS M10Q with compass is a reliable choice), an RC receiver (ELRS, SBUS, or PPM), ESCs with motors, a power module or BEC, and a USB cable. For long-range monitoring, a pair of SiK telemetry radios lets you communicate with the drone from a ground station.

Step 1: Install Ground Station Software

Download Mission Planner (Windows) or QGroundControl (cross-platform). Mission Planner is the most widely used tool for ArduPilot. Connect your flight controller via USB and launch the software. It should detect the board automatically on first connection.

Step 2: Flash the Firmware

In Mission Planner, go to the "Initial Setup" tab and select "Install Firmware." Choose your frame type (ArduCopter for multirotors, ArduPlane for fixed-wing, ArduRover for ground vehicles) and select the appropriate firmware for your board. The software will download and flash automatically. Do not disconnect USB during this process.

If you are unsure whether ArduPilot is the right firmware for your project, our Betaflight vs iNav vs ArduPilot comparison explains when each firmware is the better choice.

Step 3: Wiring Connections

ArduPilot flight controllers use specific UART ports for different peripherals. The wiring varies by board, but the general principle is the same across Pixhawk and CubePilot variants.

Component Connect To Notes
GPS/Compass GPS port (UART/I2C) Keep away from ESCs and power cables
RC Receiver (SBUS) RCIN / SBUS port Invert SBUS signal if required by board
RC Receiver (PPM/ELRS CRSF) RCIN port CRSF needs serial passthrough
Telemetry radio (air) TELEM1 or TELEM2 Match baud rate to ground radio (57600 default)
ESCs (PWM) MAIN OUT pins Signal only; power from BEC or PDB
Power module PWR port Provides voltage/current sensing

Refer to your specific board's pinout diagram, as connector types vary between the Pixhawk 6C, Cube Orange+ Mini, and other compatible boards. Use JST-GH to Dupont cables for serial connections to telemetry radios and GPS modules.

Step 4: Frame Configuration

In Mission Planner, go to "Initial Setup" then "Mandatory Hardware" then "Frame Type." Select your frame configuration (X, +, H, or custom for multirotors). This tells ArduPilot how your motors are arranged, which affects motor mixing and flight behaviour. Our Pixhawk 6 comparison guide covers which board suits different frame sizes and use cases.

Step 5: Sensor Calibration

ArduPilot requires several calibrations before first flight:

  • Compass calibration: Connect GPS module, then follow the on-screen prompts to rotate the board through all orientations
  • Accelerometer calibration: Place the board on each of its six faces as instructed
  • Radio calibration: Move your sticks to their full extents so ArduPilot learns the channel ranges
  • Level calibration: Place the drone on a flat, level surface and click "Calibrate Level"

Step 6: ESC Calibration

Some ArduPilot builds use DShot or PWM ESCs that need calibration. For traditional PWM ESCs, use the ESC calibration wizard in Mission Planner. For DShot ESCs connected via DroneCAN or a serial protocol, set the correct output mode in the Full Parameter Tree (SERVOx_PROTOCOL parameter).

Step 7: Flight Modes

Configure at least two flight modes on your radio's switch. STABILIZE is the safest mode for first flights. Other useful modes include ALT HOLD (maintains altitude), LOITER (holds position with GPS), and AUTO (executes a pre-planned mission). Assign modes in the "Initial Setup" then "Flight Modes" tab by mapping radio channels to mode slots.

Optional Sensors

Adding an airspeed sensor improves fixed-wing performance by providing accurate airspeed data for altitude hold and auto-land. The Holybro MS4525DO digital airspeed sensor connects via I2C and works with both ArduPilot and PX4. For survey-grade positioning, a DroneCAN F9P RTK module provides centimetre-level accuracy. Browse the full range of compatible hardware in the autopilots and flight controllers collection and GPS modules collection.

Before Your First Flight

Run through the pre-arm checklist in Mission Planner. Verify compass mot (interference from motors/ESCs) is within acceptable limits. Check that all motor spin directions match the frame diagram. Test with props removed first. Start in STABILIZE mode, keep the throttle low, and stay within a few metres until you are confident the drone responds correctly to control inputs.