Skip to main content

Flashing Firmware

Firmware Files​

SourceFileWhen to use
Firmware releases from avian automata (download location to be announced)avianautomata_305ap_default_<date>.px4Normal updates
Rover releasesavianautomata_305ap_rover_<date>.px4Ground vehicles (see Rover)
Building from Sourcebuild/avianautomata_305ap_default/avianautomata_305ap_default.px4Custom builds

Releases are named by date. A letter suffix (20261019b) marks a second release on the same day. See the Changelog for what each release changes.

Install a .px4 file with Custom firmware file... in Vehicle Setup → Firmware. The steps are in Quickstart, Step 2.

tip

If QGroundControl does not detect the board, try entering DFU mode manually (see below).

Via DFU (dfu-util)​

Enter DFU Mode​

The 305ap has a dedicated BOOT button on the board. To enter DFU mode:

  1. Hold the BOOT button.
  2. Apply power (or press and release RESET while already powered).
  3. Release the BOOT button. The board will enumerate as an STM32 DFU device.

Flash with dfu-util​

# Install dfu-util if needed
sudo apt install dfu-util # Debian/Ubuntu
brew install dfu-util # macOS

# Flash PX4 firmware
dfu-util -a 0 -s 0x08020000:leave -D avianautomata_305ap_default.bin
Flash address

0x08020000 is the PX4 application start address, located in sector 1 immediately after the 128 KB bootloader reservation.

Flash via STM32CubeProgrammer​

  1. Enter DFU mode as above.
  2. Open STM32CubeProgrammer.
  3. Select USB interface and connect.
  4. Set start address to 0x08020000.
  5. Browse to the .bin file and click Start Programming.

Via PX4 Bootloader (Command Line)​

If the PX4 bootloader is installed, the PX4 uploader script in the PX4 source tree can flash a .px4 file:

python3 Tools/px_uploader.py --port /dev/ttyACM0 avianautomata_305ap_default_<date>.px4

Start the command, then power-cycle or plug in the board. The bootloader waits 5 seconds after power-up for an upload request, and the uploader waits for it to appear.

Recovering a Blank or Unresponsive Board​

If the board does not show up in QGroundControl at all, the bootloader may be missing or damaged. Use DFU mode to reinstall it (see Flashing the Bootloader and Bootloader), then install firmware with QGroundControl.

Flashing the Bootloader​

If you need to re-flash the PX4 bootloader itself:

dfu-util -a 0 -s 0x08000000:leave -D avianautomata_305ap_bootloader.bin

The bootloader occupies sector 0 (0x08000000–0x0801FFFF, 128 KB). Flashing PX4 firmware does not overwrite the bootloader.

Checking the Installed Version​

In Analyze Tools → MAVLink Console:

ver all

The PX4 git-hash line identifies the exact build and matches the commit listed in the Changelog. QGroundControl also shows the version under Vehicle Setup → Summary.