Robots · Drones

PX4 and ArduPilot remote operations: flying custom MAVLink drones over 4G from an operations center

Custom and OEM drones built on PX4 or ArduPilot can be flown from anywhere with an IP link, but the open stack leaves the operating procedures, security and failsafe design to you. Here is how to get them right.

PX4 / ArduPilot custom drones, Open-source autopilot platform (any MAVLink aircraft)
AI-generated illustration of the PX4 / ArduPilot custom drones. For product photos, see PX4 (Dronecode Foundation) and ArduPilot.
Autopilots
PX4 (BSD 3-Clause, Dronecode Foundation); ArduPilot Copter (GPLv3)
Vehicle types
Multicopters, fixed-wing, VTOL, helicopters, rovers (PX4); multicopters and helicopters (ArduPilot Copter)
Ground stations
QGroundControl (PX4 and ArduPilot; Windows, macOS, Linux, Android, iOS); Mission Planner (ArduPilot)
Protocol
MAVLink; PX4 also uXRCE-DDS to ROS 2
Companion link (PX4)
Ethernet recommended, or serial; MAVLink Router recommended for IP bridging
External control (PX4 Offboard)
Position, velocity, attitude and lower-level setpoints; 2 Hz minimum proof-of-life
GCS link-loss failsafe (ArduPilot)
FS_GCS_TIMEOUT, default 5 s; RTL, SmartRTL, Land or Brake

Updated

Not every drone program flies a DJI or a Skydio. Many run aircraft built on PX4 or ArduPilot, the two open-source autopilots: custom inspection rigs, OEM airframes, research platforms and in-house designs. They all talk MAVLink, they all work with QGroundControl, and they can all be flown from far away over any IP network. What they do not come with is the operating layer a closed platform ships: hardened links, cloud control with defined handover, logging conventions and procedures. Remote operations on an open stack are as good as the team that designs and runs them.

PX4 or ArduPilot: what changes for the operator

PX4

BSD 3-Clause licensed and hosted by the Dronecode Foundation, a Linux Foundation project that holds the trademarks; "no single company owns the name or controls the roadmap". Supports multicopters, fixed-wing, VTOL, helicopters and rovers. External control runs through Offboard mode over MAVLink (including MAVSDK) or ROS 2.

ArduPilot

GPLv3 licensed. ArduPilot Copter supports multicopters, traditional helicopters and unusual frames such as single and coax copters, and fully autonomous missions. Mission Planner is its best-known ground station, with point-and-click setup.

What they share

MAVLink as the language between aircraft, ground station and companion computer, and QGroundControl as a ground station that fully configures and flies both.

For a remote pilot the day-to-day difference is mostly in parameter names, flight mode behavior and failsafe options. A good operator team writes the procedure against the autopilot actually on the aircraft, and does not assume a PX4 failsafe behaves like an ArduPilot one.

The remote link: telemetry over 4G/LTE

On site, these aircraft usually talk to the ground station over a telemetry radio. For remote operations the link becomes IP: a companion computer or a cellular telemetry device on the aircraft carries MAVLink over a 4G or 5G modem to a server or VPN, and the pilot's ground station connects to that. PX4's companion computer guide recommends Ethernet between flight controller and companion where supported, and recommends MAVLink Router for bridging MAVLink to ground stations or IP networks, with MAVProxy as an alternative. On the ArduPilot side, cellular telemetry devices such as UAVCast carry MAVLink over 3G/4G networks over what its documentation calls nearly unlimited distances.

Coverage at altitude

ArduPilot's UAVCast page warns that most cellular coverage is directed at only 200 to 300 ft AGL, so flights higher up, especially outside metro areas, may lose coverage. Survey the route with a modem at flight altitude before you rely on it.

Video

QGroundControl streams video with instrument overlays. Over cellular, video is usually the first thing to degrade, so decide in advance which decisions the pilot can make on telemetry alone.

Redundancy

A second modem on a different carrier, or a local radio kept as backup, turns a single point of failure into a degraded mode. Whatever you build, the failsafe has to assume the link will drop.

Latency

Cellular round-trip delay is variable. Waypoint missions and supervised autonomy tolerate it; precise manual flying near structures does not. Our latency guide covers budgets by task.

Secure it before you put it on the internet. The PX4 docs state plainly that "PX4 ships with every control interface unauthenticated, unsigned, and unencrypted" and that securing a deployment is the integrator's job. A MAVLink port reachable from a public IP is a control interface reachable by anyone. Put the link inside a VPN, restrict who can connect, and enable message signing where your stack supports it.

Failsafes: design them for a remote pilot

On an open stack the failsafe is a set of parameters you choose. For remote operations these are the ones that matter most, and they should be set, tested in simulation or on the bench, and written into the procedure.

ArduPilot GCS failsafe

Triggers after FS_GCS_TIMEOUT seconds without a heartbeat from the ground station; the ArduPilot docs give the default as 5 seconds. FS_GCS_ENABLE selects the action: RTL, SmartRTL or RTL, SmartRTL or Land, Land, Auto DO_LAND_START or RTL, or Brake or Land, and FS_OPTIONS can let an Auto mission continue. When the heartbeat returns, the copter stays in its failsafe mode until the pilot changes mode, which a remote pilot needs to know before they reconnect.

PX4 data link loss

NAV_DLL_ACT sets the action when the MAVLink ground station link is lost (Hold, Return, Land, Disarm, Terminate or disabled) after COM_DL_LOSS_T, and COM_DLL_EXCEPT lists modes where it is ignored. For most failsafes PX4 holds for COM_FAIL_ACT_T seconds before acting, giving the operator time to intervene.

PX4 manual control loss

NAV_RCL_ACT and COM_RC_LOSS_T. PX4's docs warn the vehicle keeps flying on the last stick positions until RC loss triggers, so keep the timeout short, which matters when the "stick" is a joystick on the far end of a cellular link.

Geofence

GF_ACTION, GF_MAX_HOR_DIST and GF_MAX_VER_DIST in PX4. The action fires only after the fence is crossed, so PX4 advises Hold with a safety margin for strict no-fly areas.

Companion computers and autonomy

Most remote setups put a Linux companion computer next to the flight controller: it runs the modem, the router, the camera pipeline and any onboard autonomy. PX4 lists Pixhawk Autopilot Bus carriers (ARK Jetson, Holybro Jetson and Raspberry Pi CM4 baseboards) and managed systems such as Auterion Skynode and ModalAI VOXL 2. Software options include MAVSDK, ROS 2, and ROS 1 with MAVROS.

When the companion flies the aircraft, PX4's Offboard mode is the interface: it follows position, velocity, acceleration, attitude or lower-level setpoints, and needs a proof-of-life signal at 2 Hz or more. If MAVLink setpoints stop for longer than COM_OF_LOSS_T, PX4 leaves Offboard and applies COM_OBL_RC_ACT. Over ROS 2, PX4 does not trigger that failsafe if setpoints stop arriving, so the controller must keep streaming them, and the docs warn that conflicting setpoint writes can cause catastrophic behavior. Takeoff, landing and return are better left to their dedicated modes.

Running MAVLink fleets from a remote operations center

One-to-many supervision

QGroundControl manages several vehicles at once, which makes supervising multiple automated missions practical. How many aircraft one pilot may supervise at a time is set by your approvals, not by the software.

Mission planning

Missions are planned in QGroundControl or Mission Planner, version-controlled with the parameter file they assume, and reviewed before each campaign. A mission is only valid for the parameter set it was tested with.

Takeover

A defined path for each phase: mode change from the ground station, joystick or gamepad control through QGroundControl, or an RC pilot on site. The procedure names who has authority and how it moves.

Airspace and visual observers

The same airspace rules and waiver conditions apply as for any other aircraft in your program. Observers are briefed on the aircraft's failsafe behavior, since a custom build may react differently from what they are used to.

Data delivery

Flight logs downloaded through the ground station, geotagged imagery, video and payload data, tagged by site, aircraft and mission, plus the parameter snapshot for each flight.

A remote preflight for a MAVLink aircraft

1. Link

Cellular signal and latency at the site, VPN connected, only authorized ground stations attached, backup link tested.

2. Configuration

Firmware version and parameter file match the approved baseline; failsafe, geofence and return settings confirmed on screen.

3. Mission

Mission loaded, altitude and return height checked against the airspace and the obstacles on site, abort points reviewed.

4. People

Site contact or observer on the call, launch area clear, takeover roles confirmed out loud.

5. Recording

Logging on, video recording on, and the flight entered against the site and mission so the data has a home before it exists.

What a good open-stack operator does differently

Checks the parameter file against the approved baseline before every campaign. A changed failsafe or geofence parameter is the open-stack equivalent of a firmware surprise.
Rehearses link loss: pulls the modem on the bench and in simulation, and confirms the aircraft does what the procedure says.
Knows the reconnect behavior. On ArduPilot, a copter that entered failsafe stays in that mode until someone changes it.
Logs the firmware version, the companion software version and the parameter hash with each flight.
Treats a ground station that has never connected as a hazard: ArduPilot's GCS failsafe stays inactive if no GCS has ever connected.

US regulatory notes, as of October 2026

Aircraft origin

Compliance depends on the airframe, not the autopilot. The FCC's proposed DA 26-758, which targets previously authorized foreign drones with certain capabilities, would exclude Blue UAS Cleared List hardware and Buy American domestic end products, per DroneXL. A US-built PX4 or ArduPilot aircraft may fall outside it; one built on foreign-made components needs checking. The proposal was not final.

BVLOS

Part 108 was still under review at OIRA in the latest reporting, per PickDrones, so BVLOS flights on custom aircraft still need case-by-case FAA approval. Expect the safety case to cover your link design, failsafe settings and detect-and-avoid approach, since there is no manufacturer baseline to borrow.

This summarizes public sources, not legal advice.

How RoboPilots runs MAVLink aircraft

If it speaks MAVLink, a trained operator can fly or supervise it. Your aircraft, autopilot configuration and ground station stay yours. We train a dedicated group of Part 107 remote pilots on your airframe, your parameter baseline, your link and your procedures before they fly a live mission, and they work inside the approvals your program holds.

One-week trial

A short run on your aircraft sets the flights-per-pilot-shift baseline and shows how your link and failsafes behave in practice.

Coverage

Shifts across time zones, including US Pacific.

Data

Imagery, video, payload data and flight logs tagged by site and mission, with the parameter snapshot attached.

Interfaces, specs and sources

  • MAVLink
  • QGroundControl
  • Mission Planner
  • MAVSDK / ROS 2 (PX4 Offboard)
  • Companion computer + MAVLink Router
  • 4G/LTE telemetry

Specs are the maker's published figures, checked on . RoboPilots is not affiliated with PX4 (Dronecode Foundation) and ArduPilot; product names are trademarks of their owners.

Frequently asked questions

How do I fly a PX4 or ArduPilot drone over 4G or LTE?
Put a cellular modem on the aircraft, usually through a companion computer running a MAVLink router or a dedicated cellular telemetry device, and connect your ground station to it over a VPN or server. Check coverage at flight altitude, since cellular coverage is often aimed at low altitudes.
What happens if the ground station link drops?
It depends on your failsafe parameters. ArduPilot's GCS failsafe triggers after FS_GCS_TIMEOUT, 5 seconds by default, and can RTL, SmartRTL, land or brake. PX4 uses NAV_DLL_ACT after COM_DL_LOSS_T, with options including hold, return and land.
How do I control PX4 from a companion computer?
Use Offboard mode over MAVLink (for example with MAVSDK) or ROS 2. PX4 needs a proof-of-life signal at 2 Hz or more, and leaves Offboard if MAVLink setpoints stop for longer than COM_OF_LOSS_T.
Is it safe to expose MAVLink to the internet?
Not without protection. PX4's documentation says it ships with every control interface unauthenticated, unsigned and unencrypted, and that securing a deployment is the integrator's responsibility. Use a VPN and restrict access.
Which ground station should I use, QGroundControl or Mission Planner?
QGroundControl supports both PX4 and ArduPilot on desktop and mobile, with mission planning, video, joystick control and multi-vehicle support. Mission Planner is the ArduPilot ground station its documentation names, with point-and-click setup and a full ground control interface.
Can a custom PX4 or ArduPilot drone get a BVLOS waiver?
US BVLOS currently needs case-by-case FAA approval while the Part 108 rule is under review. Custom aircraft can apply, but the operator has to build the safety case, including link design and failsafes, without a manufacturer baseline.