This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Autopilot Integration Guides

Connecting any UAVLAS landing system to ArduPilot and PX4 autopilots.

Application

These guides are common to every UAVLAS system that talks to the autopilot over MAVLink: ULS-XCopter, ULS-ProCopter, ULS-Heli and ULS-XSpot. They cover autopilot parameters, link verification and tuning of precision loiter and landing. Product-specific installation, pinouts and wiring are in each product’s Operation Manual and Interface Control Document.

Documents

Each page is generated from the source of the controlled PDF; the numbered PDF can be downloaded from the document portal.

1 - ArduPilot Integration Guide

Connect any UAVLAS precision landing system to ArduPilot: PLND, serial and stream-rate parameters, LANDING_TARGET check, precision loiter and PID tuning.

ULSDC-PBIG161026-AP · version 1.0.0 · issued October 16, 2026
The numbered PDF is the controlled copy: download it from the portal.

Introduction

Purpose

This guide describes how to connect a UAVLAS precision landing system to an ArduPilot (ArduCopter) autopilot, configure the autopilot, verify the link and tune precision loiter and landing.

Intended Audience

Integrators and operators setting up precision landing on ArduPilot vehicles.

Applicability

This guide applies to every UAVLAS precision landing system that connects to the autopilot over MAVLink: ULS-XCopter, ULS-ProCopter, ULS-Heli and ULS-XSpot. Product-specific installation, pinouts and wiring are in each product’s Operation Manual and Interface Control Document.

Integration

Preparing for Integration

  • Download the latest version of ULS-Tools. Connect all UAVLAS devices to a PC and update their firmware before proceeding.
  • Update the autopilot to the latest ArduCopter version.
  • Install the transmitter and receiver(s) and wire the receiver to a free autopilot UART (TELEM) port. Pinouts and wiring diagrams are in the Interface Control Document and Operation Manual of your product.
  • Configure the transmitter in ULS-Tools.
  • Configure the receiver in ULS-Tools (on dual-receiver systems, configure both receivers).
Generation 3 receivers (ULS-Heli-G3, ULS-XSpot-G3) have an RS422 interface. A UART-only autopilot needs the ULS-XX-UART-RS422 onboard adapter.

The system communicates with ArduPilot over MAVLink 2 and reports the target in MAV_FRAME_BODY_FRD.

Example of receiver configuration:

Receiver configuration for ArduPilot

Figure: Receiver Configuration for ArduPilot

Autopilot Configuration

Setup PLND Section

ParamValueComment
PLND_ENABLED1Enable the precision landing module
PLND_TYPE1Use type = 1 to enable UAVLAS sensor over the companion computer driver

Table: ArduPilot PLND Section Parameters All other PLND parameters should remain at defaults, or be set according to your vehicle requirements.

ArduPilot PLND Configuration

Figure: PLND Configuration Example

It is recommended to test several Kalman filter options during test flights (or switch it off) to achieve the best performance.

Set Up Serial Communication in SERIALx Section

The example uses SERIAL2; use the number of the port the receiver is wired to.

ParamValueComment
SERIAL2_BAUD230Baud rate — must match the receiver UART baud rate setting
SERIAL2_OPTIONS0Default
SERIAL2_PROTOCOL2MAVLink 2 protocol

Table: ArduPilot SERIALx Section Parameters Set up serial stream rates in the SRx section. The sensor requires the following data from the autopilot:

ParamValueComment
SR2_EXTRA1 (or MAV2_EXTRA1)20Attitude stream at 20 Hz — required for compass mode yaw orientation
SR2_POSITION (or MAV2_POSITION)20Optional — Vehicle LOCAL_POSITION_NED stream at 20 Hz for absolute target position calculation

Table: ArduPilot SRx Stream Rate Parameters

Check Setup

When configuration and wiring are correct, GPS is available, and the receiver is in the field of view of the transmitter, you will see the LANDING_TARGET MAVLink message in the MAVLink Inspector (Mission Planner example shown):

LANDING_TARGET Message in MAVLink Inspector

Figure: LANDING_TARGET Message in MAVLink Inspector

Setup Precision Loiter Mode

Attach any unused switch to the PrecLoiter option to enable precision loiter mode:

PrecLoiter Switch Configuration

Figure: PrecLoiter Switch Configuration

Activate the switch and confirm messages “PrecLoiter: LOW” and “PrecLoiter: HIGH” appear. After a test flight above the target, check telemetry for PL offset data.

Telemetry PL Data

Figure: Telemetry Data Showing PL Offsets

PID Tuning

In case of oscillations or instability during landing, check the PID parameters in ArduPilot Extended Tuning.

It is recommended to tune Position XY, Velocity XY, and Loiter Speed for the best performance:

Extended Tuning PID Parameters

Figure: ArduPilot Extended Tuning Parameters

Settings of Velocity XY P = 0.8, I = 0.2, D = 0.6 have worked well for some customers as a starting point.
It is recommended to start PID testing and performance validation in Precision Loiter mode before enabling full precision landing.

For additional information, see the ArduPilot documentation at https://ardupilot.org/ardupilot/


2 - PX4 Integration Guide

Connect any UAVLAS precision landing system to PX4: MAVLink port parameters, LANDING_TARGET check in QGroundControl and precision landing missions.

ULSDC-PBIG161026-PX4 · version 1.0.0 · issued October 16, 2026
The numbered PDF is the controlled copy: download it from the portal.

Introduction

Purpose

This guide describes how to connect a UAVLAS precision landing system to a PX4 autopilot, configure the MAVLink port, verify the LANDING_TARGET message and fly a precision landing mission.

Intended Audience

Integrators and operators setting up precision landing on PX4 vehicles.

Applicability

This guide applies to every UAVLAS precision landing system that connects to the autopilot over MAVLink: ULS-XCopter, ULS-ProCopter, ULS-Heli and ULS-XSpot. Product-specific installation, pinouts and wiring are in each product’s Operation Manual and Interface Control Document.

Integration

Preparing for Integration

  • Download the latest version of ULS-Tools. Connect all UAVLAS devices to a PC and update their firmware before proceeding.
  • Update the autopilot to the latest PX4 version. The stock PX4 firmware supports UAVLAS systems; no custom build is needed.
  • Install the transmitter and receiver(s) and wire the receiver to a free autopilot UART (TELEM) port. Pinouts and wiring diagrams are in the Interface Control Document and Operation Manual of your product.
  • Configure the transmitter in ULS-Tools.
  • Configure the receiver in ULS-Tools (on dual-receiver systems, configure both receivers).
Generation 3 receivers (ULS-Heli-G3, ULS-XSpot-G3) have an RS422 interface. A UART-only autopilot needs the ULS-XX-UART-RS422 onboard adapter.

The system communicates with PX4 over MAVLink 2 and reports the target in MAV_FRAME_LOCAL_NED.

Example of receiver configuration:

Receiver configuration for PX4

Figure: Receiver Configuration for PX4

Configure PX4 Autopilot

Values are provided as an example (Pixhawk4-mini AP):

PX4 ParameterValueComment
MAV_1_CONFIGTELEM/SERIAL4Requires reboot to apply the next parameters
MAV_1_FORWARDEnabledForward MAVLink messages
MAV_1_MODEOnboardSet link mode to onboard
SER_TEL4_BAUD460800_8N1Must match the UART baud rate set in the receiver configuration

Table: PX4 Autopilot Configuration Parameters

Running and Testing

After configuration and wiring, power up the drone and transmitter. In QGroundControl, go to Analyze Tools → MAVLink Inspector and check for the LANDING_TARGET MAVLink message.

If the vehicle is providing a LOCAL_POSITION_NED message to the UAVLAS system and is hovering over the beacon, the field position_valid = 1 will appear in LANDING_TARGET.

To perform precision landing, create a flight plan and enable the Precision Landing option on the landing waypoint.

LANDING_TARGET may be unavailable when connected over USB. Use a telemetry channel (UART modem, etc.) to connect the drone to QGroundControl during testing.
LANDING_TARGET in QGroundControl

Figure: LANDING_TARGET Message in QGroundControl

For additional information, see the PX4 documentation at https://docs.px4.io/main/en/