Link Search Menu Expand Document

Flight Core Firmware - PX4 Flight Controller Firmware

Table of contents

  1. Summary
  2. PX4 v1.14
  3. PX4 v1.11
    1. Firmware Files - PX4 Stable Release
    2. Firmware Files - ModalAI Builds
    3. Update Procedure
    4. v1.11 Change Log
  4. PX4 v1.10
    1. Firmware Files
    2. Update Procedure
    3. v1.10 Change Log
  5. How to Build the Firwmare
  6. Flashing Using SEGGER JLink
  7. ArduPilot

Summary

The PX4 firmware discussed here applies to both Flight Core and VOXL Flight. We are currently shipping a minor fork of PX4 v1.14.0

ArduPilot / ArduCopter support is progressing through the ArduPilot community, more details below.

Note, Flight Core v2 firmware can be found here

PX4 v1.14

Starting with PX4 1.14, our flight core and VOXL2-SDSP PX4 firmwares and now built from the same repo. The flight Core V1 firmware can be found here: http://voxl-packages.modalai.com/dists/fc-v1/

The SDK-1.1 folder contains the PX4 firmware that’s tested with SDK-1.1 running on VOXL.

Make sure you upgrade your flight core firmware with the file included in the voxl_SDK_1.1.0.tar.gz SDK installer. The SDK instaLL script will only flash VOXL, you will beed to follow the instructions below to flash the flight core.

PX4 v1.11

PX4 v1.11.3 has been tested and is included in Flight Core and VOXL Flight production releases starting 2022-01-27 using a slightly modified fork as v1.11.3-0.2.3.

Firmware Files - PX4 Stable Release

With PX4 v1.11, you can update Flight Core or VOXL Flight using QGroundControl by selecting the current stable release.

Firmware Files - ModalAI Builds

We’re constantly testing new stuff, and we’ve taken v1.11 and added some tweaks (see changelog below). You can get the ModalAI v1.11 files here:

Update Procedure

The firmware update procedure can be found here

v1.11 Change Log

The goal is to have PX4 mainline support for Flight Core, although occasionally fixes or enhancements are introduced and released by ModalAI faster than PX4 releases.

ModalAI’s v1.11 development branch is found here

VersionTypeChange DescriptionCommitStatus
FCv1 - v1.11.3-0.2.3ModalAI Enhancement- Add alternate GPS LED i2c address
- Add support for:
- GPS-to-VIO fusion
- Automatic Data Fusion Selection
- VIO airspaces
- FCv2 Board Support added
- Mainline Cherry Pick: icm42688p: properly disable anti-aliasing and notch filter info here
TagReleased
v1.11.3-0.0.5ModalAI Enhancement- Integrate v1.11.3 patches from PX4 mainlineTagReleased
v1.11.2-0.0.4ModalAI Enhancement- Add support for MDK-M0051-1-00 test device
- Add modalai system command for factory testing
Tag 
v1.11.2-0.0.3ModalAI Enhancement- Make ICM42688 default
- Add support for M0051
Tag 
v1.11.2-0.0.2ModalAI Enhancement- Allow EKF to init without VIOTag 
v1.11.2-0.0.1ModalAI Enhancement- UART ESC Support
- EKF init w/o mag
Tag 


PX4 v1.10

When using PX4 v1.10, it is recommended that you use the ModalAI v1.10 build, which fixes some bugs present in the PX4 v1.10 release affecting this hardware (see changelog below for details).

Firmware Files

You can get the v1.10 files here:

Update Procedure

The firmware update procedure can be found here

v1.10 Change Log

The goal is to have PX4 mainline support for Flight Core, although occasionally fixes or enhancements are introduced and released by ModalAI faster than PX4 releases.

NOTE: in v1.10, to find the version, run ver all from nsh and find the fw-hash

Version (fw-hash)TypeChange DescriptionPR / CommitStatus
Latest, 782a54bfEnchancementAdd support for VOXL PM v3 (INA231)782a54bfMerged into Master, likely in v1.12 or v1.11 maintenance
 Bug FixFix for timer config bug resulting in chan5 output being overwritten65c2b4d7Fixed in ModalAI v1.10, Mainlined in v1.11
 EnchancementSupport velocity odometry with MAV_FRAM_LOCAL_FRD1cbbfffcstale - no longer required by voxl-vision-px4
 EnchancementAllow EKF2 to intialize without mag if VIO valid2d7ff3c6Not mainlined, PR rejected
 EnchancementHW detection of Flight Core vs VOXL Flight589c4a46 and 0f6ffc53Fixed in ModalAI v1.10, Mainlined in v1.11
 Bug FixFixes issue with Flight Core HW rev detection589c4a46Fixed in ModalAI v1.10, Mainlined in v1.11
 Bug FixFix for SD card writing failuresea1e5b72 and dbd065ab and fd0a00f9Fixed in ModalAI v1.10, Mainlined in v1.11
 Bug FixFix for timer config bug resulting in chan5 output being overwritten65c2b4d7Fixed in ModalAI v1.10, Mainlined in v1.11
 EnchancmeentAdd Support for VOXL-Flight5ffab958Fixed in ModalAI v1.10, Mainlined in v1.11
 Bug Fixrotate default orientation 180° yawdc816a5cFixed in ModalAI v1.10, Mainlined in v1.11
 Bug FixVarious stack size and defconfig bug fixesa37c028a and 5dd4c0dc and ff994390Fixed in ModalAI v1.10, Mainlined in v1.11
 PX4 ReleasePX4 v1.10.0 production release4f6faac2 

How to Build the Firwmare

This example uses the PX4 mainline repository.

git clone https://github.com/PX4/Firmware.git
cd Firmware
make modalai_fc-v1

You can use JFlash with a .jlink file with command like so, where deadbeef.bin is the name of the binary file:

loadbin modalai_fc-v1.bin,0x08008000

ArduPilot

ModalAI’s Flight Core is integrated into ArduPilot by the great ArduPilot community. The engineers at ModalAI do not have experience with ArduPilot, so can not offer significant support. It is recommended to find support through the normal ArduPilot channels (boards & Discord). Hopefully ModalAI will gain experience with ArduPilot in the future.

ArduPilot pull request for ModalAI Flight Core v1 base hardware support Github

ArduPilot pull request for VOXL-compatible Visual Inertial Odometry support Github

Next: Flight Core Bootloader