Install binaries

The recommended way to install any vehicle is the following (after frambuesa release):

Connect your Raspberry Pi Zero to internet, open one terminal and execute the following commands:

sudo apt-get update
sudo apt-get install apm-copter-pxfmini

Open a terminal and type the following:

sudo apt-get purge -y apm-copter-pxfmini

Note: Before install a new package, uninstall the previous package.

  • apm-copter-pxfmini
  • apm-hexa-pxfmini
  • apm-heli-pxfmini
  • apm-tri-pxfmini
  • apm-octa-pxfmini
  • apm-rover-pxfmini
  • apm-plane-pxfmini

git clone
cd ardupilot/
git submodule update --init
./waf configure --board=pxfmini
./waf # to compile the code for all the vehicles

If only one of the vehicles is needed:

./waf --targets bin/arducopter-quad # coax heli hexa octa ...

binaries will be located under build/pxfmini/bin.

To compile the APM for the Raspberry Pi Zero type the following in the command line of a Linux/Mac OS machine:

cd ~/
git clone # Get cross compiler
git clone # Fetch the flight stack sources

You need to know your development machine architecture. Use 'uname -a' to know it.
x86_64 means a 64 bits architecture.
x86_ i386, i486, i586 or i686 means a 32 bits architecture.

x86 (32bits):

export PATH=~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin:$PATH

x64 (64bits):

export PATH=~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin:$PATH

Then, compile the autopilot for the desired vehicle, e.g. for Copter:

cd ~/ardupilot/ArduCopter
make pxfmini -j4

You can find the source of the code in the following link.

You can download the latest binary file from

  • PXFmini:
    • Erle-Copter:
    • Erle-HexaCopter:
    • Erle-Rover:
    • Erle-Plane:

You need to copy the new binary file to the Erle-Brain 2 via ssh.

Remember: If you are using a PXFmini with a Raspberry Pi Zero the binary files loaded by default are inside ~/PXFmini/ folder

# set a new name to the recently created binary
# or before copying the new one rename one located in the brain
ssh erle@
    mv ArduCopter.elf ArduCopter.elf.old
    sudo systemctl stop apm.service

scp /tmp/ erle@

ssh erle@
    # launch manually binary file Ctrl+C to close
    sudo ./ArduCopter.elf
    # start apm.service
    sudo systemctl start apm.service