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:

Figure: Receiver Configuration for ArduPilot
Autopilot Configuration
Setup PLND Section
| Param | Value | Comment |
|---|
| PLND_ENABLED | 1 | Enable the precision landing module |
| PLND_TYPE | 1 | Use 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.

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.
| Param | Value | Comment |
|---|
| SERIAL2_BAUD | 230 | Baud rate — must match the receiver UART baud rate setting |
| SERIAL2_OPTIONS | 0 | Default |
| SERIAL2_PROTOCOL | 2 | MAVLink 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:
| Param | Value | Comment |
|---|
| SR2_EXTRA1 (or MAV2_EXTRA1) | 20 | Attitude stream at 20 Hz — required for compass mode yaw orientation |
| SR2_POSITION (or MAV2_POSITION) | 20 | Optional — 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):

Figure: LANDING_TARGET Message in MAVLink Inspector
Setup Precision Loiter Mode
Attach any unused switch to the PrecLoiter option to enable precision loiter mode:

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.

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:

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:

Figure: Receiver Configuration for PX4
Values are provided as an example (Pixhawk4-mini AP):
| PX4 Parameter | Value | Comment |
|---|
| MAV_1_CONFIG | TELEM/SERIAL4 | Requires reboot to apply the next parameters |
| MAV_1_FORWARD | Enabled | Forward MAVLink messages |
| MAV_1_MODE | Onboard | Set link mode to onboard |
| SER_TEL4_BAUD | 460800_8N1 | Must 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.

Figure: LANDING_TARGET Message in QGroundControl
For additional information, see the PX4 documentation at https://docs.px4.io/main/en/