ULS-XCopter-G2 Operation Manual
ULSDC-PBOM310325 · version 0.1.0 · issued April 2, 2025
The numbered PDF is the controlled copy: download it from the portal.
Introduction
Purpose
The purpose of this operation manual is to provide comprehensive guidance on the installation, configuration, operation, and troubleshooting of the ULS-XCopter-G2 System. This manual is designed to help users effectively integrate and utilize the system for precision landing and navigation applications.
Scope
This document is intended for use by system engineers, integrators, operators, and developers working with ULS-XCopter-G2 systems. It provides detailed information on system operation, configuration procedures, and integration with autopilot systems.
System Base Components
Transmitter (Ground Unit)
A transmitter is a device placed on the ground (platform, moving object). It emits a signal in the Infrared range and serves as a kind of beacon. Transmitter marks position for drone landing.

The primary function of the transmitter is to continuously send out a coded signal that can be detected and interpreted by the receiver unit onboard the XCopter. This signal contains critical information needed for the operation of the ULS-XCopter, such as positional data, commands, and system status.
Receiver (Onboard Unit)
A receiver is a device that is placed on board an aircraft.

The receiver decodes this signal to derive flight information such as positional coordinates, real-time transmitter status updates, and landing guidance. It interprets the data to navigate accurately and ensure drone follows the intended flight path. It provides feedback to the autopilot systems, such as Ardupilot and PX4, to adjust the flight parameters as needed for optimal and safety landing or hovering above.
Operation Theory
All data communication from the transmitter to the receiver is done in the optical band, which eliminates interference with other radio devices and radio signals.
Signal Transmission
The transmitter contains an array of emitting elements that operate in the infrared range. The transmitter emits a modulated signal with each of the transmitter emitters transmitting a unique signal. Each of the transmitter emitters emits in a unique direction.
Video: ULS-XCopter-G2 transmitter in action showing IR LED distributed illumination pattern
Position Calculation
The receiver receives the signal from the transmitter, decodes it, and by analyzing the signal can determine in which direction relative to the transmitter it is located. The distance to the transmitter is determined by the signal strength. Thus the system determines the position in a polar coordinate system with the origin at the center of the transmitter.
Orientation Considerations
The receiver position readings will change when the transmitter orientation is changed, but the change in receiver orientation will have no effect if the transmitter and receiver are within the range of visibility of the systems specified in the specification.
This must be taken into account when working with the system. In order to calculate the position of the receiver without errors in case of orientation changes, the transmitter is equipped with an inertial orientation measurement system. This system allows you to determine the orientation of the module and transmit this information to the receiver by means of an infrared signal so that it can correct the position according to the inclination of the transmitter (transmitter level correction function).
Coordinate System Conversion
The system can then convert the polar coordinate system to a Cartesian coordinate system. In this case, this coordinate system originates at the center of the transmitter.
To navigate and ensure a precise landing, the autopilot needs information about the position of the landing point in a coordinate system either attached to the drone’s body or in a global coordinate system. For this purpose, the receiver requests information from the autopilot about its position and orientation. Then, using this information and information about the orientation of the ground transmitter, the receiver can calculate the position of the transmitter relative to the drone in the required coordinates.
Distance and Azimuth Correction System (DACS)
The unit also has a DACS (Distance and Azimuth Correction System). This allows you to more accurately calculate the YAW (Yaw) of the receiver versus the transmitter. This system serves as an aid in calculating the mutual orientation using a compass or MRX system.
System Applications
It is important to point out that the system will act as a navigation sensor. The information from our system can be used by autopilots and drones for various purposes:
- Landing vehicle on platform
- Hovering over a point of interest
- Accurately dropping a load or precisely lowering it on a tether
Functional Description Diagram

Figure: ULS-XCopter-G2 Functional Description
System Specifications
Common Specification
| Parameter | XCopter-G2 |
|---|---|
| Distance range (m) | 0.1 - 20.0 |
| Working angle (deg) | 60 |
| Data update frequency (Hz) | 20 |
Table: Common System Specifications
Receiver (Onboard Unit)
| Parameter | XCopter-G2 |
|---|---|
| Field of view (deg) | 100 |
| Dimensions (mm) | 20 x 32 x 9 |
| Weight (g) | 10 |
| Power Consumption (W) | 0.3 |
| Voltage supply (V) | 5.0 |
| Interfaces | USB, CAN, UART |
Table: Receiver Specifications
Transmitter (Ground Unit)
| Parameter | XCopter-G2 |
|---|---|
| Field of emitting (deg) | 60 |
| Dimensions (mm) | 50 x 50 x 23 |
| Weight (g) | 45 |
| Power Consumption (W) | 2.4 |
| Voltage supply (V) | 7.5 - 27 |
| Interfaces | USB, CAN, UART |
Table: Transmitter Specifications
Pinout Information
Receiver Pinout

Figure: ULS-XCopter-G2 Receiver Connector
| Pin Number | XCopter-G2 |
|---|---|
| 1 | +5V Input |
| 2 | UART RX |
| 3 | UART TX |
| 4 | CAN H |
| 5 | CAN L |
| 6 | USB D- |
| 7 | USB D+ |
| 8 | UART2 RX |
| 9 | UART2 TX |
| 10 | GND |
Table: Receiver Pinout (JX1)
Transmitter Pinout

Figure: ULS-XCopter-G2 Transmitter Main Connector
| Pin Number | XCopter-G1&G2 |
|---|---|
| 1 | Vcc Input (+7.5V..+27V) |
| 2 | CAN2 H |
| 3 | CAN2 L |
| 4 | UART TX |
| 5 | UART RX |
| 6 | GND |
Table: Transmitter Main Connector Pinout (JX1)

Figure: ULS-XCopter-G2 Transmitter Submodule Connectors
| Pin Number | XCopter-G1&G2 |
|---|---|
| 1 | +5V Output |
| 2 | CAN1 H |
| 3 | CAN1 L |
| 4 | GND |
Table: Transmitter Submodule Connectors Pinout (JC1-JC4)
Mechanical Dimensions
Receiver (G2) Dimensions

Figure: ULS-XCopter-G2 Receiver Dimensions (mm)
Transmitter (G2) Dimensions

Figure: ULS-XCopter-G2 Transmitter Dimensions (mm)
Integration
Ground Unit Installation (Transmitter)

Figure: Transmitter Mechanical Interface
The transmitter can be installed both indoors and outdoors. However, please note that this version of the system is not equipped with protection against moisture and dust. When installing the transmitter, care should be taken to ensure line-of-sight conditions between transmitter and receiver.

Figure: Transmitter installation variant
The device must be installed on a clean surface to avoid any obstacles. The device must be installed in an open area. There must be no obstacles in the radiation field of the transmitting device. If possible, avoid installing the system near vertical surfaces that can strongly reflect infrared radiation. The 4 holes on the bottom of the device can be used to mount the device. For fastening, use M2 screws, thread depth 2 mm.
It is allowed to install the device under a surface that is optically transparent to infrared radiation by more than 95%. Glass or transparent plastic can act as such a surface. In this case, to increase the coverage of the system at low altitudes, it is recommended to install the transmitter below the level of the platform. This will allow you to expand the coverage of the system to a larger area during touchdown.
Figure: Transmitter illumination power
After installation, it is recommended to verify the correctness of the compass reading and, if necessary, correct the compass calibration.
Wiring Transmitter
The transmitter only requires power to operate. The transmitter can be powered either via USB-C or via a 6-pin connector located nearby. External compass (IMU) and control data can be sent over UART and CAN protocol. See pinout information of transmitter.
Configure Transmitter in ULS-Tools

Figure: ULS-Tools Transmitter Configuration Interface
Configuration parameters:
| Parameter | Description |
|---|---|
| Device name | Name of the device displayed in main window |
| Device low voltage | Voltage limit to start indicator flash warning |
| Device off voltage | Voltage limit to disable IR emitters to prevent battery under discharge |
| Device illumination power | Emitters power correction (100 for normal operation) |
| Emitter (enable/disable) | Disable (for configure) or enable emitter |
| Compass Override (enable/disable) [deg] | Enable in case of module installed on fixed platform. The entered value will be used instead of internal compass data in “Compass mode”. In this way, the transmitter must be turned on the corresponding angle, CW to North. |
Table: Transmitter Configuration Parameters
Compass Calibration
This compass is used to calculate an absolute heading of the ground unit. This information is transmitted to the Receiver and used to calculate NED coordinates. To be able to use compass, it needs to be calibrated before.
To calibrate compass:
- Press “Reset calibrations”
- Rotate device in different directions until you get 3 circles on charts (see picture below)
- Press “Apply calibration” & “Apply configuration”

Figure: Compass Chart Before Calibration

Figure: Compass Chart After Calibration
Emitters Power Indicator
On this field, system shows emitter’s state.

Figure: Emitters Power Indicator
Charts Transmitter
Program displays several parameters of the device on charts:
- IMU data
- Voltage (not valid when powered from USB)
- Temperature data

Figure: Transmitter Charts - IMU and Compass Data

Figure: Transmitter Charts - Voltage and Temperature
LED Indicator
You can check the status of the transmitter by looking at the LED indicator on the transmitter. LED flashes in sequences of colors, so it can flash green-red-off-off or green-off-blue-off.
| Flash Color | Description |
|---|---|
| Green | Normal operation |
| Orange | Low voltage |
| Red | Problem, check device. If it is first in sequence it can be LED malfunctions or power voltage below minimum, second for compass fail detect |
| Blue | Compass OK and device points to the North (brightness of illumination depends on how precise it is pointed to the North) |
Table: LED Indicator Status
On-board Unit Installation (Receiver)
The receiver can be installed both inside and outside the vehicle. However, please note that this version of the system is not equipped with protection against moisture and dust. The orientation of the receiver does not matter - however, when installing the receiver, care should be taken to ensure line-of-sight conditions between the transmitter and receiver throughout the entire field of view of the receiver (100 deg). The receiver sensor zone is indicated in the figure.

Figure: Receiver Sensor Zone
Once the receiver is installed, enter the appropriate receiver offset information into the configuration.
Wiring Receiver Pixhawk 4 Autopilot Connection Using UART

Figure: Receiver Pixhawk 4 Autopilot Connection
Wiring for MultiRX Mode (MRX)

Figure: MultiRX Mode Wiring Diagram
Configure Receiver in ULS-Tools

Figure: ULS-Tools Receiver Configuration Interface
Configuration parameters are detailed in the table below.
Status Information Field
In the status display area, you can check the status of the receiver and visualize the position of the receiver relative to the drone. For XCopter-G2, the YAW orientation of the drone received from the DACS system is displayed.

Figure: Receiver Status Information Field
Receiver Charts
Program displays several parameters of the device on charts:
- Angles, Positions in different coordinate systems
- Distance
- Vehicle information (position and velocity)
- Data from Transmitter’s IMU

Figure: Receiver Charts - Position and Distance

Figure: Receiver Charts - Vehicle Data and IMU
Integration Instructions for Ardupilot Based Systems
Preparing for Integration
Download the latest version of the ULSTools software. It is recommended to connect all sensors to PC and update the firmware for all UAVLAS devices in the system.
Update autopilot with Arducopter latest version.
Configure transmitter.
Configure receiver.
Current version of the system can use MavlinkV2 protocol to communicate with Ardupilot autopilots (for now it supports 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 precision landing module |
| PLND_TYPE | 1 | Use type = 1 to enable UAVLAS sensor over Companion computer driver |
Table: PLND Section Parameters All other parameters in PLND section defaults or use accordingly to your vehicle set up requirements.
On the picture example configuration provided:

Figure: PLND Configuration Example
Set Up Serial Communication in SERIALx Section
| Param | Value | Comment |
|---|---|---|
| SERIAL2_BAUD | 230 | Select baud rate - it needs to be same as in receiver’s configuration |
| SERIAL2_OPTIONS | 0 | Default |
| SERIAL2_PROTOCOL | 2 | MAVlink2 protocol support |
Table: Serial Communication Parameters Set up serial communication messages in SRx Section. Sensor requires some data from autopilot to work in different modes.
| Param | Value | Comment |
|---|---|---|
| SR2_EXTRA1 (or MAV2_EXTRA1) | 20 | Stream Attitude information (20Hz) (YAW Orientation is required for sensor in compass mode) |
| SR2_POSITION (or MAV2_POSITION) | 20 | Optional - Stream Vehicle position (20Hz) (LOCAL_POSITION_NED is required for sensor to provide LOCAL position for the target) |
Table: Stream Rate Parameters
Check Setup
If all settings are done correctly, autopilot has GPS data and receiver is in the field of view of the transmitter, you can find LANDING_TARGET message in mavlink inspector (a screenshot from Mission Planner):

Figure: LANDING_TARGET Message in MAVLink Inspector
Setup Precision Loiter Mode
To enable precision loiter mode you need to attach any unused switch to PrecLoiter option see picture below:

Figure: PrecLoiter Switch Configuration
Try to use this switch and you must get messages: “PrecLoiter: LOW” and “PrecLoiter: HIGH”. After test flight above target check telemetry - you will find PL data contains offsets from landing target.

Figure: Telemetry Data with PL Offsets
PID Tuning
In case of oscillations and other issues at landing stage, please check PID parameters of Ardupilot.
It is recommended to check the Position XY, Velocity XY and Loiter speed parameters in “Extended tuning” section to achieve the best performance.

Figure: Extended Tuning Parameters
For additional information, see Ardupilot manual.
Integration Instructions for PX4 Based Systems
Preparing for Integration
Download the latest version of the ULSTools software. It is recommended to connect all sensors to PC and update the firmware for all UAVLAS devices in the system.
Update autopilot with PX4 latest version.
Configure transmitter.
Configure receiver.
Current version of the system can use MavlinkV2 protocol to communicate with PX4 autopilots (for now it supports MAV_FRAME_LOCAL_NED).
Example of receiver configuration:

Figure: Receiver Configuration for PX4
Configure PX4 Autopilot
Values are provided as example (in our case, Pixhawk4-mini AP):
| PX4 Parameter | Value |
|---|---|
| MAV_1_CONFIG | TELEM/SERIAL4 (require reboot to set next params) |
| MAV_1_FORWARD | Enabled |
| MAV_1_MODE | Onboard |
| SER_TEL4_BAUD | 460800_8N1 (It needs to be corresponding to the setting of UART in Receiver ULS-QR1-R1 connected to PX4 AP) |
Table: PX4 Configuration Parameters
Running and Testing
After configuration and wiring, power up drone and transmitter. On QGround Control, go “Analyze Tools” -> MAVLINK Inspector. Check LANDING_TARGET MAVLINK message.
In case the vehicle provides LOCAL_POSITION_NED message to UAVLAS system, and it hovers over beacon, you get “position_valid = 1” in LANDING_TARGET.
To perform precision landing, you need to create a flight plan and enable Precision Landing option on the landing point.
Figure: LANDING_TARGET in QGround Control
Troubleshooting
Before Starting, Check
- You are using latest version of ULS-Tools, latest firmware on ULS-XCOPTER transmitter and receiver, and latest Ardupilot (PX4) firmware.
No MAVLink Message
ULS-XCopter transmitter is switched on and receiver is in field of view of transmitter.
Red light on receiver flashes fast (> 5 times per second). If it flashes 2 times per second it means that transmitter is not switched on, or not in field of view. If it does not flash - check power.
Check Serial settings on AP params and on receiver. Be sure you have set EXTRA params for corresponding serial port on AP.
Check wiring power and RX, TX (see pinouts and wiring diagram).
Check on receiver that MAV_FRAME_BODY_FRD (MAV_FRAME_LOCAL_NED) is enabled.
Not Holding in Precision Loiter Mode But MAVLink Message OK
- Check that you setup Precision loiter mode on AP.
Circular Motions During Landing
Check compass calibration on ground unit.
Check compass calibration on AP.
Check magnetic interference on ground.
Use compass override mode to debug landing.
Check precision landing PID settings.
The Landing is Not Precise Enough
Check the position control PID settings of AP.
For Ardupilot check Kalman filter settings.
Check filter smoothness param on receiver.
Check trajectory Jerk settings on AP.
Safety Information
- Do not expose the system to moisture or dust without proper protection
- Ensure adequate power supply (minimum 3A for USB connection)
- Do not operate beyond specified temperature range
Change Control
All changes to this document must be reviewed and approved by the relevant technical leads and stakeholders.