> For the complete documentation index, see [llms.txt](https://docs.theseus.us/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.theseus.us/cyclops/autopilot-integration/ardupilot/cyclops-v1.x.x.md).

# Cyclops v1.x.x

## Parameters

Prior to configuring the ArduPilot parameters to enable communication with Cyclops, enable MAVLink on the port you selected when integrating with your flight controller in [Flight Controller](/cyclops/vehicle-integration/flight-controller.md).

### MAVLink to Cyclops

Set the port protocol to **MAVLink 2** and baud rate to **921600**.&#x20;

{% hint style="info" %}
921600 is the recommended baud rate to use with Cyclops. Run this command on your Cyclops device to verify the configured baud rate:  `vns-config show`
{% endhint %}

{% hint style="info" %}
By default, Cyclops sends position using the `MAV_CMD_EXTERNAL_POSITION_ESTIMATE` message.&#x20;
{% endhint %}

{% hint style="warning" %}
To accept these estimates, ArduPilot needs to not use the GPS in its EKF sources.
{% endhint %}

### ArduPilot Params

These parameters govern system time synchronization. We disable GPS blending and auto switching.

| ArduPilot Parameter | Param Value | Description           |
| ------------------- | ----------- | --------------------- |
| BRD\_RTC\_TYPES     | 2           | Set time from MAVLink |

{% hint style="info" %}
If you plan on sending positions using the GPS input message type, we recommend you look at our parameter configuration for the Micro VPS in [Autopilot Integration](/micro-vps/autopilot-integration.md). We disable the `GPS_AUTO_SWITCH` and `GPS_BLEND_MASK` to avoid naive fusion with a real GPS by ArduPilot.
{% endhint %}

#### ArduPilot Dead Reckoning EKF Params

These parameters govern how the ArduPilot EKF integrates sensor measurements to estimate its position. This is one of the key components in ArduPilot's navigation and control mechanisms.

{% hint style="info" %}
These are the parameters we use for our internal testing when dead reckoning with ArduPlane.
{% endhint %}

ArduPilot's EKF has three sensor source sets (`EK3_SRC1`, `EK3_SRC2`, `EK3_SRC3`). You can configure each source sets with different sensor inputs. The configuration below sets `EK3_SRC1` to pull sensor information from the barometer and compass, and to not use the GPS.

Cyclops relies on the barometer to estimate altitude. We recommend enabling continuous calibration of the compass during flight. It is recommend to set EK3\_MAG\_CAL to 3 (in the air) or 4 (always).

{% hint style="warning" %}
Do not pull velocity (VELXY, VELZ), altitude (POSZ), or yaw (YAW) inputs from the GPS when VPS is on.
{% endhint %}

| ArduPilot Parameter | Param Value | Description                                   |
| ------------------- | ----------- | --------------------------------------------- |
| EK3\_SRC\_OPTIONS   | 0           | Disable fusing velocity sources               |
| EK3\_GPS\_CHECK     | 23          | Disable horizontal accuracy checks for arming |
| EK3\_SRC1\_POSXY    | 0           | Disable xy position input                     |
| EK3\_SRC1\_VELXY    | 0           | Disable xy velocity inputs                    |
| EK3\_SRC1\_POSZ     | 1           | Pull altitude from barometer                  |
| EK3\_SRC1\_VELZ     | 0           | Disable z velocity inputs                     |
| EK3\_SRC1\_YAW      | 1           | Pull yaw from compass                         |

Go to [Mission Planner](/micro-vps/autopilot-integration/mission-planner.md) or [QGroundControl](/cyclops/autopilot-integration/ardupilot/guided-setup-from-gcs/qgroundcontrol.md) to see how to configure your drone to operate with Micro VPS.

{% hint style="info" %}
We provide a Lua script for toggling the `EK3_SRC1_POSXY` to switch between dead reckoning mode and GPS mode, allowing your UAV to dead reckon with the EKF. This is covered in [Dead Reckoning Switch](/cyclops/autopilot-integration/ardupilot/cyclops-v1.x.x/dead-reckoning-switch.md)
{% endhint %}
