# vns-sdk Setup

In this step, we install Cyclops on the raspberry pi.

Before you start, make sure to have:

* MAVLink device port and baudrate
* Storage device
* Theseus account email and password for license activation

If you're missing any of this you can come back later and edit your configuration.

Open a shell and run the Cyclops install script on your edge device:

```bash
# download and install Cyclops
curl -fsSL https://packages.theseus.us/install.sh | sudo bash
```

> Installs all required Cyclops dependencies. Walks you through setting up MAVLink ports and storage for maps and recordings on your edge device. You will need your Theseus account credentials to activate your Cyclops license.

<figure><img src="/files/isrKuXQtnKb5qMLkookK" alt=""><figcaption></figcaption></figure>

This script installs all Cyclops dependencies as well as data and packages for Cyclops on your device. You will see this if things are working as expected:

```bash
pi@dronepi:~$ curl -fsSL https://packages.theseus.us/install.sh | sudo bash

========================================
  Theseus Cyclops Installation Script
========================================

[OK] Architecture: arm64
[OK] Ubuntu version: 24.04 (Noble)
[INFO] Adding Theseus APT repository...
[INFO] Downloading GPG key...
File '/usr/share/keyrings/theseus.gpg' exists. Overwrite? (y/N) y
[OK] GPG key installed
[INFO] Adding repository to sources.list.d...
[OK] Repository added: /etc/apt/sources.list.d/theseus.list
[INFO] Updating package lists...
[INFO] Installing cyclops and vns-sdk-data (this may take a few minutes)...
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
cyclops is already the newest version (1.12.0+dev.d6faa68).
vns-sdk-data is already the newest version (1.1.0).
0 upgraded, 0 newly installed, 0 to remove and 148 not upgraded.
[OK] Packages installed successfully!

[INFO] Installed version:
Cyclops
==================

Version:          1.12.0+dev.d6faa68
Git Branch:       dev
Git Commit:       d6faa68
Build Timestamp:  2026-01-13 22:54:32 UTC

Build Configuration
-------------------
```

You will then be prompted to configure your device (MAVProxy and storage). Enter **y** to proceed.

```bash
Would you like to configure your device now? (y/N): y

Enter recordings directory path (e.g., /mnt/nvme) [skip]: /mnt/t9
Set paths.recordings_dir = /mnt/t9
[OK] Recordings path set to: /mnt/t9
Enter MAVProxy serial device (e.g., /dev/ttyS4) [skip]: /dev/ttyS4
Enter baud rate [921600]: 
Device /dev/ttyS4 already exists, updating baudrate to 921600
[OK] Added MAVProxy device: /dev/ttyS4 @ 921600
```

{% hint style="warning" %}
Many flight controllers don't support higher baud rates like 921600. Ensure your serial baud rate is supported by the flight controller you use.
{% endhint %}

{% hint style="info" %}
Since we added both serial devices to the configuration, so either port on our serial hat will work for mavlink.
{% endhint %}

{% hint style="warning" %}
If the system clock on your device is skewed, you might have issues running the install script.

```bash
pi@NanoPi-R6C:~$ curl -fsSL https://packages.theseus.us/install.sh | sudo bash
curl: (60) SSL certificate problem: certificate is not yet valid
More details here: https://curl.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.
```

Just resync the system clock to fix this issue.

```bash
sudo timedatectl set-ntp true
sudo date -s "2026-02-17 12:00:00"
```

{% endhint %}

Next, the script will prompt you to activate your Cyclops license. You receive two licenses when creating your Theseus account.

```bash
========================================
  License Activation
========================================

License activation requires a Theseus account.
If you don't have one, visit: https://docs.theseus.us

Would you like to activate your license now? (y/N): 
[INFO] Skipping license activation.
[INFO] You can activate later by running:
  cyclops_exe --activate-license

```

> You can come back to activate your license later by running `cyclops_exe --activate-license`.

You should see the following message once you've gone through all the installation steps:

```bash
========================================
  Installation Complete
========================================

[OK] Cyclops has been installed!

Useful commands:
  vns-config show                    # View current configuration
  vns-config set recordings /mnt/ssd # Set recordings directory
  cyclops_exe --license-info         # View license status
  cyclops_exe --activate-license     # Activate license
  sudo systemctl start cyclops       # Start Cyclops service

Documentation: https://docs.theseus.us
Support: support@theseus.us
```

Reboot the device


---

# 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/cyclops-computer/pi-5-walkthrough/vns-sdk-setup.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.
