UAVLAS is develop a ruggedized version of the ULS-XCopter to meet the needs of customers who require a more robust system at an affordable price. Achieving an IP67 dust and waterproof rating for transmitter ensures that the device is well-suited for use in harsh environments, which can be particularly important in industrial application. It will also provide additional reassurance to users working in adverse weather conditions. In addition to dust and moisture protection, the system (as well as the rest of our equipment) remains functional in bright sunlight and at night. In addition, the system can be equipped with a heating system to ensure operation in heavy snow conditions. Also, this type of system has a wide viewing angle (up to 100 degrees) for both transmitter and receiver. This allows the system to work confidently both at height and up to full touchdown
This is the multi-page printable view of this section. Click here to print.
ULS-ProCopter
1 - Application
Landing on platform, emergency landing
To perform an accurate landing on the platform, it is necessary to mark out the landing area transmitter. Due to its small size, it can be easily placed even on a small platform. In case of an emergency landing, the transmitter can simply be placed on any surface and connected to a power source. The receiver must be mounted on board of the aircraft in a line of sight with the transmitter. It is desirable to place the receiver closer to the center of the drone, but if it is not possible to place the receiver directly in the landing center area, the offset can be eliminated by adjusting the receiver accordingly. For more information, see the integration section.
Landing on the elevated platforms
Since the system calculates the distance to the landing point by itself, there is no need to use additional tools to ensure landing on a float plane that is at a significant elevation from the surrounding environment. This will be useful when landing on masts, tall structures, large vehicles, etc. No additional adjustments are required in this case.
Landing on balcony
A special case of landing is landing on a platform accessible only from one side. For example, balconies. In this case, it is not possible to make a vertical landing. With our system, however, you can easily select the landing angle simply by orienting the transmitter in the desired direction. In this case, the receiver will continuously transmit updated data about the position of the landing site so that the trajectory of the aircraft will not be vertical. Also, in this mode, you can dynamically control the position of the drone by changing the inclination of the transmitting beacon. Please note that this function can be disabled in the receiver settings and then the landing will always be vertical regardless of the transmitter tilt (e.g. if you are landing on a moving platform).
Wireless charging stations and contactless delivery
The system can be used not only to provide a landing, but also to realize a precise hovering over the desired point. This is useful for e.g. for wireless charging systems - in which the drone is charged while in vision, or for e.g. in cases when the cargo is delivered without contact (dropped). It should be noted that our system provides not only the horizontal position shift, but also the altitude. This allows accurate positioning not only in the horizontal plane, but also in height - this is very important for wireless charging and contactless delivery.
2 - Specification
Common specification:
Parameter | ULS-ProCopter-G1 |
---|---|
Distance range m.: | 0.1 - 20.0 |
Working angle (deg): | >100 |
Data update frequency (Hz): | 20 |
Receiver (on board unit):
Parameter | ULS-ProCopter-G1 |
---|---|
Field of view (deg): | 100 |
Dimensions mm : | 18.4 x 33.4 x 6.9 |
Weight g.: | 10 |
Power Consumption (W): | 0.3 |
Voltage supply (V): | 5.0 |
Interfaces: | USB, CAN, UART |
Transmitter (on ground)
Parameter | ULS-ProCopter-G1 |
---|---|
Field of emitting (deg): | >100 |
Dimensions mm. : | 183 x 183 x 29 |
Weight g.: | 1200 |
Power Consumption (W): | 2.1 |
Voltage supply (V): | 12.0 - 27.0 |
Interfaces : | USB, CAN, UART |
System Measurement Accuracy Diagram

Mechanical dimensions
ULS-ProCopter receiver

ULS-ProCopter transmitter

Receiver pinout

JX1 - External power and control
Pin number | Description |
---|---|
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 |
Transmitter pinout

8-pin connector - Main connector
Pin number | Description |
---|---|
1 | Vcc Input (+12.0V..+27V) |
2 | CAN2 H |
3 | CAN2 L |
4 | UART TX |
5 | UART RX |
6 | USB D- |
7 | USB D+ |
8 | GND |
4 pin connector - Submodules connection
Pin number | Description |
---|---|
1 | +5V Output |
2 | CAN1 H |
3 | CAN1 L |
5 | GND |
3 - Integration
Ground unit installation (transmitter)
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. Device developed to be installed in panel and bolted with M4 screw. All customers get 3d model of system and cuted panel as reference to make integration process more simple.
Panel cut-out drawing.
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.
Configure transmitter in ULS-Tools
Warning
Warning: ULS-ProCopter on beta stage now pls use Beta version of ULS-Tools for configuration and firmware update. You can download it hereNote
To apply any changes, press “Apply Config” button at the bottom of the field.
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 |
Device Indicator Brightness | Adjust transmitter RGB led indicator brightness |
Device CAN address/speed | Setup extenal CAN interface parameters |
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. |
Mag(ExMag) offset/scale | Calibration parameters for internal/external magnetometer |
ExCompass mode only | If enabled - system will not use internal compass. If external compass data unavialible system generate erorr. If idsbled internal compass will be used if External magnetometer unavilible |
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”.
Note
During of calibration you can press “Clear chart” to reset previous compass measurements.Compass chart before calibration:
Compass chart after calibration:

Charts Transmitter
Program display several parameters of the device on charts :
- IMU data.
- Voltage (not valid when powered from USB).
- Temperature data.

Led Indicator
You can check the status of the transmitter looking on 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 of 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). |
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.

Once the receiver is installed, enter the appropriate receiver offset information into the configuration.
Wiring Receiver Pixhawk 4 autopilot connection using UART
Wiring for muliRX mode
Configure Receiver in ULS-Tools
Note
To apply any changes, press “Apply Config” button at the bottom of the field.
Parameter | Description |
---|---|
Device name | Name of the device displayed in main window. |
Receiver offset (Front, Right) [m] | Location of receiver in the drone (in meters). This configuration used to calculate drone heading in MultiRX mode. |
Receiver orientation YAW [deg] (G2 only) | Receiver orientation settings relative to drone frame It required to set for DACS system. |
Receiver prediction time [s] | Prediction time is used to send prediction information of landing position. It is useful to avoid the effect of short terms signal interruptions. Generally, its value can be set from 0.3 up to 1 sec. |
Filter response | Set response for internal position filter of receiver. Hi values make lag tame shorter, lower values smooth position information. |
Transmitter level compensation | Used to compensate Pan-Tilt rotations of the transmitter. It is used in case of landing on the moving objects. |
Noise debug | Use this function to check the noise interference with other devices. In this mode, receiver do not receive the signal from the transmitter, but can capture all the other signals. At the time of the test, transmitter must be switched off, and you can see on Signal Viewer the level of noise and detect what devices around affect the receiver. In general, max level of noise needs to be lower than 0.0025 for Beans B channel. NO OPERATIONS CAN BE PERFORMED IF THIS OPTION IS ENABLED - switch off before the normal use. |
Compass mode (disable/enable) | If settings are disabled - receiver will not perform data calculation based on ground compass data. Multi RX mode and (or) compass mode must be enabled to allow the operation. |
MRX mode (disable/enable) | If settings are enabled - receiver will use secondary receiver to perform the data calculation. Multi RX mode and (or) compass mode must be enabled to allow the operation. |
Device Indicator Brightness | Adjust transmitter led indicator brightness |
Device CAN address/speed | Setup extenal CAN interface parameters |
DACS yaw corewction | Disable or Enable DACS system. |
UART Protocol | Select corresponding protocol to communicate with autopilot. If protocol “MavlinkV2” is selected, you can enable the corresponding MAV_FRAME message to be sent to the autopilot (Ardupilot - MAV_FARME_BODY_FRD and PX4 MAV_FRAME_LOCAL_NED for now) |
UART baud rate | Select UART communication speed. |
Status Information field
In the status display area, you can check the status of the receiver and visualise 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.

Parameter | Description |
---|---|
Carrier | The carrier signal from transmitter is detected. |
SQ_OK | Signal quality of the carrier is ok. |
Pos | RAW sensor position is estimated. |
Vel | RAW sensor velocity. |
Compass | Ground unit orientation is received. |
MRX | Secondary sensor for MRX mode is connected and sending data. |
MRX-YAW | Yaw orientation is calculated using MRX. |
REL-NED | Relative NED position is calculated. |
REL-FRD | Relative FRD position is calculated. |
LLM | Lat Lon Msl position is available (reserved for future options). |
ABS-NED | Absolute position of transmitter is available. |
VEHICLE-NED | Absolute position of vehicle is provided by the autopilot (used to calculate ABS position data). |
BEACON | Indicate System Ok state. |
PREDICTION | Indicate when system uses predicted information for the calculation. |
PLATFORM | Position of landing platform is provided by third party devices. |
Setup MRX mode
This option enables to use data from two receivers to calculate position. It allows calculating receiver yaw orientation using triangular method. In this mode, compass data (on ground and on board) is not affecting the position estimation, so it is more durable way to land. In this mode the maximum distance is limited by 10 m and at altitude above, it will use compass mode.
To set up and check MRX mode do the following:
- Connect receivers on board with CAN BUS (See MRX Wiring).
- Configure “Receiver offset” for both receivers.
- Configure “Receiver orientation YAW” for both receivers (XCopter-G2).
- Enable option “MRX mode”.
- After set up, hover the drone above the transmitter (1 m - 2 m) and check that TDistance and Distance values (On charts “Distances”) are the same (+/- 20%).
- Correct “Receiver offset” option in case of TDistance and Distance are not approximately the same. Increasing position between receivers increases TDistace and backwards.
- Rotate Drove over transmitter (1 m - 2 m) and check the value of the MRX-YAW on chart “GU Orientation”. It needs to be corresponding to the heading of the drone relatively to the transmitter.
Warning
Warning: check “Remote IMU”, “Filter smoothness”, “Receiver sensitivity”, “Receiver prediction time”, setting MUST be equal to ALL the receivers on the vehicle.Note
Please note, you can connect receiver directly to PC using USB pins. It will make the set up and testing receiver much easier. See pinouts info for detailsDACS
The Distance and Azimuth Correction System allows you to determine the orientation of the receiver relative to the transmitter within +/-90 degrees. This system uses 4 additional LEDs on the transmitter. The presence of this system allows you to clarify the orientation of the receiver with a compass or using MRX technology. In case of using MRX technology, DACS tracks the drone’s rotation. Thus, for a system that works in MRX mode it is enough to get the orientation once and in the future, provided it is in the area of the transmitter, the receiver will track the position of the drone even if approaching the transmitter one of the receivers will be out of range and MRX data will be unavailable.
Warning
Warning: It is Very important to configure “Receiver orientation YAW” for both receivers for DACS. You can check orientation settings by comparing real drone orientation with picture on “Status Information Field”Receiver Charts
Program display several parameters of the device on charts :
- Angles, Positions in different coordinate systems

- Distance
- Vehicle information (position and velocity)
- Data from Transmitters IMU.

3.1 - Ardupilot
Download UAVLAS software and firmware
It is recommended to download the latest version of the ULSTools software. (See download page for details) It is recommended to connect all sensors to PC and update the firmware for all UAVLAS devices in the system. (See ULSTools update page for details)
Note
ULS-ProCopter software on beta stage now. Pls Use Beta version ULS-Tools for configuration and update.Autopilot firmware set up
Update autopilot with Arducopter version v4.3.3 or above.
Transmitter Configuration
Configure UAVLAS transmitter See transmitter installation for details
Receiver Configuration
Connect system using UART interface.
Configure UAVLAS receiver See receiver integration section for details
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:

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 |
All other parameters in PLND section defaults or use accordingly to your vehicle set up requirements.
On a picture example configuration provided.

Note
It is recommended to test several options of Kalman filter during the test flights (or switch it off) to achieve the best performance.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. |
Set up serial communication messages in SRx Section. Sensor requires some data from autopilot to work in different modes.
Param | Value | Comment |
---|---|---|
SR2_EXTRA1 | 20 | Stream Attitude information (20Hz) (YAW Orientation is required for sensor in compass mode) |
SR2_POSITION | 20 | Optional - Stream Vehicle position (20Hz) (LOCAL_POSITION_NED is required for sensor to provide LOCAL position for the target) |
Check setup.
If all settings are done correct, autopilot has GPS data and receiver in the field of view of the transmitter, you can find LANDING_TARGET message in mavlink inspector (a screenshot from Mission Planner)

Setup Precision loiter mode.
To enable precision loiter mode you need attach any unused switch to PrecLoiter option see picture below:

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 form landing target.

PID tuning
In case of oscillations and other issues at landing stage, pls, 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.

Note
For example, settings Velocity XY P = 0.8, I = 0.2, and D = 0.6 works well for some of our customersNote
It recommended to start testing PIDs and precision system performance in “Precision Loiter” mode. I use some algorithms and settings in precision landing.For additional information, see Ardupilot manual.
Troubleshooting
Before of all check:
- You are using lates version od ULS-Tools, lates firmware on USL-XCOPTER transmitter and receiver, and latest Ardupilot firmware.
- Check common Troubleshooting section
No mavlink message
- ULS-XCopter transmitter are switched on and receiver in field of view of transmitter.
- Red light on receiver flashes fast ( > 5 times per second ). If it flash 2 times per sec it mean that transmitter not switched on, or not in field of view. If it not flash - check power.
- Check Serial setting on AP params and on receiver be sure you are 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 enabled.
Not holding in precision loiter mode but mavlink message ok
- check that you setup Precision loiter mode on AP
3.2 - PX4
Download UAVLAS software and firmware
It is recommended to download the latest version of the ULSTools software (See download page for details) It is recommended to connect all sensor to the PC and update the firmware for all UAVLAS devices in the system. (See ULSTools page for details)
Note
ULS-ProCopter software on beta stage now. Pls Use Beta version ULS-Tools for configuration and update.Transmitter Configuration
Configure UAVLAS transmitter See transmitter installation for details
Receiver Configuration
Connect the system using UART interface.
Configure UAVLAS receiver See receiver integration section for details
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:

Download Firmware for PX4
UAVLAS device is working using a standard Mavlink messages protocol so you can use stock PX4 firmware.
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) |
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
IMPORTANT:
LANDING_TARGET may be unavailable in case of connection over USB. So, use telemetry channel (uart modem etc.) to connect drone to the QGroundControl.
In case the vehicle provide 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.
Have a good flights !
4 - Troubleshooting
No Mavlink messages
- Check wiring.
- Check AP (autopilot) serial baud rate.
- Check AP (autopilot) serial protocol config.
- Check Mavlink messages Setup form AP to the receiver.
- Check the receiver frame configuration.
- Check the transmitter power.
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.