Getting Started
Cyclops is a software-only visual positioning system for fixed-wing UAVs operating in GPS-denied environments. It delivers drift-free global position estimates using onboard camera imagery, runs on commercial hardware, works day or night, and integrates directly with ArduPilot.

Before starting
This quick start guide walks you through setting up Cyclops on your drone. By the end you'll be ready to perform bench tests and run your first flight with Cyclops.
What you need:
On the drone:
ArduPilot v4.6+ fixed-wing with compass, barometer, airspeed sensor
Camera (EO or thermal), ≥0.05MP resolution
ARM64 edge computer: 2+ cores @ 2.4GHz, 4GB RAM, Ubuntu 22/24
Tested: Raspberry Pi 5, NanoPi R6C
MAVLink connection (UART or UDP) between autopilot and edge device
On the ground:
Host computer running Linux or Windows
Learn more about supported hardware here.
Setup steps
The following steps walk you through the software setup process. For information on mechanical installation check out Vehicle Integration.
Add your Vehicle
Cyclops requires the camera pose relative to the flight controller. To ensure this goes smoothly, refer to the mechanical installation guide.
Once your camera is mounted to your platform, enter:
the translation from camera to flight controller, and
the camera orientation relative to the flight controller
On the vehicle calibration page and upload your vehicle configuration. Cyclops includes a few default configs to help you get started.

Update ArduPilot parameters
Cyclops requires time synchronization between your autopilot and the edge device. Enable time sync over MAVLink by setting the BRD_RTC_TYPES parameter to 2 on your drone.
Time synchronization is essential, set BRD_RTC_TYPES=2 on ArduPilot.
Cyclops sends position updates with the MAV_CMD_EXTERNAL_POSITION_ESTIMATE command. For ArduPilot to accept these commands, GPS cannot be an EK3 sensor source.
We recommend that you use our EK3 source switching scripts to toggle between dead-reckoning with Cyclops and flying with a GPS during testing. Learn more about ArduPilot configuration here.
Generate and upload a map
Congrats! You are done with all initial setup steps for Cyclops:
Vozilla is downloaded and Theseus account is created
Cyclops is installed on your edge device
MAVLink ports and storage on edge device
Cyclops license is activated
Camera is calibrated
Next, generate a map and upload it to Cyclops. Cyclops uses reference maps to estimate your drone's positioning when flying.
Check out Maps for more info on how to complete this step.
Bench tests and test flights
Before flying, make sure that your home position has been set correctly in Vozilla and that Cyclops is active. Learn more about bench tests here and flight test here.
Learn More
Check pre-requisites: Pre-Requisites
Have required Cyclops hardware:
Install Cyclops on your Flight Computer Cyclops Computer
Mount your Cyclops system to your vehicle: Vehicle Integration
Configure ArduPilot for Cyclops: Autopilot Integration
Configure Cyclops in software: Vozilla GCS
Perform a bench test: Bench Test
Perform a flight test: Flight Test
Last updated
