ArduPilot Firmware builds
These firmware builds are automatically generated by the ArduPilot autotest system.
License
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 http://www.gnu.org/licenses/gpl.html
Safety
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:- Operate within all local laws and regulations. For example, in the United States, current regulations require you to operate most UAVs under 400 foot above ground level, within line of site, and away from obstructions and populated areas. Since these regulations vary from place to place, even within the same country, ensure that you understand what you need to do to stay compliant.
- Never operate the vehicle or software in a way that could be dangerous to you, other people, or property. Propellers, while rotating, could easily cut you; if a UAV fell on a person or object, it could cause a lot of pain and damage; a UAV caught in power lines could cause an outage for many people. As Ben Franklin said, "An ounce of prevention is worth a pound of cure."
- Always keep in mind that software and hardware failures happen. Although we design our products to minimize such issues, you should always operate with the understanding that a failure could occur at any point of time and without warning. As such, you should take the appropriate precautions to minimize danger in case of failure.
- Never use the software or hardware for manned vehicles. The software and hardware we provide is only for use in unmanned vehicles.
Firmwares
ArduPlane - for fixed wing aircraftArduCopter - for multicopters and traditional helicopters
APMrover2 - for land vehicles and boats
PX4IO - for the PX4IO board
Types of firmware available
To choose a firmware to download you need to choose:- The type of board that you have
- Whether you want the stable, beta or latest version of the firmware
- Whether you want a HIL (hardware in the loop) image
- stable - this is the version recommended for new users. It has had the most testing
- beta - this is the firmware to choose if you want to be part of beta testing of new versions prior to release as a stable version. Note that during some development times the beta release will be the same as the stable release
- latest - this is the latest version from our git source code repository. This version is only for developers. The code may have unknown bugs and extreme care should be taken by anyone using it
How to load your firmware
After downloading a firmware image from one of the links above you will need to load it into your board. If you are using the APM Mission Planner then you can load a hex file using the "Firmware" screen by clicking on the "Load custom firmware" button in the bottom right corner of the screen.Loading firmware to a PX4FMU board
If you have a PX4FMU board then you can load firmware on Windows using the px4uploader.exe utility, which you will find in the "APM Planner" installation directory of your Windows machine. When you run that utility it will ask you for the location of a px4fmu.px4 file to load. It will then wait for your PX4 board to go into bootloader mode. The PX4 board enters bootloader mode when it powers on, or when the reset switch on the side of the PX4 is pressed. It may take a few seconds for Windows to recognise your PX4 board and upload to begin.The PX4 will exit bootloader mode and start the flight firmware 5 seconds after it boots, so if the firmware load hasn't started within 5 seconds of booting your PX4 then you should press the PX4 reset switch and try again.
You will also need a Windows driver for your PX4FMU board in order to connect over USB.
Loading firmware to a PX4IO board
If you have a PX4IO board attached to your PX4FMU then you will need to separately load the latest firmware to that board. To load the PX4IO firmware you need to download the px4io.bin file from the above link, then put it in the root directory of the microSD card you have in your PX4FMU board.You then need to hold the arming switch while applying power to your PX4FMU board. The PX4IO board detects that the arming switch is held when it powers on, and will enter bootloader mode, which is indicated by a rapidly flashing red light on your PX4IO board.
The APM firmware for your PX4FMU board will check in the root directory of your microSD card every time it boots, and if it finds a new px4io.bin file it will attempt to load it to your PX4IO board. A log of the firmware load attempt is placed in the APM directory of your microSD card to aid with debugging.
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:iYou 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 px_uploader.py python script. You can run it like this:python px_uploader.py --port /dev/ttyACM0 px4fmu.px4After starting the script, press the reset button on your PX4FMU to make it enter bootloader mode.