Getting started

Install

Download from the Releases page:

System File  
Windows 10 / 11 (x64) CORV.GCS.Setup.<version>.exe Installer; you can choose the folder
Linux (x64) CORV.GCS-<version>.AppImage Portable: chmod +x and run
Debian / Ubuntu corv-gcs_<version>_amd64.deb sudo apt install ./corv-gcs_<version>_amd64.deb
macOS, Apple silicon CORV.GCS-<version>-arm64.dmg Drag the app to Applications
macOS, Intel CORV.GCS-<version>-x64.dmg Drag the app to Applications

The macOS app is not signed with an Apple Developer ID, so macOS reports a downloaded copy as damaged. Clear the download flag once, after copying it to Applications: xattr -dr com.apple.quarantine "/Applications/CORV GCS.app".

To run from source you need Node.js 18 or newer:

git clone https://github.com/Xarin94/Corv-GCS.git
cd Corv-GCS
npm install
npx electron-rebuild     # native serial-port module for Electron
npm start

A serial telemetry radio on Linux needs your user in the dialout group (sudo usermod -aG dialout $USER, then log in again).

First launch

The app opens on the FLIGHT DATA tab in demo mode: a simulated flight over Innsbruck, so the 3D view has something to show before any vehicle is connected. The loading screen waits for the terrain around the aircraft; it goes away by itself after a short timeout if the network is slow.

The tabs along the top:

Tab  
FLIGHT DATA The 3D view, the HUD and the command bar — see Flight screen
FLIGHT PLAN The mission editor — see Mission planning
SETUP Connection, calibration, failsafes, tuning, parameters, simulator, LiDAR, ROS — see Vehicle setup
SYS CONFIG Flight stack, navigation mode, language, 3D model, HUD fields, offline data, stream rates — see GCS settings

On the flight screen, the arrow on the right edge opens the side panel: set home, reboot, mute the GCS, ADS-B traffic, RTL options, a target, the message log and log replay. The window has no frame: move the mouse to the top edge for the minimise / maximise / close buttons.

Terrain and imagery

The 3D terrain is built from SRTM elevation tiles, one file per 1° × 1° square (about 25 MB at 30 m resolution, named like N47E011.hgt). The tiles under the vehicle are downloaded automatically when a network is available and kept on disk, in data/terrain next to the installation (in the per-user data folder when the installation folder is read-only). Without a network you can:

  • put your own .hgt files in topography/ inside the installation folder, or pick a folder in SYS CONFIG → SYSTEM CONFIG → TERRAIN (HGT FOLDER) — from OpenTopography or USGS EarthExplorer;
  • download an area ahead of time in SYS CONFIG → OFFLINE DATA DOWNLOAD: a latitude/longitude box, the highest satellite zoom to keep, and the SRTM tiles under it.

Satellite tiles are cached as they are shown, so an area flown once works offline afterwards.

Missions, flight logs and LiDAR maps are written to a data/ folder next to the installation (data/missions, data/logs, data/lidar); under Program Files, where that is not allowed, they go to the per-user data folder. Custom aircraft models (.glb / .gltf) go in models/.

Choose the flight stack

SYS CONFIG → FLIGHT STACK → ENVIRONMENT tells the GCS which firmware it talks to:

Choice Link it suggests What changes
ArduPilot (Copter / Plane / Rover / Sub) MAVLink serial, 57 600 baud Everything available
INAV MSP serial, 115 200 baud Missions upload as INAV waypoint lists; what INAV cannot fly is greyed out while planning; MAVLink-only setup pages are disabled
Betaflight MSP serial No navigation: the FLIGHT PLAN tab is disabled; telemetry only

Connect a vehicle

SETUP → COMMS → CONNECTION:

CONNECTION TYPE Typical use Default
MAVLink Serial USB telemetry radio (SiK, RFD900, …) or the autopilot’s USB port 57 600 baud (115 200 on USB)
MAVLink UDP MAVProxy, mavlink-router, a companion computer, Herelink 127.0.0.1:14550
MAVLink TCP SITL, also through WSL on Windows 127.0.0.1:5760
MSP Serial (INAV / Betaflight) The flight controller’s USB or a telemetry UART 115 200 baud; Slow link polling for long-range radios
MSP TCP (INAV SITL) INAV’s simulator  
CORV Binary (Legacy) The onboard CORV autopilot over USB 460 800 baud

SCAN lists the serial ports; CONNECT opens the link and requests the data streams. The FIRMWARE INFO panel shows what answered. A cellular module (LTEtelem) is connected from SETUP → COMMS → CELLULAR LINK instead — see Vehicle setup.

Once connected, the command bar at the bottom shows the link, the battery, the GPS and the flight mode, and the annunciators beside the speed tape flag anything wrong — see Flight screen. Before a first flight, work through the ArduPilot pre-arm checks and arming pages for your vehicle.

No aircraft at hand?

SETUP → TOOLS → SIMULATION downloads and starts an ArduPilot simulator with one click and connects to it — see Simulator.