Building and Flashing PX4 Firmware

How to build PX4 firmware from source and flash it directly onto a local Skynode

Preparations

In order to build PX4 locally, you first need to set up the PX4 toolchain.

Customizing Auterion PX4 (APX4)

Please contact [email protected] to get access to the APX4 repository.

Work with open source PX4

Open source ("upstream") PX4 will generally work on Skynodes, with the following caveats:

  • Configuration and drivers for components of your exact product may not be present. You may encounter missing configuration or functionality for ESCs, batteries, sensors, and so on.

  • Some parameters might have different default values compared to APX4 releases.

  • Features accessed by vendor-specific customizations running on the companion computer may not be present in PX4.

  • Upstream PX4 is not supported on Skynode S.

Building and uploading Firmware

PX4 firmware binaries can be built with the PX4 developer environment and uploaded to Skynode via USB or Wi-Fi (if available).

SSH and TAR are needed to use these upload targets, but are expected to be present by default on Ubuntu and Ubuntu running on Windows in WSL2. On macOS you should first install gnu-tar.

If not already present, get the PX4 source code using the command:

git clone https://github.com/PX4/PX4-Autopilot.git --recursive
cd PX4-Autopilot

Then build and upload the binary using the matching command for your hardware and connection. You will need to enter the password for the Skynode developer image twice during upload.

Skynode ENT/GOV

make px4_fmu-v5x upload_skynode_usb

Skynode X/GX

make px4_fmu-v6x upload_skynode_usb

Skynode S

make auterion_fmu-v6s upload_skynode_usb

For Auterion PX4 3.2 based releases the previous target name has to be used:

make px4_fmu-v6s upload_skynode_usb

Restoring the Default Skynode APX4 Firmware

To reinstall the original version of Auterion PX4 that shipped with your Auterion OS release, run the following command in the root of the PX4 repository:

./Tools/auterion/upload_skynode.sh --revert

For Auterion PX4 3.1 and 3.2 based releases the command is:

./Tools/auterion/ssh_upload.sh --revert

Last updated