Building ArduPilot for APM2.x on Windows with Arduino

This article shows how to build ArduPilot with Arduino on Windows. It covers:

  • From Copter Version 3.1
  • From Plane version 2.76
  • APM 2.0, 2.5, and 2.6 only
Warning:
Copter 3.3 firmware (and later) no longer fits on APM boards. The last firmware builds that can be installed on APM 2.x can be downloaded from here (AC v3.2.1).

Plane, Rover and AntennaTracker builds can still be installed.

image001

Step 1 Install Git-SCM

http://git-scm.com/download/win

Please follow the screenshots below to make your selections during install.
image004image006

On the Welcome screen and then again on the License screen click the Next button

image008image018

On the Select Components screen click on the Next button, then click the Finish button

image014image016

Click the Next button in the Replacing in Use Files Screen, then wait for Git to finish loading

image012image010

Select the Checkout Windows item and the Next button then Select the Run Git from Windows item and the Next button.

Step 2 Download source

In your C: drive, make a folder called GIT

Go to C:\GIT in windows Explorer (My computer)
image020

Right click anywhere in the folder and click git bash

image022

This screen will come up
image024

In this screen type

git clone git://github.com/diydrones/ardupilot.git

image026

When it is finished it should look like this….

image028

Step 3 Install MHV_AVR_Tools to its default location.

http://firmware.diydrones.com/Tools/Arduino/MHV_AVR_Tools_20121007.exe

image030 image038

Select the Next button in the setup wizard screen then select the Install button for MHV AVR Tools

image036 image034

Check both items in the Choose Components Screen and select Next then select Next again to install to the default location

image032

Select the I Agree button on the License Agreement screen

Step 4 Install ArduPilot-Arduino

Next unzip the special ArduPilot Arduino package

This is a new version, using the 4.8.2 version of GCC

http://firmware.diydrones.com/Tools/Arduino/ArduPilot-Arduino-1.0.3-gcc-4.8.2-windows.zip

I unzipped this Directly to my C: drive.

Step 5. Configure Arduino

Go to your Arduino folder

image040

Double click the Arduino icon

image040

When Arduino opens, go to the file menu

image042

Select preferences

image044

Set Sketchbook location to your ArduPilot directory in your GIT folder.

Also set verbose for both compile and upload

And DO NOT check for updates on start-up… (Remember, this is a special version just for ArduPilot.)

Click OK and close Arduino

Step 6 Connect your APM to your USB

Re-open ArduPilot and under the file tab, click on sketchbook, then the program you wish to load onto your APM2.x (for this example we will use Copter, though the others use the same methods.
image047

Once this is loaded, click on the ArduPilot tab, and select ArduPilot mega 2.x out of the HAL options.
image049

Then click the “Tools” tab and select “Arduino Mega 2560 or Mega ADK” from the “Board” tab.

image051

Next select the “Tools” tab again, and set the “Serial Port” to the one your APM is connected to.

image053

In my case it was COM4, but check under device manager / Ports to find out on your system.

image055

Step 7 Configure Copter.

Click on the APM_Config.h file tab.

Set your frame type (e.g. #define FRAME_CONFIG HEXA_FRAME) in order to get the right image for your frame

Enable or disable the features you wish in this file.

Ie if you want to compile with auto tune disabled, simply un-comment the line

//# AUTOTUNE DISABLED // disable the auto tune functionality to save 7k of flash

Change it to:

# AUTOTUNE DISABLED // disable the auto tune functionality to save 7k of flash

To Disable Auto Tune which is enabled by default.

The commented out options are the NON-default and all that needs to be done is to un-comment them to use them instead.

Save this file and select the file Copter.

At this point you are ready to compile.

I would choose Verify for the first attempt.

image057

Step 8 Upload to your ArduPilot.

Then if all is well

image058

This may take a while…

You should end up with…

image061

Configure Your ArduPilot using planner, as normal.

Warning:
The code you have just compiled is now UN-TESTED in your configuration. Please use only for testing. If you are not confident, please just use mission planner to upload pre-compiled code.

Updating your code

Please ensure that the version of code on your PC is the latest version, use git to update your code to the latest code.


Questions about this page? Comments? Suggestions? Post to APM Forum! Use the platform specific to your query, and make sure to include the name of the page you are referring to.