This guide contains Amazon affiliate links. If you buy through them, DroneCoreGuide earns a small commission at no extra cost to you.
A GPS quadcopter running ArduPilot is the foundation for everything autonomous: waypoint missions, mapping, return-to-launch and, later, AI on a companion computer. This guide walks you through a reliable 450 mm build on a Pixhawk-class flight controller.
Time: 10–14 hours. Difficulty: Intermediate to advanced.
Why ArduPilot
ArduPilot is a mature open-source autopilot used in hobby, research and commercial drones. It supports GPS position hold, auto missions, geofences, rangefinders, companion computers and much more. Compared to Betaflight, it’s built for navigation rather than acrobatics. See PX4 vs ArduPilot for how it compares to PX4.
Parts list
| Part | Spec | Shop |
|---|---|---|
| Frame | 450 mm quad frame with landing gear | 450 mm frames |
| Flight controller | Pixhawk-class FC (Pixhawk 6C, Cube, or a Matek H7 running ArduPilot) | Pixhawk controllers |
| GPS + compass | M10 GPS with built-in compass, on a mast | GPS + compass |
| Power module | Matched to your FC, reads voltage and current | Power modules |
| Motors | 2216 or 2312, 880–960 KV | Motors |
| ESCs | 4 x 30 A, or a 4-in-1 ESC with DShot | ESCs |
| Props | 10×4.5 or 10×5, CW/CCW pairs | 10-inch props |
| Receiver | ExpressLRS or similar with CRSF/SBUS output | Receivers |
| Telemetry radio | 915 MHz (US) or 433 MHz telemetry pair, optional | Telemetry radios |
| Battery | 4S 4000–5200 mAh LiPo | 4S batteries |
Step 1: Frame and propulsion
- Assemble the frame and landing gear.
- Mount motors, observing ArduPilot’s motor order and direction for Quad X: motor 1 front right (counterclockwise), motor 2 rear left (counterclockwise), motor 3 front left (clockwise), motor 4 rear right (clockwise).
- Mount ESCs on the arms and route wires cleanly.
Step 2: Power and flight controller
- Wire the battery lead through the power module to the ESCs.
- Mount the flight controller near the center of gravity, arrow forward, on vibration-damping foam or a damped mount.
- Plug the power module into the FC’s power port.
- Connect ESC signal wires to main outputs 1–4 in motor order.
Step 3: GPS, receiver and telemetry
- Mount the GPS on a mast at least 10 cm above the electronics, arrow forward.
- Connect the GPS to the GPS port, and its compass to I2C if it’s a separate cable.
- Connect the receiver to the RC input or a serial port configured for RC.
- Connect the telemetry radio to a TELEM port if you’re using one.
Step 4: Install firmware and run setup
Download Mission Planner (Windows) or QGroundControl (any platform). Install the ArduCopter firmware, then complete the mandatory setup:
- Frame type: Quad, X.
- Accelerometer calibration: place the drone level, then on each side as prompted.
- Compass calibration: rotate the drone on all axes until calibration completes. Do this outdoors, away from metal.
- Radio calibration: move every stick and switch through its full range.
- Flight modes: a common setup is Stabilize, AltHold and Loiter on a three-position switch, with RTL on another switch.
- ESC calibration if using PWM ESCs, or set DShot output if your ESCs support it.
- Battery monitor: set your power module type and check voltage reads correctly.
Step 5: Failsafes and geofence
- Radio failsafe: RTL (return to launch) when signal is lost.
- Battery failsafe: RTL at a low level, land at critical.
- Geofence: enable a maximum altitude (120 m, about 400 feet) and a circular radius that keeps the drone within line of sight.
Step 6: First flights
- Do a motor test with props off in the Motor Test page. Confirm the order and direction.
- Install props and take off in Stabilize, hovering low.
- Switch to AltHold, then Loiter, and confirm the drone holds position.
- Run Autotune in calm conditions to tune PIDs automatically.
- Test RTL at a safe distance.
Then plan your first auto mission with our waypoint mission guide.
Reading ArduPilot pre-arm messages
ArduPilot won’t arm until its safety checks pass. Common messages and what they mean:
| Message | Meaning | Fix |
|---|---|---|
| Compass not calibrated | Compass needs calibration | Calibrate outdoors |
| Accels inconsistent | Accelerometers disagree | Recalibrate; check vibration |
| GPS: need 3D fix | Waiting for a good GPS lock | Wait outdoors with clear sky |
| Throttle too high | Throttle stick not at bottom | Lower throttle |
| Battery below minimum | Voltage too low | Charge or check battery monitor |
| RC not calibrated | Radio calibration missing | Run radio calibration |
Fix the cause rather than disabling checks. They exist to catch problems on the ground.
Logs: your best diagnostic tool
ArduPilot records detailed logs on the flight controller. After each flight session, download them in Mission Planner and check:
- VIBE: vibration levels. High values cause position problems.
- ATT: desired vs actual attitude, which shows how well the tune follows commands.
- GPS: satellite count and HDOP.
- BAT: voltage sag and current draw.
Tips for a clean build
- Twist ESC signal and ground wires together to reduce noise.
- Keep the GPS mast rigid; a wobbling mast confuses the compass.
- Use a level surface for accelerometer calibration.
- Re-run compass calibration if you move the GPS or add metal parts near it.
Frequently Asked Questions
What is the best flight controller for an ArduPilot drone?
Pixhawk-standard controllers such as the Pixhawk 6C and Cube series are the most common. Many H7-based controllers from FPV brands also run ArduPilot well.
Does an ArduPilot drone need a compass?
For most multirotor setups, yes. The compass gives heading for GPS position hold and missions. Some advanced setups use other heading sources.
What is ArduPilot Autotune?
An automated flight mode that wiggles the drone on each axis and calculates PID values. Run it in calm weather with plenty of open space.
What flight modes should a beginner use on ArduPilot?
Start with Stabilize and AltHold to learn, then use Loiter for GPS position hold, and keep RTL on a switch for emergencies.