DIY Drones Firmware builds

These firmware builds are automatically generated by the DIY Drones autotest system.


This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.

For details see


Operating a powered vehicle of any kind can be a lot of fun. However, nothing will ruin your day at the park more quickly than an accident or running afoul of the law. Since we want you to have a great experience, please make sure that you do all of the following:


PlaneAPM Plane - for fixed wing aircraft

CopterAPM Copter - for multicopters and traditional helicopters

RoverAPM Rover - for land vehicles and boats

PX4IOPX4IO - for the PX4IO board

MissionPlannerMissionPlanner - Mission Planner tool

RadioSiK - 3DR Radio Firmware

ToolsTools - Build and development tools

Types of firmware available

To choose a firmware to download you need to choose: The meanings of the versions are For each vehicle type a firmware image is available for each type of autopilot board supported by that vehicle type

Load your firmware using APM Mission Planner

Load your firmware using QUpgrade

QUpgrade is a standalone firmware upgrade tool. It can be used to download and flash the appropriate firmware for your PX4 autopilot. Instructions and downloads for Windows, Mac Os, and Linux are available here:

Download QUpgrade

Loading APM1 or APM2 firmware on Linux or MacOS

If you don't use Mission Planner on Linux then you can load firmware using the avrdude command. A typical command for uploading a file called ArduPlane.hex to an APM2 or APM1-2560 is:
avrdude -patmega2560 -cstk500v2 -P /dev/ttyACM0 -b115200 -D -Uflash:w:ArduPlane.hex:i
You will need to replace the /dev/ttyACM0 path with the path to your APM device. You may wish to use the device paths in /dev/serial/by-id so the path doesn't change. If you have an APM1-1280 then the command would be:
avrdude -patmega1280 -cstk500v1 -P /dev/ttyUSB1 -b115200 -D -Uflash:w:ArduPlane.hex:i

Loading PX4FMU firmware on Linux or MacOS

To load a PX4FMU firmware on a Linux or MacOS machine you will need to use the python script. You can run it like this:
python --port /dev/ttyACM0 px4fmu.px4
After starting the script, press the reset button on your PX4FMU to make it enter bootloader mode.

Building the firmware youself

To build the firmware youself please see the ArduPilot development site.