Installation & Upgrade

This page describes how to setup a 'debian' repository for your workstation to install GCU software and get updates automatically.

To get emails with announcements about new versions, visit this page: UAVOS Updates

The Kubuntu OS can be found here:


Add our repository to your system (execute the following commands in console):

echo "deb $(lsb_release -cs) main experimental"| sudo tee /etc/apt/sources.list.d/uavos.list; gpg --keyserver --recv B5517CF1; gpg --export --armor B5517CF1 | sudo apt-key add -; sudo apt-get update

This automatically adds experimental component. For stable version only, you should remove experimental from your apt sources list.

Repository contains two components:

The current list of available distributions can be found here:

Package Installation

Install Ground Control Unit software and tools:

sudo apt-get install uavos


Update software:

sudo apt-get update
sudo apt-get upgrade

The nodes firmware upgrades can be done from the GCU menu.

The versions of GCU and nodes must be the same to operate properly.


To view list of changes:



zless /usr/share/doc/uavos/changelog.gz

Repository Contents

Show available packages:

apt-cache search uavos-

uavos - Meta package, depends on all required user programs.

Serial port communication

GCU uses serial port to communicate with the radio modem device. User must be a member of 'dialout' group to have rights to access modem device. Execute the following command in terminal to add yourself to the group, then reboot.

sudo usermod -aG dialout $USER

Firmware Upgrade

The default and easy method of updating the firmware is to use popup menu from the GCU software (AP configuration window), choosing Update/Firmware on node item.

It is strongly recommended to save the nodes configuration to file prior doing the upgrade. During the firmware upgrade, the GCU automatically creates backup files for configuration, but it is still a good practice to check the consistency of configuration by loading saved file.

When upgrading from the old versions (X.Y.Z where Y differs), it is strongly recommended to update loader first, then firmware.

All nodes on the system must have the same firmware version with the GCU, to function properly. The version number could be found in Help menu of the GCU.

After node updates its firmware, it resets the configuration, and the GCU tries to recover it from auto-saved backup file. It is recommended to check all config fields manually after the update, and to load previously saved .nodes file with the vehicle configuration. Some binded variables may not be assigned properly, watch the messages in the console.

When you update over-the-air, f.ex. through modem, you should consider how nodes are connected to each other (radio, can2, etc), so that after one node resets its configuration, it may not provide network gate for other nodes and they become invisible until you recover the configuration of updated node.

If the node resets its configuration, it automatically reboots after you have uploaded the configuration. The GCU marks the unconfigured nodes with gray color. The nodes requiring the config upload are marked with red color.

Firmware files are located in /usr/share/gcu/firmware.

To update firmware of any node from the linux terminal, type:

spark /usr/share/gcu/firmware/<firmware.hex file>

For example, spark /usr/share/gcu/firmware/armv7-m/AP10/nav.hex will update the 'nav' firmware, connecting by default to the gcu server.