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)

SLA required to get access to source code

Please contact success@auterion.com 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.

Building/Uploading Firmware

PX4 px4_fmu-v5x binaries for Skynode ENT/GOV resp. px4_fmu-v6x binaries for Skynode X/GX can be built from source using the PX4 developer environment and PX4 build commands, and uploaded by specifying either the upload_skynode_usb or upload_skynode_wifi upload target.

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.

First get the PX4 source code using the command:

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

Then build PX4 with the upload target for the connection you are using. You will need to enter the password for the Skynode developer image twice during the upload process.

Skynode ENT/GOV

make px4_fmu-v5x upload_skynode_usb

Skynode X/GX

make px4_fmu-v6x upload_skynode_usb

Restoring the Default Skynode APX4 Firmware

To reinstall the original Skynode version of APX4, run the following command in the root of the PX4-Autopilot repository:

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

Last updated