3/24/2015 common­Mission Planner Telemetry Logs | ArduPlane

http://plane.ardupilot.com/wiki/common­mission­planner­telemetry­logs/ 2/9

subfolder in your Mission Planner installation folder or to the location you select in the Planner

options [Config/Tuning] [Planner].

Besides the “.tlog” files, “.rlog” files are also created. These contain all the .tlog data plus

additional debug output from the mission planner. but cannot be parsed or played back so

they should be ignored.

Setting the datarate

The desired rate at which data is sent from the APM/PX to the ground station can be controlled

through the mission planner’s Software > Planner screen’s Telemetry drop­downs. Because

all data sent over the telemetry link is also recorded in the tlog, this also controls the rate of

data saved to the tlogs.

Note that especially on ArduCopter, due to CPU resource limitations, the actual rate of the data

sent and saved may be lower than the rate requested.

Playing back missions

If you are using wireless telemetry and have connected to to APM via the Mission Planner,

your flight data will automatically recorded. You can play back these logs by doing the
3/24/2015 common­Mission Planner Telemetry Logs | ArduPlane

http://plane.ardupilot.com/wiki/common­mission­planner­telemetry­logs/ 3/9

following:

Open the mission planner’s Flight Data screen

click on the Telemetry Logs tab

Press “Load Log” and find the flight’s tlog file

Press “Play”

You can also jump to the point of interest in the log using the slider and control the speed of

the playback with the predefined Speed buttons.

While the log is replaying, the HUD will move and the vehicles location on the map will update

as it did during the flight. Individual data values can be seen through the Status tab and you

can even display them in a graph by clicking on the “Tuning” checkbox under the map and then

double clicking on the data legend to bring up a box from which you can choose exactly which

data fields are graphed as shown below. This will show the recorded data changing as the

flight progresses.
3/24/2015 common­Mission Planner Telemetry Logs | ArduPlane

http://plane.ardupilot.com/wiki/common­mission­planner­telemetry­logs/ 4/9

Creating 3d images of the flight path

You can create KMZ files by doing this:

Open the mission planner’s Flight Data screen

Click on the Telemetry Logs tab

Press the “Tlog > Kml or Graph” button

Press the “Create KML + GPX” button

select the flight tlog
3/24/2015 common­Mission Planner Telemetry Logs | ArduPlane

http://plane.ardupilot.com/wiki/common­mission­planner­telemetry­logs/ 5/9

A .kmz and .kml file will be created along side the original .tlog and this can be opened in

google earth to interactively view the 3d flight path. You can open the kmz file in Google Earth

to view the flight or path. Just double click the file or drag it and drop into Google Earth.
3/24/2015 common­Mission Planner Telemetry Logs | ArduPlane

http://plane.ardupilot.com/wiki/common­mission­planner­telemetry­logs/ 6/9

The different flight modes used during the flight will appear as different colored tracks. You

can change some details about how the flight paths are displayed including their color and

whether the paths extend to the ground by doing this:

Find the log file’s name in the “Places” pane on the left. It should appear in a “Temporary

Places” folder.

Right click on an individual path and select “Properties” to open the Edit Path window.

The color can be changed on the “Style, Color” tab

The area below the path can be removed (added) on the “Altitude” tab by un­checking

(checking) “Extend path to ground”

Extracting parameters and Waypoints

You can extract the parameters and waypoints from the tlog by following the same steps as for
3/24/2015 common­Mission Planner Telemetry Logs | ArduPlane

http://plane.ardupilot.com/wiki/common­mission­planner­telemetry­logs/ 7/9

creating the KML file except that at the last step select “Extract Params” or “Extract WPs”.

Extract Params will cause a .param file to be created along side the tlog. This file is tab

separated and contains a full list of parameters (in the same order as they appear in the

eeprom) along with their values during the flight. This can be opened in excel or a text editor.

Extract WPs will create one or more .txt files containing any missions uploaded to the

APM/PX4. These files can be opened in the Mission Planner by switching to the Flight Plan

screen, right­mouse­button clicking on the map and selecting “File Load/Save”, “Load WP

File”.

Graphing data from a flight

Data from the flight can be graphed by doing the following:

Open the mission planner’s Flight Data screen

Click on the Telemetry Logs tab

Press the “Tlog > Kml or Graph” button

Press the “Graph Log” button

select the flight tlog
3/24/2015 common­Mission Planner Telemetry Logs | ArduPlane

http://plane.ardupilot.com/wiki/common­mission­planner­telemetry­logs/ 8/9

When the “Graph This” screen appears, use the left or right mouse button to click on the

checkboxes beside the items you wish to graph. Note that the items are grouped into

categories like “RC_CHANNELS” and “RAW_IMU” although it’s still often difficult to find

exactly the item you wish to graph

If you use the left mouse button the scale for the item will appear on the left of the graph. If

you use the right mouse button it will appear on the right

Click the checkbox multiple times to cycle through all the possible colours

Change the zoom of the graph with your mouse’s middle wheel, by select an area of the

graph with the left mouse button held down or by right­mouse­button clicking on the graph

and selecting “Set Scale To Default”

Video overview of tlogs

Questions about this page? Comments? Suggestions? Post to APM Forum! Use the platform
3/24/2015 common­Mission Planner Telemetry Logs | ArduPlane

http://plane.ardupilot.com/wiki/common­mission­planner­telemetry­logs/ 9/9

specific to your query, and make sure to include the name of the page you are referring to.
3/24/2015 common­Diagnosing problems using Logs | ArduPlane

http://plane.ardupilot.com/wiki/common­diagnosing­problems­using­logs/ 1/11

This page aims to show you how to diagnose the top 5 most common problems affecting

APM:Copter in particular but to some extent APM:Plane and APM: Rover as well. If you are

not yet familiar with the basics of telemtery logs and dataflash logs you will probably want to

review the introductory pages that go over where these logs are stored and how you can

download and view the information held within them.

Contents [hide]

1 Mechanical Failures

2 Vibrations

3 Compass interference

4 GPS glitches

5 Power Problems (BrownOuts, etc)

6 Unexpected ERRORS including Failsafes

Mechanical Failures

Common mechanical failures include a motor or ESC failure (including ESC sync failures), the

propeller slipping or coming off, etc. These appear in the log as a sudden divergence in the

desired roll and pitch vs the vehicles actual roll and pitch. This discrepancy is most clearly

visible in the dataflash logs by graphing the ATT message’s Roll­In vs Roll and Pitch­In vs

Pitch and to a lesser extent in the NavYaw vs Yaw.

ArduPilot > ArduPlane > common­Diagnosing problems using Logs

Diagnosing problems using Logs

ArduPlane
3/24/2015 common­Diagnosing problems using Logs | ArduPlane

http://plane.ardupilot.com/wiki/common­diagnosing­problems­using­logs/ 2/11

In the example above the vehicle’s actual roll (“Roll”) closely follows the desired roll (“Roll­In”)

for the first part of the log but then suddenly diverges. The flight controller wanted the roll to

remain level (0 roll) but it was unable to likely meaning a mechanical failure. This is very

different from a software failure in which the flight controller freaked out and for some strange

reason suddenly wanted the copter up­side­down because in such cases the desired roll would

be also be crazy and actual roll would follow.

Extra notes:

tlogs are generally more difficult to use in this case because although we have nav_roll and

nav_pitch which hold the desired roll and pitch, they are only updated when in RTL, Loiter or

Auto flight modes.

in AC3.1 (and higher) Roll­In and Pitch­In only hold the desired roll and pitch while in

stabilize mode. When in an autopilot mode you must look at the NTUN messages’s DRol

and DPit columns

Vibrations

High vibrations cause the APM:Copter’s accelerometer based altitude and horizontal position

estimates to drift far off from reality which leads to problems with alt hold (normally rocketing

into the sky) or Loiter (drifting).
3/24/2015 common­Diagnosing problems using Logs | ArduPlane

http://plane.ardupilot.com/wiki/common­diagnosing­problems­using­logs/ 3/11

Vibrations are best viewed by graphing the dataflash’s IMU message’s AccX, AccY and AccZ

values. The AccX and AccY values (primarily used for horizontal position control) should be

between ­3 and +3 m/s/s and the AccZ should be between ­15 and ­5 m/s/s. The

accelerometer values will change momentarily as the copter moves up and down which is why

it is better to pull the data from a portion of the flight where the copter was mostly stationary but

even with a copter that is moving you can still see the vibration levels by comparing the

difference between the top and bottom of the “grass”. an occasional blade of grass going over

the lines is ok but if it’s sustained then it’s likely a real vibration problem.

The below graph shows acceptable vibration levels.

Tlog’s RAW_IMU xacc, yacc and zacc can also be used but their update is much slower

(generally less than 10hz) than the dataflash log (50hz) so it becomes more difficult to see

whether the changes in accelerometer values are due to the copter moving or are just

vibrations.

If using tlogs the scale is in milli­Gs so the acceptable range for xacc and yacc is ­300 ~ +300,

and for zacc is ­500 ~ ­1500. Note that in the image below the values appear out of that range

which perhaps indicates a vibration problem although this user did not complain of AltHold or

Loiter problems so it is more likely that these variations were because the copter was not in a

stable hover and the update rate was low.
3/24/2015 common­Diagnosing problems using Logs | ArduPlane

http://plane.ardupilot.com/wiki/common­diagnosing­problems­using­logs/ 4/11

Compass interference

Interference from the power distribution board, motors, battery, esc and other electrical devices

near the APM or PX4 can throw off the compass heading which can lead to circling (aka “toilet

bowling”) or even the copter flying off in completely the wrong direction. Graphing the tlog’s

mag_field (found under “CUSTOM”) and throttle (found under VFR_HUD) values are the

easiest way to quickly see the amount of interference.

In the graph’s below shows an acceptable amount of magnetic interference. You can see the

mag_field fluctuates when the throttle is raised but only moves around by about 10% ~ 20%.

Below 30% inteference is acceptable. Between 30% ~ 60% is in the grey zone where it might

be ok (some users are ok, some are not) and really bad magnetic interference will show up as

jumps of over 60% when the throttle is raised.

Extra Notes:

The length of the mag_field can be anywhere from 120 ~ 550 depending upon where in the

world the vehicle is but it is normally around 330.

The magnetic interference as a percentage of the total mag field is also displayed at the end
3/24/2015 common­Diagnosing problems using Logs | ArduPlane

http://plane.ardupilot.com/wiki/common­diagnosing­problems­using­logs/ 5/11

of the compassmot set­up procedure.

Dataflash log’s COMPASS message hold the compass’s raw x, y and z axis values (called

MagX, MagY, MagZ) which are equivalent to the tlog’s RAW_IMU xmag, ymag and zmag

fields. It’s possible to calculate the mag­field length by first loading the dataflash log file into

excel, filtering by the COMPASS message and then calculating the mag­field using the

formula mag_field = sqrt(MagX^2, MagY^2, MagZ^2). Note that the COMPASS message is

not enabled by default in the dataflash logs because it runs at 50hz and does affect CPU

performance a bit.

Another general thing to check re the compass is the offsets which should bet between ­150

~ 150. These are found in the tlog’s SENSOR_OFFSET group as mag_ofs_x, mag_ofs_y,

mag_ofs_z and in the dataflash’s COMPASS message as OfsX, OfsY, OfsZ. They can

also be seen in the parameters as COMPASS_OFS_X, COMPASS_OFS_Y,

COMPASS_OFS_Z.

The image above it shows a short spike at the beginning of the graph but this can be

ignored because it’s before the throttle is raised so it’s probably just as the user plugged in

some other electrical device.

GPS glitches

When in autopilot modes (Loiter, RTL, AUTO) position errors from the GPS can cause

APM:Copter to think that it’s suddenly in the wrong position and lead to aggressive flying to

correct the perceived error. These “glitches” show up in both the tlogs and dataflash logs as

an decrease in the number of satellites visible and an increase in the hdop.

If using tlogs graph the the you can do this by graphing the GPS_RAW_IT group’s “eph” and

“satellites_visible” values. An hdop value of 1.5 (displayed as 150) or lower is very good. Over

2.0 (i.e. 200) indicates a bad position value. The number of satellites falling below 9 is also

bad. A significant change in these two values often accompanies a GPS position change.
3/24/2015 common­Diagnosing problems using Logs | ArduPlane

http://plane.ardupilot.com/wiki/common­diagnosing­problems­using­logs/ 6/11

In the Dataflash logs’s GPS message you will find the “HDop” and “NSats” columns. Note the

hdop values are in the correct units in the dataflash (i.e. not 100x too big like in the tlogs).

AC 3.1 includes GPS Glitch detection which attempts to ignore glitches by sanity checking the

positions.

Power Problems (BrownOuts, etc)

The introduction of the 3dr power module has made it much easier for people to provide a

reliable power supply to their APM/PX4. This has led to a massive reduction in the number of

brown­outs reported but they do still occur. They can normally be reconised by the logs

suddenly ending while the copter is still in the air (i.e. barometer or inerital navigation altitude is

still well above zero).

Try graphing the:

Dataflash log’s CTUN message’s Baro Alt

Dataflash log’s GPS message’s RelAlt (the combined accelerometer + barometer altitude

estimate)

Tlog’s VFR_HUD alt (the combined accelerometer + barometer altitude estimate)

Tlog’s GLOBAL_POSITION relative_alt
3/24/2015 common­Diagnosing problems using Logs | ArduPlane

http://plane.ardupilot.com/wiki/common­diagnosing­problems­using­logs/ 7/11

Changes in the board voltage can also be a sign of a power problem. Variations of 0.10 to

0.15 volts are normal. Beyond that could be a sign that other devices sharing the power

source with the APM are causing ripples in the power supply that could lead to a brown­out or

other weird behaviour. The board voltage can be graphed using:

Dataflash CURRENT message’s VCC

Tlog HWSTATUS’s Vcc

In the image directly below shows the board voltage sinking by 0.15V when the throttle is

raised. This is generally not a good thing but because it’s only 0.15V it’s probably ok. The 2nd

graph below (a dataflash graph from a different user’s log) shows a more random variation in

voltage but also up to 0.15V which is typical.
3/24/2015 common­Diagnosing problems using Logs | ArduPlane

http://plane.ardupilot.com/wiki/common­diagnosing­problems­using­logs/ 8/11

Unexpected ERRORS including Failsafes

When unexpected behaviour from the flight controller occurs (especially when the user

complains that the copter no longer responded to their input) it is often caused by one of the

failsafes being triggered. There are 5 failsafes that can be activated: Throttle Failsafe, GPS

Failsafe, GCS Failsafe (ground station failsafe), Battery Failsafe and the Fence.

The easiest way to find these is to look in the dataflash logs and filter the 1st column by “ERR”.
3/24/2015 common­Diagnosing problems using Logs | ArduPlane

http://plane.ardupilot.com/wiki/common­diagnosing­problems­using­logs/ 9/11

The Subsys (aka Sub­system) gives the area that generated the error and the ECode (aka

Error Code) tells you what the error was specifically. The very limited number of subsystems

and error codes can be found at the bottom of the APM:Copter defines.h file.

Sub Systems / Error Codes

1: Main (never used)

2: Radio

ECode 1: “Late Frame” which means the APM’s onboard ppm encoder did not

provide an update for at least 2 seconds

ECode 0: error resolved which means the ppm encoder started providing data

again

3: Compass

ECode 1: the compass failed to initialise (likely a hardware issue)

ECode 2: failure while trying to read a single value from the compass

(probably a hardware issue)

ECode 0: above errors resolved

4: Optical flow

Ecode 1: failed to initialise (likely a hardware issue)

5: Throttle failsafe

ECode 1: throttle dropped below FS_THR_VALUE meaning likely loss of

contact between RX/TX

ECode 0: above error resolve meaning RX/TX contact likely restored

6: Battery failsafe
3/24/2015 common­Diagnosing problems using Logs | ArduPlane

http://plane.ardupilot.com/wiki/common­diagnosing­problems­using­logs/ 10/11

ECode 1: battery voltage dropped below LOW_VOLT or total battery capacity

used exceeded BATT_CAPACITY

7: GPS failsafe

ECode 1: GPS lock lost for at least 5 seconds

ECode 0: GPS lock restored

8: GCS (Ground station) failsafe

ECode 1: updates from ground station joystick lost for at least 5 seconds

ECode 0: updates from ground station restored

9: Fence

ECode 1: altitude fence breached

ECode 2: circular fence breached

ECode 3: both altitude and circular fences breached

ECode 0: vehicle is back within the fences

10: Flight Mode

ECode 0 ~ 10: the vehicle was unable to enter the desired flight mode

(0=Stabilize, 1=Acro, 2=AltHold, 3=Auto, 4=Guided, 5=Loiter, 6=RTL,

7=Circle, 8=Position, 9=Land, 10=OF_Loiter)

11: GPS

ECode 2: GPS Glitch

ECode 0: GPS Glitch cleared
3/24/2015 common­Diagnosing problems using Logs | ArduPlane

http://plane.ardupilot.com/wiki/common­diagnosing­problems­using­logs/ 11/11

12: Crash Check

ECode 1: Crash detected

13: Flip

ECode 2: Flip abandoned (because of 2 second timeout)

14: AutoTune

ECode 2: Bad Gains (failed to determine proper gains)

15: Parachute

ECode 2: Too low to deploy parachute

16: EKF/InertialNav Check

ECode 2: Bad Variance

ECode 0: Bad Variance cleared

17: EKF/InertialNav Failsafe

ECode 2: EKF Failsafe triggered

18: Baro glitch

ECode 2: Baro glitch

ECode 0: Baro glitch cleared

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.
3/24/2015 common­Using Python Scripts in Mission Planner | ArduPlane

http://plane.ardupilot.com/wiki/common­other­mission­planner­features/common­using­python­scripts­in­mission­planner/ 1/8

One of the cool features of the Mission Planner is that it can run Python scripts, which is an

easy way to extend the functionality of the program beyond its built­in functions. It can also

enable integration easily with other dlls and modules far beyond the original scope of the

Mission Planner.

Contents [hide]

1 Overview

2 Classes Exposed by Mission Planner to Python

3 Using CPython Standard Libraries

4 Tutorials and sample scripts

Overview

You can easily program your UAV to do anything, from robotic acrobatics to just script­driven

missions. Python 2.x is currently supported, up to 2.7 (Mission Planner uses an implementation

of IronPython internally)

Aside from the regular Python commands, these are the special Mission Planner commands

you can use:

cs.???? = currentstate

Any variable on the status tab in the planner can be used.

Script.????

ArduPilot > ArduPlane > common­Using Python Scripts in Mission Planner

Using Python Scripts in Mission

Planner

ArduPlane
3/24/2015 common­Using Python Scripts in Mission Planner | ArduPlane

http://plane.ardupilot.com/wiki/common­other­mission­planner­features/common­using­python­scripts­in­mission­planner/ 2/8

options are

Script.Sleep(ms)

Script.ChangeParam(name,value)

Script.GetParam(name)

Script.ChangeMode(mode)(same as displayed in mode setup screen ‘AUTO’)

Script.WaitFor(string,timeout)

Script.SendRC(channel,pwm,sendnow)

Here’s an example, which tells a multicopter to do a roll in the air!

print 'Start Script'

for chan in range(1,9):

Script.SendRC(chan,1500,False)

Script.SendRC(3,Script.GetParam('RC3_MIN'),True)

Script.Sleep(5000)

while cs.lat == 0:

print 'Waiting for GPS'

Script.Sleep(1000)

print 'Got GPS'

jo = 10 * 13

print jo

Script.SendRC(3,1000,False)

Script.SendRC(4,2000,True)

cs.messages.Clear()

Script.WaitFor('ARMING MOTORS',30000)

Script.SendRC(4,1500,True)

print 'Motors Armed!'

Script.SendRC(3,1700,True)

while cs.alt < 50:

Script.Sleep(50)

Script.SendRC(5,2000,True) # acro

Script.SendRC(1,2000,False) # roll

Script.SendRC(3,1370,True) # throttle
3/24/2015 common­Using Python Scripts in Mission Planner | ArduPlane

http://plane.ardupilot.com/wiki/common­other­mission­planner­features/common­using­python­scripts­in­mission­planner/ 3/8

while cs.roll > ‐45: # top half 0 ‐ 180

Script.Sleep(5)

while cs.roll < ‐45: # ‐180 ‐ ‐45

Script.Sleep(5)

Script.SendRC(5,1500,False) # stabilize

Script.SendRC(1,1500,True) # level roll

Script.Sleep(2000) # 2 sec to stabilize

Script.SendRC(3,1300,True) # throttle back to land

thro = 1350 # will descend

while cs.alt > 0.1:

Script.Sleep(300)

Script.SendRC(3,1000,False)

Script.SendRC(4,1000,True)

Script.WaitFor('DISARMING MOTORS',30000)

Script.SendRC(4,1500,True)

print 'Roll complete'

Classes Exposed by Mission Planner to Python

Mission Planner exposes classes using the following code:

linking classes into python

scope.SetVariable(Variablename, ClassInstance);

That the following classes are exposed:
3/24/2015 common­Using Python Scripts in Mission Planner | ArduPlane

http://plane.ardupilot.com/wiki/common­other­mission­planner­features/common­using­python­scripts­in­mission­planner/ 4/8

scope.SetVariable("MAV", MainV2.comPort);

scope.SetVariable("cs", MainV2.comPort.MAV.cs);

scope.SetVariable("Script", this);

scope.SetVariable("mavutil", this);

This is where you can add your own classes. For now lets us explore the important methods

and properties you can use into your script using these classes.

Class Name: Script.cs

Python Variable: Script , mavutil

Method Description

bool ChangeParam (string param, float value)

Float getParam (string param)

bool ChangeMode (string mode) Changes flying mode

bool SendRC (int channel, ushort pwm, bool sendnow) Send Chxout values.

Class Name: CurrentState.cs

Python Variable: cs

Method Type Description

roll float Roll (deg)

pitch float Pitch (deg)

yaw float Yaw (deg)

lat float Latitude (deg)

lng float Longitude (deg)

groundcourse float Ground Course (deg)

alt float Altitude (dist)

altoffsethome float Altitude Home Offset (dist)
3/24/2015 common­Using Python Scripts in Mission Planner | ArduPlane

http://plane.ardupilot.com/wiki/common­other­mission­planner­features/common­using­python­scripts­in­mission­planner/ 5/8

gpsstatus float GPS Status

gpshdop float GPS HDOP

satcount float Satellite Count

altd100 float Altitude / 100

altd1000 float Altitude / 1000

airspeed float Airspeed (speed)

targetairspeed float Airspeed Target (speed)

groundspeed float Ground Speed (speed)

verticalspeed float Vertical Speed (speed)

wind_dir float Wind Direction (deg)

wind_vel float Wind Velocity (speed)

ax, ay, az float Acceleration Values in x,y,z

gx, gy, gz float Gyro Values in x,y,z

mx, my, mz float Mag Values in x,y,z

failsafe bool Faile Sate Active or Not

rxrssi float

chx1in, chx2in, .... chx8in float Input Channels from 1 to 8

ch1out, chx2out, .... chx8out float Output Channel form 1 to 8

nav_roll float Roll Target (deg)

nav_pitch float Pitch Target (deg)

nav_bearing float Bearing target (deg)

target_bearing float Bearing Target (deg)

wp_dist float Distance to Next Waypoint (dist)

alt_error float Altitude Error (dist)

ber_error float Bearing Error (dist)

aspd_error float Airspeed Error (speed)
3/24/2015 common­Using Python Scripts in Mission Planner | ArduPlane

http://plane.ardupilot.com/wiki/common­other­mission­planner­features/common­using­python­scripts­in­mission­planner/ 6/8

wpno float Flying Mode

mode String Flying Mode

dimbrate float Climb Rate (speed)

tot int Time over target (sec)

distTraveled float Distance Travelled (dist)

timeInAir float Time in Air (sec)

turnrate float Turn Rate (speed)

radius float Turn Radius (dist)

battery_voltage float Battery Voltage (volt)

battery_remaining float Battery Remaining (%)

current float battery Current (Amps)

HomeAlt float

DistToHome float Absolute Pressure Value

press_abs float Absolute Pressure Value

sonarrange float Sonar Range (meters)

sonarVoltage float Sonar Voltage (volt)

armed bool True if Armed

Please note that although these properties are read/write howvever writing to some of them

can corrupt the status. Use methods from Script class to control the vehicle. for example use

Script.ChangeMode(xmode) rather than cs.mode = xmode.

Class Name: MavLink.cs

Python Variable: MAV
3/24/2015 common­Using Python Scripts in Mission Planner | ArduPlane

http://plane.ardupilot.com/wiki/common­other­mission­planner­features/common­using­python­scripts­in­mission­planner/ 7/8

Method Description

bool setParam (string paramname, float value) Same as Script.ChangeParam()

bool doARM (bool armit) BE CAREFUL when using it.

byte getWPCount ( ) Gets Waypoints Count.

Using CPython Standard Libraries

You can import standard libraries from your regular Python 2.x folders by adding this line to top

of your script (replacing “c:\python27\lib” with whatever the folder is on your drive):

import sys

sys.path.append(r"c:\python27\lib")

Here, for example, we’re importing the serial, os, and threading libraries, which are in two

folders in a typical Python 2.7 installation. Appending the specific folder paths for those three

libraries first allows us to import them with the next “import” command:

import sys

sys.path.append(r"c:\Python27\Lib\site‐packages")

sys.path.append(r"c:\Python27\Lib")

import serial, os, threading

Tutorials and sample scripts

Scripting fixed­wing acrobatics

Adding new variables and classes

Writing a time­based script

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.
3/24/2015 common­Using Python Scripts in Mission Planner | ArduPlane

http://plane.ardupilot.com/wiki/common­other­mission­planner­features/common­using­python­scripts­in­mission­planner/ 8/8
3/24/2015 common­Geotagging Images with Mission Planner | ArduPlane

http://plane.ardupilot.com/wiki/common­geotagging­images­with­mission­planner/ 1/9

Geo­tagged aerial pictures are very useful for mosaic mapping as well as the creation of

accurate 3D models from a terrain.

The Mission Planner has a handy feature that will inject GPS data into your photos’ EXIF tags

by using APM’s telemetry log from a flight.

This tutorial was created to show you how does it work. (Original work from Sandro Benigno

and Guto Santaella updated by Jesus Alvarez)

Contents [hide]

1 Overview

1.1 CAM Messages

1.2 Time offset (picture time log time)

ArduPilot > ArduPlane > common­Geotagging Images with Mission Planner

Geotagging Images with Mission

Planner

ArduPlane
3/24/2015 common­Geotagging Images with Mission Planner | ArduPlane

http://plane.ardupilot.com/wiki/common­geotagging­images­with­mission­planner/ 2/9

2 Interface

2.1 Files selection

2.2 Geotag Mode

2.3 Time offset Estimation and Shutter Lag

2.4 Item offsets in log

2.5 FOV and Altitude reference

2.6 Action Buttons

2.7 Process Messages

3 Processing Instructions

3.1 Common Pre­steps

3.2 CAM Messages

3.3 Time Offset

3.4 Common Post­steps

Overview

One of the most important application of UAVs is photogrammetry, orthophoto generation, 3D

terrain modeling etc.

In all cases, having pictures with geographical information about the camera position at the

trigger instant, is crucial.

If your camera has a built­in GPS you may or may not add autopilot GPS location from its log.

If you are using CAM method it may be more accurate to use it instead of the built­in GPS.

Mission Planner provides two methods for geotagging your photos from a mission log

1. CAM messages from dataflash log

2. Time offset (picture time log time)

CAM Messages

APM/Pixhawk can trigger a camera by using a relay output or a PWM output during

preprogrammed missions or by RC activation.

CAM messages are generated (and stored in dataflash log) every time the autopilot triggers

the camera. This can happen by either DO_DIGICAM_CONTROL, by a

DO_SET_CAM_TRIGG_DIST or any future command.

When using this geotag method, Mission Planner will use the exact information recorded in the

CAM Message (at the time of the trigger) to geotag a picture.
3/24/2015 common­Geotagging Images with Mission Planner | ArduPlane

http://plane.ardupilot.com/wiki/common­geotagging­images­with­mission­planner/ 3/9

This is the most precise geotag method.

Time offset (picture time log time)

This method tries to figure out the time offset between the camera internal clock time and log

time. By doing this, every picture can be geotagged with GPS information stored in the

telemetry or dataflash logs.

User must tune the offset value until it finds a coherent result.

This method is mainly used when there is no connection between camera and autopilot

Interface

Geotag tool interface is shown below

Files selection
3/24/2015 common­Geotagging Images with Mission Planner | ArduPlane

http://plane.ardupilot.com/wiki/common­geotagging­images­with­mission­planner/ 4/9

This is where the user has to select the log location and camera pictures folder

Geotag Mode

As explained above, there are two options. CAM Messages and Time offset.

Time offset Estimation and Shutter Lag

Time offset estimation part is only allowed if Time Offset mode has been selected.

Time offset needs to be estimated by comparing the first picture time and the first GPS time in

the log.

Once the user click the “Estimate Offset” button, the tool will calculate time offset as said

above and will print the result in the Process Messages section at the bottom of the window.

Offset Estimation = 1st_Picture_Time – 1st_GPS_Time_Logged

If CAM Message is selected, the Shutter Lag option is available. Note that GPS positions are

stored at 5Hz by default (if using 3DR GPS) so they are recorded every 200ms.

If Shutter Lag is less than 100ms, then GPS position is taken from current CAM Message.

If Shutter Lag is bigger than 100ms, the GPS position is taken from 200ms ahead in log.

Item offsets in log

This section allows the user to tell the tool where specific information can be found in the log.

Item offsets are preset to the last stable APM release.

There are three messages whose offsets need to be defined

CAM

GPS

ATT

Example of how to find out item offset in a message line within a log

Lets take a look at the GPS Line Format definition at the beginning of a log:

FMT, 130, 45, GPS, BIHBcLLeeEefI,

Status,TimeMS,Week,NSats,HDop,La6t,Lng,RelAlt,Alt,Spd,GCrs,VZ,T

The field with the number 1 is the one after the Units­definition­word.

In our case, the Units­definition­word is BIHBcLLeeEefI. So the field with number 1 is Status
3/24/2015 common­Geotagging Images with Mission Planner | ArduPlane

http://plane.ardupilot.com/wiki/common­geotagging­images­with­mission­planner/ 5/9

Counting from it, we should have:

TimeMS = 2

Week = 3

Lat = 6

...

FOV and Altitude reference

In this part of the UI, the user can define the Field of View related information and Camera

orientation. This information is incorporated into the result files but it is not used or stored in the

picture EXIF data.

AMSL Alt checkbox allows to select either AGL Altitude (Above Ground Level) or AMSL

Altitude (Above Mean Sea Level).

Action Buttons

Pre­process

When this button is clicked, Geotag tool will try to extract and calculate pictures positions

Location Kml

When this button is clicked, Geotag tool will open Google Earth and show pictures

position on a map so the user can check their correct positioning.

GeoTag Images

If everything was correct in previous steps and pictures are well positioned in the map,

this button will write the position information in the EXIF data of every picture

Process Messages

This is the place where the tool will output information

Processing Instructions

Common Pre­steps

Very first step: Open the Mission Planner and press “Ctrl+F”. It will open a hidden screen
3/24/2015 common­Geotagging Images with Mission Planner | ArduPlane

http://plane.ardupilot.com/wiki/common­geotagging­images­with­mission­planner/ 6/9

like the one shown below.

Click the button “Geo ref images”. It will give you access to the Geo Tagging tool

Click the button “Browse Log” and select the log (.tlog or .log) of the flight related to the

shooting session.

Click the button “Browse Directory” and select the folder where your aerial pictures were

downloaded from your camera.

Notice that the camera picture folder can contain other files apart from the pictures.

However in terms of pictures, it must contain just the ones belonging to the flight.

From now, it depends on the type of processing.

CAM Messages

In order to process CAM messages, the mission file had to be defined to use remote camera
3/24/2015 common­Geotagging Images with Mission Planner | ArduPlane

http://plane.ardupilot.com/wiki/common­geotagging­images­with­mission­planner/ 7/9

trigger by means of any of the available mission commands (CAM_TRIGG_DISTANCE,

DO_DIGICAM_CONTROL, etc).

Select the CAM Message method if it is not selected in the Geotag Mode section.

Enter Shutter Lag value (in milliseconds) if you know it. If not leave it with 0

Check that Log offsets are correct according to your log version. Most of the times they

should be ok

Enter FOV information if needed

Select Use AMSL Alt checkbox if you want absolute altitude. Otherwise, uncheck it

Click Pre­process!

If everything goes right, you will see Done at the end of the Process Messages Area

The most common problem in this processing mode is having a discrepancy between the

number of CAM messages in log and the number of pictures in the folder. If the tool finds that

they are different, it will output an error message and abort.

Check the pictures proposed location by means of Location Kml button (See Common

Post­steps section)

Time Offset

Select the Time Offset method if it is not selected in the Geotag Mode section.

Click on Estimate Offset button
3/24/2015 common­Geotagging Images with Mission Planner | ArduPlane

http://plane.ardupilot.com/wiki/common­geotagging­images­with­mission­planner/ 8/9

The tool will calculate (as explained in previous section) the time difference between the first

picture and the first GPS time in the log.

Copy the calculated offset printed in the Process Messages Area and paste it into the field

Seconds offset

Take a look at the following picture:

Click Pre­process!

Check that there is no warning or error message in the Process Messages Area

Introducing a erroneous Time Offset is the most common problem when using this method.

If this is the case, Geotag tool will output a warning as there might be some picture times

that (once corrected with the given offset) are not found in the autopilot log. See picture

below:

Note: It must be taken into account that the estimated time offset is just a starting point.
3/24/2015 common­Geotagging Images with Mission Planner | ArduPlane

http://plane.ardupilot.com/wiki/common­geotagging­images­with­mission­planner/ 9/9

Check the pictures proposed location by means of Location Kml button (See Common

Post­steps section)

If proposed location is not correct, add or substract some seconds to the Offset Time and

repeat

Common Post­steps

Two things left to do, check that proposed picture locations are ok and write location

information to the pictures EXIF data.

Click on the Location Kml button. Google Earth will open and show the proposed picture

locations. See following image:

Check that they are ok.

If you were using CAM Message Mode, there shouldn’t be any problem. If there is, just

order pictures alphabetically and check that the first picture is the list is also the oldest one.

If you were using Time Offset, just try adding or substracting seconds to time offset.

If everything is OK, Click on GeoTag Images button and wait to see:

Geotagged files can be found in geotagged folder inside the original pictures folder

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.
3/24/2015 common­Other Mission Planner Features | ArduPlane

http://plane.ardupilot.com/wiki/common­other­mission­planner­features/ 1/2

Other features that aren’t specific to the modes already described in the menu:

The Mission Planner Console: When you first open Mission Planner you will see a small

window with a black background with a lot of text scrolling by. When Mission Planner finally

opens, the window may disappear. That window is called the console. You can keep it alive

by checking a box at the bottom of the Mission Planner help screen.

Shortcut Keys:

F12 – disconnect or connect from/to USB or Telemetry

F5 – Refresh parameters

F2 – change to Flight Data tab

F3 – change to Flight Planner tab

F4 – change to Configuration tab

F5 – Refresh parameter list

CTL­G Nmea Output

CTL­W Wizard config interface

You can display video from your aircraft on the Mission Planner’s HUD if you are digitizing it

with the same laptop (with a video capture card or USB device). Just select the device in the

Configuration/Planner screen, chose video format and press “Start” to begin recording. If

you select the HUD checkbox, the video display will replace the artificial horizon in the HUD.

You can also record the video that you’re displaying to an AVI file. Just right­click in the

HUD and choose from the menu that will pop up.

You can send NMEA (GPS) output to the serial port. Press control­g and you will get a box

asking for a comport and baud rate to output standard nmea data at 2 hz, to any serial port.

ArduPilot > ArduPlane > common­Other Mission Planner Features

Other Mission Planner Features

ArduPlane
3/24/2015 common­Other Mission Planner Features | ArduPlane

http://plane.ardupilot.com/wiki/common­other­mission­planner­features/ 2/2

One application would be to use com2com to emulate a serial port to use with third party

applications.

You can have the Mission Planner load non­standard firmware (any .hex files that you’ve

made or got elsewhere) to APM by pressing Control­C on the firmware loading screen.

The Mission Planner can give you audio speech alerts for events that you choose, such as

hitting waypoints or low battery. Just go to Configuration – Planner – Speech – Enable

Speech

The Mission Planner source code can be downloaded and compiled (built) by those with

programming skills in C# and who are familiar with Microsoft Visual Studio. Details (Here!)

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.
3/24/2015 common­Pixhawk Wiring Quick Start | ArduPlane

http://plane.ardupilot.com/wiki/common­pixhawk­wiring­and­quick­start/ 1/4

This article shows how to connect your RC input and other peripherals to Pixhawk.

Contents [hide]

1 Connect buzzer and safety switch

2 Connect other peripherals

3 Connect RC inputs

4 Power Pixhawk

Connect buzzer and safety switch

The buzzer and safety switch button are mandatory for Pixhawk. Connect to the BUZZER and

SWITCH ports, respectively.

Connect other peripherals

ArduPilot > ArduPlane > common­Pixhawk Wiring Quick Start

Pixhawk Wiring Quick Start

ArduPlane
3/24/2015 common­Pixhawk Wiring Quick Start | ArduPlane

http://plane.ardupilot.com/wiki/common­pixhawk­wiring­and­quick­start/ 2/4

3DR Power Module (pictured): Connect the power module port to the Pixhawk POWER port

with the six­position DF13 cable. 3DR GPS+Compass (pictured): Connect the GPS ports with

the six­position DF13 cable, and connect the MAG port to the I2C port with the four­position

DF13 cable. 3DR u­blox GPS: To connect the GPS­only module to Pixhawk, you will need to

modify the existing cable to use a 6­position DF13 connector on one end instead of the existing

6­position JST connector. When using this, or any other GPS­only module, Pixhawk will

automatically use its internal compass. 3DR Radio V2 (pictured): Connect the air module to

the TELEM 1 port with the six­position DF13 cable. 3DR Radio V1: To connect Pixhawk to a

3DR Radio V1 air module, you will need to modify the existing connector cable to use a sixposition DF13 connector instead of the existing five­position connector.

Connect RC inputs

Pixhawk is compatible with PPM RC receivers, Futaba S.Bus receivers, and Spektrum

DSM,DSM2, and DSM­X Satellite receivers. For traditional single­wire­per­channel (PWM)

receivers a PPM encoder can be used to convert the receiver outputs to ppm sum. more

details can be found on this wiki page. To connect a PPM receiver, Futaba S.Bus receiver, or

PPM encoder, connect the black ground, red power and white signal wires to the RC pins.

Note: Futaba S.BUS2 receivers are not yet supported. These S.BUS receivers have been

tested and are known to work: R2008SB, R6008SB. For a Spektrum DSM, DSM2, or DSM­X

Satellite receiver, connect to the SPKT/DSM port.
3/24/2015 common­Pixhawk Wiring Quick Start | ArduPlane

http://plane.ardupilot.com/wiki/common­pixhawk­wiring­and­quick­start/ 3/4

NOTE: Do not connect any servos to the direct PWM outputs of your receiver. The RCIN port

on the Pixhawk is designed for low power devices only, and a servo may draw a lot of current

when moving rapidly. If you connect a servo directly onto your receiver while the receiver is

powered from the RCIN port of your Pixhawk you may damage your Pixhawk

Power Pixhawk

Pixhawk should primarily be powered via its power port as shown in the picture above. The

power port simultaneously powers Pixhawk and reads voltage and current analog

measurements produced by an optional 3DR power module (or other voltage/current

measurement devices such as an Attopilot). To power Pixhawk off the servo rail without a

power module, see the main Pixhawk page for instructions and more powering information.
3/24/2015 common­Pixhawk Wiring Quick Start | ArduPlane

http://plane.ardupilot.com/wiki/common­pixhawk­wiring­and­quick­start/ 4/4

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.
3/24/2015 PX4FMU plus PX4IO Wiring | ArduPlane

http://plane.ardupilot.com/wiki/px4fmu­plus­px4io­wiring/ 1/10

Contents [hide]

1 Bill Of Materials

2 Assembly

3 PX4FMU plus PX4IO Wiring Diagram for ArduPlane

4 Wire the PX4FMU and PX4IO boards to Your ArduPlane

5 PX4FMU plus PX4IO with 3DR 8 channel encoder and 3DR telemetry radio

6 Using a Standard RC Radio Receiver with an 8 channel PPM Encoder

6.1 3DRobotics 8 Channel PPM­Sum Encoder

7 There are Several Radio systems that support PPM­Sum or S­Bus directly

8 FRSky transmitter adapter module and PPM­Sum receiver

9 FRSky PPM­Sum compatible transmitter

10 Turnigy transmitter compatible with FRSky transmitter module

11 Futaba transmitter compatible with Futaba S­Bus receivers

Bill Of Materials

1. PX4 FMU Board plus PX4 IO Board kit available from 3DRobotics (Here!)

Assembly

1. Solder the right angle 9×3 pin connector that was included with your PX4 kit to the

side of the PX4IO board that has “PX4 autopilot” printed on it.

1. When you insert the 9 x 3 connector into the PX4IO board put it in with the plastic

spacer on the connector facing to the back of the board, NOT down against the board.

2. Solder the small white PAP­02­VS 2 pin connector into the 2 holes directly behind

ArduPilot > ArduPlane > PX4FMU plus PX4IO Wiring

PX4FMU plus PX4IO Wiring

ArduPlane
3/24/2015 PX4FMU plus PX4IO Wiring | ArduPlane

http://plane.ardupilot.com/wiki/px4fmu­plus­px4io­wiring/ 2/10

the battery pads on the PX4IO board.

3. Install the PX4IO board on top of the PX4FMU board.

1. Ensure all of the connector pins are straight and insertion is complete.

2. Mount the PX4­FMU + PX4­IO board stack in a central and level location on top of

your ArduPlane.

3. The PX4FMU board is normally on top.

4. It can be advantageous to mount the PX4IO board on top to provide for better

Connector access.

5. If you do mount the PX4IO board on top it will be necessary to set the “Board

Orientation (AHRS_ORIENTATION)” parameter to “Roll 180′′ in the Advanced

Parameter List in Mission Planner.

6. The arrow labeled “FRONT” should be facing to the front of the aircraft.

7. The Micro SD memory card holder should face to the back of the Aircraft.

4. Use the included standoffs and hardware.

1. Which ever side of which ever board is going to be on top but a black standoff through

one of the mounting holes from the bottom and thread a black plastic nut onto it from

the top.

2. Repeat the above for the remaining 3 holes.

3. Connect the PX4FMU and PX4IO board insuring no pins are bent on the board

interconnection connector.

4. Thread 4 more of the black standoffs into the already installed black standoffs.

5. You will need additional vibration damping and you should also review the Wiki

section on vibration control.

1. At a minimum you should mount the standoffs to an intermediate plate.

2. Mount the plate to your airframe with 4 small (<1′′)square pads of Kyosho “Zeal” gel or

“Moon Gel” in the corners.

6. Mount the GPS facing up with an unobstructed “view” of the sky.

1. Connect the GPS cable to the GPS connector on the PX4FMU board.

2. The GPS must be positioned so that it’s cable will connect without strain to the

PX4FMU’s GPS connector.

3. The GPS can be mounted on a short riser to give it the widest satellite access.
3/24/2015 PX4FMU plus PX4IO Wiring | ArduPlane

http://plane.ardupilot.com/wiki/px4fmu­plus­px4io­wiring/ 3/10

PX4FMU plus PX4IO Wiring Diagram for ArduPlane
3/24/2015 PX4FMU plus PX4IO Wiring | ArduPlane

http://plane.ardupilot.com/wiki/px4fmu­plus­px4io­wiring/ 4/10
3/24/2015 PX4FMU plus PX4IO Wiring | ArduPlane

http://plane.ardupilot.com/wiki/px4fmu­plus­px4io­wiring/ 5/10

Wire the PX4FMU and PX4IO boards to Your ArduPlane

1. Wire the PX4­IO board.

1. The PX4IO board has a built in Power Supply which can connect to up to 18 volts.

2. Insert the white PAP­02­VS 2 pin connector with the black and red wires coming out of it

into the mating power connector you soldered in previously on the PX4IO board.

3. Battery Plus is the(red wire) and should be soldered to your battery red power lead /

connector.

4. Battery Ground is the(black wire) and should be soldered to your battery black battery

(Ground) lead / connector.

5. The main power inputs of your ESC’s will also need to connect to these wires and to a

battery connector.

6. A Power Distribution board can also be used.

2. Connect your PPM­Sum RC receiver’s 3 wire cable to the end of the 9 x 3 angle

connector that is nearest the edge of the PX4IO board with the signal wire furthest

from the board and the ground closest to the board.

3. Wire the PX4 boards servo out signals to your Servo / ESC control inputs.

1. The ESCs BEC or a separate UBEC can supply servo power to the Servos via the PX4’s

Servo connector BUSS

1. Run the 3 wire servo cables from the ESC (and its built in BEC) and Servos to the 3 x

9 Servo Connector on the PX4IO board.

2. Or, clip the power lead on the ESC and run power and ground from a separate UBEC

to the bottom pins of the Servo connector.

2. The PX4IO board connector for Servo 1 is at the edge of the connector next to the
3/24/2015 PX4FMU plus PX4IO Wiring | ArduPlane

http://plane.ardupilot.com/wiki/px4fmu­plus­px4io­wiring/ 6/10

Battery power in wires.

3. Insert the Servo and Motor ESC signal wires arranged progressively from that edge,

(1,2,3,4,etc).

4. You can put the ESC / Servo Signal wires into a single inline connector with the correct

number of pins for your ArduPlane.

5. The ESC / Servo Signal Wires / connector should be plugged into the top row (furthest

from the board) of the PX4IO boards 3 x 9 Servo Connector.

4. Note, the cable that is supplied in the plastic envelope with the UBLOX GPS which

has white 6 pin connectors on both ends is not the correct cable for the PX4FMU

board.

1. The correct longer cable is provided in a separate envelope and has a 5 pin “beige”

connector on one end and a 6 pin white connector on the other end.

2. Plug the correct GPS cable’s white 6 pin connector into the 6 pin socket on the GPS.

3. Plug the beige 5 pin connector into the PX4FMU board’s 5 pin GPS socket which is next

to the 15 pin DF13 Mini connector.

5. Plug the 2 pin connector attached to the lead supplied with the buzzer into the buzzer

socket on the side of the PX4FMU board that has the SD card holder on it.

6. Connect the “Safety Button” to the Safety button connector on the PX4IO board on

the opposite side of the board from the Battery pads.

The PX4 must have its “Safety” mechanism disengaged before it can be armed.

PX4 Safety Button LED Indications:

Fast Blinking indicates: Error Condition, Safety cannot be disengaged. Possibly not

calibrated or sensor error.

Slow Blinking indicates: Safe condition. Safety can be disengaged by depressing Safety

Button for 5 seconds.

LED Continuously on indicates: Safety has been disengaged. Depending on your

parameter settings, throttle may be armed with Throttle down and to the right. For details

on throttle arming see: Arming Throttle.

When the LED is continuously on indicating Safety Disengaged it may be toggled back to

a Safety engaged condition by depressing the Safety button for 5 seconds.

Both the Safety engaged and Safety disengaged conditions require the button to be held

down for 5 seconds to toggle them.

. This is a safety mechanism to prevent accidental disarming during flight and accidental

arming during transportation.
3/24/2015 PX4FMU plus PX4IO Wiring | ArduPlane

http://plane.ardupilot.com/wiki/px4fmu­plus­px4io­wiring/ 7/10

PX4FMU plus PX4IO with 3DR 8 channel encoder and 3DR

telemetry radio

Using a 3DR telemetry radio with your PX4FMU plus PX4IO system.

You will need a 3DR radio (Here!)

And you will need a 3DR radio adapter cable (Here!)

Plug the large black connector of the adapter cable into the 3DR radio.

Plug the adapter cable beige connector into FMU UART5, the middle connector on the

end of the PX4IO board.

The FMU USART2 connector is on the opposite edge of the PX4IO from the Servo

connector and at the corner of the board.

Using a Standard RC Radio Receiver with an 8 channel PPM

Encoder

You can use a standard radio receiver with an 8 channel PPM Encoder in place of

the PPM­SUM receiver.

An 8 Channel PPM Encoder is available from 3DRobotics (Here!)

Solder a 3×8 Right angle connector from the top into one end of the 8 Channel PPM

Encoder board.

With the 3×8 connector up and facing away from you, solder a 3×1 Right angle

connector on the right edge of the 8 Channel PPM Encoder board.

Connect 5­8 output channels of your receiver to the inputs of the 8 Channel

Encoder (signal wire furthest from board) with 5­8 female to female servo jumpers.

Connect the PPM­SUM output of the Encoder with a 3 wire cable to the PX4IO boards

PPM sum input (1×3 connector).

3DRobotics 8 Channel PPM­Sum Encoder
3/24/2015 PX4FMU plus PX4IO Wiring | ArduPlane

http://plane.ardupilot.com/wiki/px4fmu­plus­px4io­wiring/ 8/10

There are Several Radio systems that support PPM­Sum or SBus directly

FRSky transmitter adapter module and PPM­Sum receiver
3/24/2015 PX4FMU plus PX4IO Wiring | ArduPlane

http://plane.ardupilot.com/wiki/px4fmu­plus­px4io­wiring/ 9/10

FRSky PPM­Sum compatible transmitter
3/24/2015 PX4FMU plus PX4IO Wiring | ArduPlane

http://plane.ardupilot.com/wiki/px4fmu­plus­px4io­wiring/ 10/10

Turnigy transmitter compatible with FRSky transmitter module

Futaba transmitter compatible with Futaba S­Bus receivers

You can also go to the PixHawk Link for even more options (Here!)

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.
3/24/2015 ArduPlane Setup | ArduPlane

http://plane.ardupilot.com/wiki/arduplane­setup/ 1/1

Just want to get up and running as fast as possible? Here’s a guide to the simplest approach.

There’s a lot more APM:Plane can do, but this will give you a taste:

1. Install the Mission Planner software and APM firmware

2. Connect your RC equipment

3. Set up your configuration

4. Check it out in the air

5.

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.

ArduPilot > ArduPlane > ArduPlane Setup

ArduPlane Setup

ArduPlane
3/24/2015 common­Installing Mission Planner | ArduPlane

http://plane.ardupilot.com/wiki/common­install­mission­planner/ 1/3

Mission Planner is free, open source software available for Windows. These instructions will

guide you through installing Mission Planner on your ground station computer.

Contents [hide]

1 Download the most recent Mission Planner installer file

2 Run the installation utility

3 Open Mission Planner

Download the most recent Mission Planner installer file

Go to the Mission Planner download page and click on the “Mission Planner – MSI –

Permanent link to latest” and then on the next page push the Download button. Alternatively

you can get the MSI directly from this link.

ArduPilot > ArduPlane > common­Installing Mission Planner

Installing Mission Planner

ArduPlane
3/24/2015 common­Installing Mission Planner | ArduPlane

http://plane.ardupilot.com/wiki/common­install­mission­planner/ 2/3

Run the installation utility

Open the Microsoft installer file (.msi) and select Run to run the installation utility.

Follow the instructions to complete the setup process. The installation utility will automatically

install any necessary software drivers. If you receive a DirectX installation error, please update

your DirectX plug­in from the DirectX Download Center.

If you receive the warning pictured here, select Install this driver software anyway to
3/24/2015 common­Installing Mission Planner | ArduPlane

http://plane.ardupilot.com/wiki/common­install­mission­planner/ 3/3

continue.

Mission Planner is normally installed in the C:\Program Files (x86)\APM Planner folder or

the C:\Program Files\APM Planner folder. That is where your log files folder is located. An icon

to open the Mission Planner is created according to your instructions during the installation.

Open Mission Planner

Once installation is complete, open Mission Planner by clicking on the Icon. Mission Planner

automatically notifies you about available updates. Please always run the most current version

of Mission Planner.

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.
3/24/2015 common­Loading Firmware onto APM | ArduPlane

http://plane.ardupilot.com/wiki/common­load­firmware­apm/ 1/3

APM firmware is the brains of your autopilot operation, created and maintained by the

dedicated open source community. Downloading the latest firmware onto APM is an important

part of first time setup and also useful when updating APM’s existing firmware. These

instructions will show you how to download the latest firmware onto APM.

Contents [hide]

1 Connect APM to computer

2 Connect APM to Mission Planner

3 Select firmware

4 Connect to MavLink

Connect APM to computer

Once you’ve downloaded Mission Planner onto your ground station computer, connect APM to

your computer using the micro USB connector and APM’s micro USB port. Use a direct USB

port on your computer, not a USB hub. Click on images to enlarge.

ArduPilot > ArduPlane > common­Loading Firmware onto APM

Loading Firmware onto APM

ArduPlane
3/24/2015 common­Loading Firmware onto APM | ArduPlane

http://plane.ardupilot.com/wiki/common­load­firmware­apm/ 2/3

Windows will automatically detect APM and install the correct driver software. If you get a

message stating “driver not found”, follow these instructions to download the software

manually.

Connect APM to Mission Planner

Next we’ll let Mission Planner know which port we’re using to connect to APM. In Mission

Planner, use the drop­down menus in the upper­right corner of the screen (near the Connect

button) to connect to APM. Select Arduino Mega 2560 and set the Baud rate to 115200 as

shown. Don’t hit Connect just yet.

Select firmware

Now we’ll select which firmware to download to APM; this depends on the configuration of your

craft. Select the Hardware screen from the icons at the top of the display. Choose your copter’s

frame by clicking the corresponding icon: Quad, Hexa, Y6, plane, rover, or other. (We’ll specify

+ or x configuration later.) The firmware screen will not appear if you have already selected

Connect, so ensure that Mission Planner shows a disconnected icon in the upper­right corner

to access the firmware.

Once you select your frame, Mission Planner will automatically detect the latest firmware

version for your craft and prompt you to confirm the download. Select Yes to download the

firmware onto APM. When the download status reads Done, your firmware download is

complete.
3/24/2015 common­Loading Firmware onto APM | ArduPlane

http://plane.ardupilot.com/wiki/common­load­firmware­apm/ 3/3

Connect to MavLink

Select Connect (upper­right corner of the screen) to load MavLink parameters to APM.

Mission Planner will display a window showing the progress of the MavLink download.

When the window displays Done and Mission Planner shows the Disconnect option in place

of Connect, your APM firmware has been downloaded successfully.

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.
3/24/2015 common­Loading Firmware onto Pixhawk | ArduPlane

http://plane.ardupilot.com/wiki/common­loading­firmware­onto­pixhawk/ 1/4

These instructions will show you how to download the latest firmware onto the Pixhawk.

Contents [hide]

1 Connect Pixhawk to computer

2 Select the COM port

3 Install firmware

4 Re­Installing the Mission Planner and Pixhawk Drivers

Connect Pixhawk to computer

Once you’ve installed the Mission Planner onto your computer, connect the Pixhawk to your

computer using the micro USB cable. Use a direct USB port on your computer, not a USB hub.

Click on images to enlarge.

Windows should automatically detect and install the correct driver software. If you get a

message stating “driver not found” or “Failed to install driver”, follow the instructions at the

bottom of this page to reinstall the mission planner and drivers.

ArduPilot > ArduPlane > common­Loading Firmware onto Pixhawk

Loading Firmware onto Pixhawk

ArduPlane