# Pre-Requisites

## UAV Requirements

Cyclops only works with fixed wing platforms that have an airspeed sensor.

The UAV must have a mounting point for your Cyclops camera module that provides an unobstructed view of the terrain below the vehicle.

{% hint style="info" %}
In the future we plan to add support to Cyclops on quads and other non-fixed wing drones, but right now Cyclops cannot be run on such systems.
{% endhint %}

## Power and Data Requirements

You must have power source(s) for your Cyclops system that meet the specs provided by the onboard computer and camera manufacturer. For example, Raspberry Pi 5 accepts 5V DC input power via its GPIO rail.

{% hint style="info" %}
If your camera and flight computer have different power specs, be prepared to power them separately!
{% endhint %}

## Flight Controller Requirements

Theseus has integrated with the following flight controller hardware successfully:

* Cube Orange +

The Cyclops system requires a single UART serial port on the flight controller to run MAVLink telemetry to the compute module. See [Flight Controller](/cyclops/vehicle-integration/flight-controller.md) for more information on flight controller integration.

Your flight controller must have a barometer (or another altitude source that is not GPS) as well as a reliable compass/magnetometer and airspeed sensor. See [Autopilot Integration](/cyclops/autopilot-integration.md) for more information on how Cyclops interfaces with ArduPilot.&#x20;

{% hint style="info" %}
Cyclops currently **only supports ArduPilot**. If you would like to integrate other autopilot software, contact our team.
{% endhint %}

## Computer Requirements

| Resource     | Minimum           | Recommended       |
| ------------ | ----------------- | ----------------- |
| Architecture | ARM64             | ARM64             |
| CPU          | 2 cores @ 2.4 GHz | 4 cores @ 2.4 GHz |
| RAM          | 2 GB              | 8 GB              |
| Storage      | 32 GB free        | 256 GB free       |
| OS           | Ubuntu 22.04      | Ubuntu 24.04      |

{% hint style="info" %}
Raspberry pi 5 8GB is the recommended computer to run Cyclops.
{% endhint %}

### SOMs

* Raspberry Pi 5 8GB (recommended):
  * <https://www.amazon.com/Raspberry-Pi-8GB-SC1112-Quad-core/dp/B0CK2FCG1K> (US)
  * <https://prom.ua/p2872354832-mikrokontroler-raspberry-8gb.html> (Ukraine)
* NanoPi R6C 8GB:
  * <https://www.amazon.com/Rockchip-RK3588S-Ethernet-Support-SingleBoard/dp/B0BYRR783B?th=1> (US)

See [Pi 5 Walkthrough](/cyclops/cyclops-computer/pi-5-walkthrough.md) for more information on how to setup your raspberry pi for Cyclops.

{% hint style="warning" %}
If you're using a Jetson Orin, there is a low power mode on the orin that turns off half of the CPU cores. Cyclops uses a library that doesn't account for the turned off cores and will crash. Please ensure the Orin is not in a low power mode.
{% endhint %}

### Active Cooling

It is recommended to use an active cooler on your Raspberry Pi to reduce the chance of thermal throttling.

* <https://a.co/d/04mha9l0> (US)
* <https://prom.ua/ua/m-3513148981465497898-raspberry-active-cooler.html?p=2250872371> (Ukraine)

### Storage

Using a mirco SD card for normal operation is acceptable. You may want to use a pi with an nvme hat. Device boot times are directly correlated to the boot drive speeds, so using an nvme will speed up boot times significantly.

We recommend using an SD card of >128GB to store logging and debug information.

{% hint style="info" %}
A 128GB SD card can store a few hours of flight data before filling up. If you intend on doing much longer flights we recommend more storage.
{% endhint %}

## Camera Requirements

The Cyclops system requires a single wide angle digital video camera for full operation. If you are using an analog video camera (i.e. Runcam or other common FPV cameras), you will need an analog to digital converter. These modules usually have low voltage limitations, so be prepared to power your camera separately in this case.

|            | Minimum           | Recommended      |
| ---------- | ----------------- | ---------------- |
| Resolution | 256 x 192         | 1280 x 800       |
| Type       | EO (daytime-only) | LWIR (nighttime) |
| Interface  | USB               | -                |
| Shutter    | Rolling           | Global           |

{% hint style="warning" %}
We recommend using **fixed-focus** cameras. **Global shutters** are preferred over rolling shutters to minimize motion blur during flight.
{% endhint %}

EO (OV9281 UVC):

* <https://www.amazon.com/Arducam-Distortion-Microphones-Computer-Raspberry/dp/B096M5DKY6> (US)
* <https://prom.ua/p2768422777-usb-kamera-arducam.html> (Ukraine)
* <https://www.arducam.com/arducam-120fps-global-shutter-usb-camera-board-1mp-720p-ov9281-uvc-webcam-module-with-low-distortion-m12-lens-without-microphones-for-computer-laptop-android-device-and-raspberry-pi.html>

LWIR:

* FLIR Boson+ 640
* FLIR Boson 320
* Caddx 256x192
  * <https://prom.ua/ua/p2490791368-teplovizionnaya-fpv-kamera.html> (Ukraine)
  * <https://www.aliexpress.com/item/1005009885355752.html>

{% hint style="info" %}
Cyclops is compatible with EO or thermal cameras; however, if you plan on flying after sunset, a thermal camera is required.
{% endhint %}

## Components

Before proceeding with integration, make sure that you have the following:

* Cyclops system hardware (including camera and flight computer, UART cables, power cables)
* UAV with ArduPilot-compatible flight controller, magnetometer, barometer, and airspeed sensor
* Windows laptop
* Ethernet cable
* Power source for UAV and Cyclops system

{% hint style="success" %}
Check that you have all listed components and proceed to the next section.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.theseus.us/cyclops/pre-requisites.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
