# ULS-XSpot Interface Control Document

> Electrical, mechanical and communication interfaces of ULS-XSpot — precision positioning for tethered drones, with a tether-compatible transmitter.

---

Site [llms.txt](/llms.txt)

---

> **ULSDC-PBICD231125** · version 1.0.2 · issued November 23, 2025  
> The numbered PDF is the controlled copy: [download it from the portal](https://downloads.uavlas.com).

## Introduction

### Purpose

This document outlines the interfaces between the ULS-XSpot system components, including the tether-compatible transmitter, receiver, and autopilot systems (Ardupilot, PX4, and similar). The ULS-XSpot is specifically designed for tethered drone operations with a 50-meter working range.

### Scope

This document is intended for use by system engineers, integrators, and developers working with ULS-XSpot systems in tethered drone applications. It provides detailed information on the interfaces between the system components, ensuring seamless integration and operation with tether management systems.

### Key Features for Tethered Operations

- **Tether-Compatible Design:** Center hole in transmitter for cable passage
- **Working Range:** 50-meter working distance
- **Standard IR Optical:** No DACS technology required
- **Continuous Operation:** Designed for 24/7 operation with tethered power

## System Components


### Transmitter (Ground Unit - Tethered Design)
![ULS-XSpot Transmitter](/library-assets/images/ulsxspot/uls_xspot.png)

*Figure: ULS-XSpot Transmitter with Center Tether Hole*
The ULS-XSpot transmitter is specifically designed for tethered drone systems. It features a center hole for tether passage, allowing the drone's power and data cable to pass through while maintaining optical positioning capabilities. The transmitter is placed on the ground (platform, moving object) and emits a signal in the Infrared range, serving as a positioning beacon for tethered drone landing and station-keeping.

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 tethered copter. This signal contains critical information needed for the operation of the system, such as positional data and status. The tethered design allows for extended flight duration while maintaining precision positioning.

**Key Features:**
- Center hole for tether cable passage (integrated tether management)
- Working range: **50 meters working distance**
- Optimized for tethered drone operations
- Continuous power available via tether connection

### Receiver (Onboard Unit)
![ULS-XSpot Receiver](/library-assets/images/ulsxspot/uls-heli-g2-rxm-rxs.png)

*Figure: ULS-XSpot Receiver*
The receiver is a device that is placed on board the tethered aircraft. 
The receiver decodes the IR signal to derive flight information such as positional coordinates, real-time transmitter status updates, and positioning guidance. It interprets the data to navigate accurately and ensure the drone maintains its position relative to the ground station. It provides feedback to autopilot systems, such as Ardupilot and PX4, to adjust the flight parameters as needed for optimal station-keeping, landing, or hovering operations while connected to the tether.

**Key Features:**
- Compatible with tethered drone configurations
- Real-time position feedback for station-keeping
- Seamless integration with tether management systems


## Interface Overview

![System Interfaces Overview](/library-assets/images/ulsxspot/interfaces-overview.png)

*Figure: ULS-XSpot System Interfaces Overview*

**Note:** The ULS-XSpot uses the same interface architecture as ULS-Heli-G2, with the addition of tether-compatible mechanical design.

### Transmitter to Control PC Interface (External Sensors)

The transmitter can be connected to a control PC or external equipment for configuration, status monitoring, and data exchange.

#### Data Types
- Status information
- Control signals  
- Transmitter configuration
- External IMU/COMPASS data

#### Connection Types
- **CAN Bus** - For network communication
- **USB** - For configuration and firmware updates
- **RS422** - For serial communication with external sensors

#### Transmitter Pinout

![10 pin connector](/library-assets/images/uls-heli-g2/uls-hl-g2-tx-connector10.png)

| Pin | Function |
|-----|----------|
| 1 | Vin +18V – +28V |
| 2 | RS422A |
| 3 | RS422B |
| 4 | RS422Y |
| 5 | RS422Z |
| 6 | CAN-L |
| 7 | CAN-H |
| 8 | USB-D- |
| 9 | USB-D+ |
| 10 | GND |

*Table: Transmitter 10 Pin Connector Pinout*
<div class="warning">
Please DO NOT "HOT-PLUG" Transmitter cable. Apply power on transmitter only when connector connected to transmitter.
Please check pin numbers on connector. 
Incorrect wiring or connection under voltage can damage the device and USB interface of connected PC !
</div>


**Tethered System Note:** When routing tether cable through the center hole, ensure the cable does not interfere with connector access or IR emission pattern.

### Transmitter to Receiver Interface

The transmitter and receiver use an **optical interface** to exchange data. Transmission uses **IR emission at 940 nanometers**. Data transmission is only in the direction from the transmitter to the receiver.

#### Optical Range and Performance

| Parameter | ULS-XSpot | ULS-Heli-G2 | Notes |
|-----------|-----------|-------------|-------|
| Maximum Range | 50m | 50m | Same range |
| Working Angle | 60° | 60° | Emission cone |
| Technology | Standard IR | IR + DACS | Simplified for tethered use |
| Update Rate | 20Hz | 20Hz | Same performance |

*Table: Optical Interface Comparison*
#### Data Types
- Position encoded
- Status encoded data (Transmitter orientation and instructions)

#### Connection Type
- **Optical IR 940nm** - Infrared optical link

**Tethered Operation:** The 50-meter range covers typical tethered drone operating heights. Tether provides stable reference, reducing positioning complexity compared to free-flight applications.

### Receiver to Autopilot and Receiver to PC Interfaces

#### Data Types
- MAVLink messages
- ULS-Blitz frames
- ASCII protocol

#### Connection Types
- **UART** - Serial communication with autopilot
- **CAN** - Network communication
- **USB** - Direct PC connection

#### Receiver Pinout

![Receiver pin connectors](/library-assets/images/uls-heli-g2/uls-hl-g2-rx-connectors.png)

| Pin | Function |
|-----|----------|
| 1 | Vin (+5V) |
| 2 | CANH |
| 3 | CANL |
| 4 | GND |

*Table: 4 Pin Connector Pinout*
| Pin | Function |
|-----|----------|
| 1 | Vin (+5V) |
| 2 | CANH |
| 3 | CANL |
| 4 | UART_TX (OUT) |
| 5 | UART_RX(IN) |
| 6 | USB_D- |
| 7 | USB_D+ |
| 8 | GND |

*Table: 8 Pin Connector Pinout*
## Powering Interfaces

![Powering Interfaces](/library-assets/images/ulsxspot/powering-interfaces.png)

*Figure: Power Distribution and Connections*

### Transmitter Electrical Characteristics

| Parameter | Value | Unit | Notes |
|-----------|-------|------|-------|
| Supply Voltage | 22.0 - 26.0 | V | Nominal 24V |
| Supply Current | 4 | A | Peak |
| Power Consumption | 18.1 | W | Typical |

*Table: Transmitter Electrical Specifications*
**Tethered System Power:** Transmitter can be continuously powered from ground station power supply. Consider tether voltage drop when sizing power system for long tether runs.

### Receiver Electrical Characteristics

| Parameter | Value | Unit | Notes |
|-----------|-------|------|-------|
| Supply Voltage | 5.0 | V | From flight controller or tether |
| Supply Current | 1 | A | Peak |
| Power Consumption | 3 | W | Typical |

*Table: Receiver Electrical Specifications*
**Tethered Power Option:** Receiver can be powered from flight controller or directly from tether power distribution system.

## Functional Diagram

![Functional Diagram](/library-assets/images/ulsxspot/uls-xs-functional-description.png)

*Figure: Functional description of the system*


## Functional Interfaces

![Functional Interfaces Diagram](/library-assets/images/ulsxspot/functional-interfaces.png)

*Figure: Data Flow and Functional Interfaces*

### Data Exchange

The ULS-XSpot system implements several data exchange mechanisms optimized for tethered operations:

**Control PC Functions:**
- Configure and view status of transmitter
- Set configuration of receivers
- Send control signals (On/off, compass override information)
- Monitor tethered operation parameters

**External Equipment:**
- External IMU/Compass equipment can be used to override internal IMU/compass information
- Tether management system integration for position reference

**Receiver Functions:**
- Accept data from transmitter over IR signal (position field information and ground unit IMU data)
- Accept NED and Attitude information from autopilot to convert coordinate system
- Multiple receivers can communicate to calculate vehicle orientation (YAW)
- Send position offset data to autopilot
- Support for tethered flight modes and station-keeping

### Tethered System Integration

**Ground Station Interface:**
- Power distribution to transmitter via ground power supply
- Data connection for configuration and monitoring
- Tether management system coordination

**Aircraft Interface:**
- Position data from ULS-XSpot receiver to autopilot
- Tether tension and status monitoring (external system)
- Coordinated flight control for tethered operations

## Mechanical Interfaces


![ULS-XSpot Receiver Slave dimensions](/library-assets/images/uls-heli-g2/uls-hl-g2-rxs-dimensions.png)

*Figure: Slave Receiver Mechanical Dimensions*

![ULS-XSpot Receiver Master dimensions](/library-assets/images/uls-heli-g2/uls-hl-g2-rxm-dimensions.png)

*Figure: Master Receiver Mechanical Dimensions*

![ULS-XSpot Transmitter dimensions](/library-assets/images/ulsxspot/uls_xspot_dimensions.png)

*Figure: Transmitter Mechanical Dimensions with Center Tether Hole*

**Note:** The transmitter features a center hole designed for tether cable passage, enabling integration with tethered drone power and data systems.


### Transmitter Mounting with Tether

The transmitter features a **center hole for tether passage**. Key mounting considerations:

1. Use 16 mounting holes to secure transmitter to platform
2. Route tether cable through center hole before mounting
3. Ensure tether has adequate strain relief above and below transmitter
4. Maintain 10cm minimum clearance around transmitter for IR emission
5. Verify tether routing does not obstruct 60° emission cone

### Receiver Mounting

Both master and slave receivers have mounting provisions for secure installation on tethered aircraft. 3D models of the receivers can be provided upon request.

**Tethered Aircraft Considerations:**
- Position receivers to avoid tether shadow/obstruction
- Consider tether dynamics in receiver placement
- Maintain clear line-of-sight to ground transmitter

## Communication Protocols


### Overview

The protocol used by devices for configuration is proprietary and is described in other documents. However, the protocol implements the possibility of transmitting messages (**Blitz messages**) that can be used by the user to control the device and obtain information. These messages are universal, and the format describes the data that is transmitted by various devices in our system connected to a single network.

**Use CMD=6** to send Blitz messages.

In this document, the CAN protocol is specified. RS485 is used to implement custom protocols that can be defined in the future.

### CAN Bus Protocol Frame Format

```mermaid
flowchart LR
  A[Sender Device] --> B[GLOBAL]
  B --> C[CMD = 6]
  C --> D[ID]
  D --> E[dsn_lid]
  E --> F[msg_id]
  F --> G[Blitz Payload data <= 8 bytes]
  G --> H[Receiver Device]
```

The CAN protocol uses the following frame structure:

| Field | Description |
|-------|-------------|
| **GLOBAL** | Flag used to send packets over several local networks |
| **CMD** | Command field (Use CMD=6 to send Blitz messages) |
| **ID** | Packet sender ID (local id `src_lid` for local packets and device id for global packets `src_did`) |
| **dsn_lid** | Destination local ID address |
| **msg_id** | Message ID used to identify Blitz packet types |

*Table: CAN Protocol Frame Fields*
### Status Bit Definitions

Most messages include a status byte with the following bit definitions:

| Bit | Flag | Description |
|-----|------|-------------|
| 0 | ULS_STATUS_RX_CARRIER_OK | IR signal detected |
| 1 | ULS_STATUS_RX_SQ_OK | Signal quality OK |
| 2 | ULS_STATUS_RX_POS_OK | Position estimated |
| 3 | ULS_STATUS_RX_VEL_OK | Velocity estimated |
| 4 | ULS_STATUS_RX_GU_IMU_OK | Ground Unit IMU OK |
| 5 | ULS_STATUS_RX_MRX_OK | MRX message received (secondary receiver) |
| 6 | ULS_STATUS_RX_MRXDATA_OK | MRX Yaw and Distance calculated OK |

*Table: Status Bit Definitions*
### Common Data Structure

**Blitz Common Data Structure**

Structure: `__blitz_common_data_struct`

| Field | Type | Description |
|-------|------|-------------|
| `src_lid` | uint8_t | Source logical ID |
| `msg_id` | uint16_t | Message ID (see message types below) |
| `data` | union | Message-specific data (8 bytes max) |

*Table: Blitz Common Data Structure*
The union contains all possible message structures:
- `xcg1_rx_raw_measurmet`
- `rx_raw_measurmet`
- `rx_pos_in_tx_frame`
- `rx_mrx`
- `rx_dacs`

**Usage:** Universal container for all ULS Blitz message types.

### Implementation Notes

1. **Packed Structures:** All structures use `__attribute__((packed))` to ensure no padding bytes are added by the compiler.
2. **Endianness:** The protocol assumes little-endian byte order for multi-byte fields.
3. **Angular Precision:** Angular measurements use 16-bit signed integers with specific scaling factors for different ranges.
4. **Distance Units:** Distance measurements may use different units (cm, 10cm increments) depending on the message type.

### Message Types

#### XCG1 Raw Measurement (0x0010)

**Message ID:** `ULS_BLITZ_MSG_ID_XCG1_RX_RAW_MEASURMENT` (0x0010)

**Structure:** `__uls_blitz_xcg1_rx_raw_measurmet`

| Field | Type | Description |
|-------|------|-------------|
| `status` | uint8_t | Status bits (see Status Bit Definitions above) |
| `d` | uint8_t | Distance in 10 cm increments |
| `aX` | int16_t | Angular information X-axis, proportional [-30000 = -30°, +30000 = +30°] |
| `aY` | int16_t | Angular information Y-axis, proportional [-30000 = -30°, +30000 = +30°] |
| `oF` | int8_t | Sensor offset Forward in cm |
| `oR` | int8_t | Sensor offset Right in cm |

*Table: XCG1 Raw Measurement Message Format*
**Purpose:** Legacy raw measurement data for XCG1 systems with limited angular range.

#### Raw Measurement (0x0011)

**Message ID:** `ULS_BLITZ_MSG_ID_RX_RAW_MEASURMENT` (0x0011)

**Structure:** `__uls_blitz_msg_rx_raw_measurmet`

| Field | Type | Description |
|-------|------|-------------|
| `status` | uint8_t | Status bits (see Status Bit Definitions above) |
| `counter` | uint8_t | Message counter for tracking |
| `aX` | int16_t | Angular information X-axis [-180° to +180°] |
| `aY` | int16_t | Angular information Y-axis [-180° to +180°] |
| `distance` | uint16_t | Distance measurement |

*Table: Raw Measurement Message Format*
**Angular Conversion Formula:**
```
degrees = (value_int16 * 180.0f) / 32767.0f
```

**Purpose:** Standard raw measurement data with full angular range.

#### Position in TX Frame (0x0012)

**Message ID:** `ULS_BLITZ_MSG_ID_RX_POS_IN_TX_FRAME` (0x0012)

**Structure:** `__uls_blitz_msg_rx_pos_in_tx_frame`

| Field | Type | Description |
|-------|------|-------------|
| `status` | uint8_t | Status bits (see Status Bit Definitions above) |
| `counter` | uint8_t | Message counter for tracking |
| `posX` | int16_t | Position X-coordinate in transmitter frame (cm) |
| `posY` | int16_t | Position Y-coordinate in transmitter frame (cm) |
| `posZ` | int16_t | Position Z-coordinate in transmitter frame (cm) |

*Table: Position in TX Frame Message Format*
**Purpose:** 3D position data relative to the transmitter coordinate system.

#### MRX Information (0x0013)

**Message ID:** `ULS_BLITZ_MSG_ID_RX_MRX` (0x0013)

**Structure:** `__uls_blitz_msg_rx_mrx`

| Field | Type | Description |
|-------|------|-------------|
| `status` | uint8_t | Status bits (see Status Bit Definitions above) |
| `counter` | uint8_t | Message counter for tracking |
| `yaw` | int16_t | Yaw angle [-180° to +180°] |
| `distance` | uint16_t | Distance measurement in cm |

*Table: MRX Information Message Format*
**Purpose:** Multi-receiver (MRX) information for secondary receiver data.

#### DACS Information (0x0014)

**Message ID:** `ULS_BLITZ_MSG_ID_RX_DACS` (0x0014)

**Structure:** `__uls_blitz_msg_rx_dacs`

| Field | Type | Description |
|-------|------|-------------|
| `status` | uint8_t | Status bits (see Status Bit Definitions above) |
| `counter` | uint8_t | Message counter for tracking |
| `yaw` | int16_t | Yaw angle [-180° to +180°] |
| `distance` | uint16_t | Distance measurement |
| `yawContinuous` | int16_t | Continuous yaw angle ±32768° |

*Table: DACS Information Message Format*
**Purpose:** DACS (Distance and Azimuth Correction System) data with continuous yaw tracking. Available on VTOL systems only.

#### Ground IMU Measurement (0x0020)

**Message ID:** `ULS_BLITZ_MSG_ID_GIMU_MEASUREMENT` (0x0020)

**Structure:** `__uls_blitz_msg_gimu_data`

| Field | Type | Description |
|-------|------|-------------|
| `status` | uint8_t | Status bits (see Status Bit Definitions above) |
| `counter` | uint8_t | Message counter for tracking |
| `roll` | int16_t | Roll angle [-180° to +180°] |
| `pitch` | int16_t | Pitch angle [-180° to +180°] |
| `yaw` | int16_t | Yaw angle [-180° to +180°] |

*Table: Ground IMU Measurement Message Format*
**Angular Conversion Formula:**
```
degrees = (value_int16 * 180.0f) / 32767.0f
```

**Purpose:** Ground unit IMU (Inertial Measurement Unit) orientation data.

#### IMU Override (0x0030)

**Message ID:** `ULS_BLITZ_MSG_ID_XX_TXC_IMU_OVERRIDE` (0x0030)

**Structure:** `__uls_blitz_msg_xx_txc_imu_override`

| Field | Type | Description |
|-------|------|-------------|
| `control` | uint8_t | Control bits (see Control Bits below) |
| `counter` | uint8_t | Message counter for tracking |
| `roll` | int16_t | Override roll angle [-180° to +180°] |
| `pitch` | int16_t | Override pitch angle [-180° to +180°] |
| `yaw` | int16_t | Override yaw angle [-180° to +180°] |

*Table: IMU Override Message Format*
**Control Bits:**

| Bit | Description |
|-----|-------------|
| 0 | SET Roll - Enable roll angle override |
| 1 | SET Pitch - Enable pitch angle override |
| 2 | SET Yaw - Enable yaw angle override |
| 3-7 | Reserved |

*Table: IMU Override Control Bits*
**Angular Conversion Formula:**
```
degrees = (value_int16 * 180.0f) / 32767.0f
```

**Purpose:** Override IMU data on ground unit for external orientation control.

#### Magnetometer Override (0x0031)

**Message ID:** `ULS_BLITZ_MSG_ID_XX_TXC_MAG_OVERRIDE` (0x0031)

**Structure:** `__uls_blitz_msg_xx_txc_mag_override`

| Field | Type | Description |
|-------|------|-------------|
| `control` | uint8_t | Control bits (see Control Bits below) |
| `counter` | uint8_t | Message counter for tracking |
| `mx` | int16_t | Magnetic field X-component |
| `my` | int16_t | Magnetic field Y-component |
| `mz` | int16_t | Magnetic field Z-component |

*Table: Magnetometer Override Message Format*
**Control Bits:**

| Bit | Description |
|-----|-------------|
| 0 | SET override - Enable magnetometer override |
| 1-7 | Reserved |

*Table: Magnetometer Override Control Bits*
**Magnetic Field Conversion Formula:**
```
mag_value = (value_int16 * 1.0f) / 32767.0f
```

**Purpose:** Override magnetometer data on ground unit for external compass control.


**Tethered System Note:** CAN bus protocol can be extended over tether for ground station integration if required.

## Environmental Conditions - Industrial Grade

Equipment is designed to operate reliably in demanding environmental conditions typical of aerospace, industrial automation, and outdoor applications.

### Operating Temperature Range
- Standard operating range: **-20°C to +55°C**
- Covers most industrial and outdoor applications
- Reliable performance across temperature extremes
- No performance degradation within specified range

### Humidity Tolerance
- Relative humidity: **Up to 70% (non-condensing)**
- Protected against moisture in typical operating conditions
- Suitable for outdoor and semi-protected installations
- Condensation prevention through sealed design

### Ingress Protection
- **IP67 rated** (Dust tight and water immersion resistant)
  - **6** - Complete protection against dust ingress
  - **7** - Protected against temporary immersion in water (up to 1 meter depth for 30 minutes)
- Suitable for harsh industrial environments
- Protected against rain, splashing, and temporary submersion
- Dust-tight sealing for contaminated environments

### Storage Conditions
- Storage temperature: **-40°C to +70°C**
- Relative humidity: **Up to 95% (non-condensing)**
- Long-term storage in industrial facilities

### Operational Environment Standards
- Designed to meet industrial equipment requirements
- Suitable for UAV/drone applications
- Outdoor installation capable
- Protected against:
  - Dust and particulate matter
  - Water spray and rain
  - Temporary water immersion
  - Temperature fluctuations
  - High humidity



## Part Numbering

| Part Number | Description |
|-------------|-------------|
| ULS-XSPOT | System set with 3 receivers for tethered drone systems. |
| ULSDV-XS-TX | Transmitter unit with center tether hole. |
| ULSDV-XS-RXM | Master receiver unit. |
| ULSDV-XS-RXS | Slave receiver unit. |
| SA610/P4IB | 4 Pin Connector for receiver. Manufacturer Weipu. |
| SA810/P8IIB | 8 Pin Connector for receiver. Manufacturer Weipu. |
| SA1610/P10IIB-1 | 10 Pin Connector for transmitter. Manufacturer Weipu. |

*Table: Part Numbering*
## Tethered System Specific Interfaces

### Tether Cable Specifications

Recommended tether cable specifications for integration with ULS-XSpot:

| Parameter | Specification | Notes |
|-----------|--------------|-------|
| Center Hole Diameter | 20-50mm | Accommodates various tether sizes |
| Cable Clearance | Minimum 10mm | Around IR emission area |
| Strain Relief | Required | Both ends of transmitter |
| Cable Weight | Considered | Does not affect IR transmission |

*Table: Tether Integration Specifications*
### Ground Station Integration

The ULS-XSpot transmitter should be integrated with the ground station tether management system:

1. **Power Connection:** 24V DC supply from ground station
2. **Data Connection:** USB or CAN for configuration/monitoring
3. **Mechanical Integration:** Mounted at tether launch/recovery point
4. **Cable Management:** Integrated with tether handling system

### Safety Considerations

- Tether provides physical backup to optical positioning
- Loss of optical signal does not mean loss of tether connection
- Emergency procedures should account for tether recovery
- Regular inspection of tether routing through transmitter

---
