Getting Started

From PaparazziUAV
Jump to navigation Jump to search


Getting started with Paparazzi is not difficult if you follow the steps as described in this Wiki. This article will try to take you through all the needed steps by hand. If anything is missing in this tutorial please contact us through the Mailinglist or the Gitter Chat. We are happy to clarify any questions you may have.


There are already some complete tutorials (specific for one Autopilot and Airframe)
Refer to the Tutorials article first.

Install the Ground Station

To install the ground station as well as all the necessary tools to compile the autopilot firmware, refer to the Installation article. Go to the page specific for your OS, download and install all packages.
Download source code from git and compile it.

Run a Simulation

This will show the capabilities of Paparazzi. Doing this is not required but will make later steps easier.

Refer to the Simulation article first.

For your first few simulations you should use the default flight plan (use the Microjet aircraft) and configuration files in Paparazzi. This will allow you to get the simulator up and running in as little time as possible so you can see what Paparazzi can do. Once you have familiarized yourself with what a default Paparazzi simulation can do you will probably want to start building a flight plan (where the simulated aircraft flies) for your local area. The best way to do this is to go to Google Maps and type in your local town. Once you have found your local town, get the Latitude and Longitude of somewhere where you would like to fly your simulated UAV. Once you have the latitude and longitude, go and edit the basic flight plan (this is the example flight plan) and change the HOME latitude and longitude to the one near your home town. When you change the HOME latitude and longitude, the whole flight plan and way points will dynamically move to their relative position around your chosen latitude and longitude. You can now download the Google maps for your chosen area to give it that realistic look.

Once you have done this you will know more about what you can configure with Paparazzi. The best place to start to learn how to configure Paparazzi is to edit your flight plan so you can do more complex things. There are a multitude of examples for you to use both on the wiki and within the supplied Paparazzi flight plan files.

To try out the simulation, choose an aircraft, e.g. Microjet

  1. Then choose "Target -> Sim" it will mean that you are building firmware for usage with "Simulation" session. Press "Build".
  2. After the process is done, choose "Simulation" session and click "Execute".
  3. You will get two windows: GCS and windows named after our aircraft (e.g. Microjet).
  4. Now we recommended choosing "Maps" -> "Maps Auto" (of course if you have an Internet connection) to see satellite maps in GCS.
  5. Then in the lower left pane there is a small runway where you choose "Takeoff".

If everything goes well you'll see that your virtual aircraft took off and is making circles around the "standby" point. All further interactions are made through changing modes inside the flight plan.

Hardware considerations


We recommend using a Laptop with Ubuntu. Most of the Paparazzi developers use this set up as their ground stations, making it the most common and best tested platform. Alternatively, you can use an apple laptop with MacOSX. For Paparazzi installation instructions, refer to the Installation article.

RC Transmitter / Receiver

A 3 position switch is needed to switch between the AutopilotModes.

New 2,4Ghz systems are recommended. (e.g. Graupner MX-12/16/20)

The signal input from receiver to Autopilot board is done with a ppm sum stream. If the receiver can't output a ppm sum stream a PPM_Encoder board is needed.

Take a look at RC Receivers and Radios for more instructions about transmitters and receivers.


Generally there are two types of airframes:


  • Airplanes - this includes all standard airplanes: aerobatic, slow flying and so on.
  • Gliders - almost the same thing as an airplane but with a different flight concept. Unlike airplane, gliders mostly rely on motor-less flight, which results in slower turns and less throttle usage.


  • Helicopters - have a main and tail rotor.
  • Tri,Quad,Hexa,Octo-Copters - multirotor platforms.

Set your requirements:

  • fast & acrobatic
  • long range
  • heavy load
  • price
  • other

The Multiplex Mentor (flies well), Multiplex FunJet (has a prebuilt airframe configuration) or the Bixler are good starting points in fixedwings.
Talk to an experienced pilot if you want it to exactly meet your needs. We recommend starting with a FunJet or Bixler, it will be easier.
Some other information is located on the Airframes page.

Autopilot board

There are a lot of different autopilot boards designed for use with PaparazziUAV. Choose which one will best meet your needs.
A good choice is one of the following recent Paparazzi Autopilots, for example:

For a full list of supported hardware, visit the Autopilots article.

External Components

These 4 extra categories can be helpful:

  • Sensors used for orientation, proximity, leveling purposes.
  • GPS sensors that allow for accurate positioning.
  • Modems for communication between GCS and UAV.
  • OMAP which is a portable computer used for on-board data processing.
  • Other hardware, Additional useful items.

Example list

This is just a example of a complete list:

  • Laptop with Ubuntu
  • Airframe with servos, ESC, Battery (ready to fly Airframe !)
  • RC Transmitter and Receiver (Graupner HOTT series)
  • 2 x XBee modules
  • XBee USB adapter
  • LisaMV2 with aspirinv2.2 or KroozSD or Apogee AP
  • NEO-6M GPS Module (Hobbyking, 13€)
  • FT2232 Mini Module (USB <-> UART Adapter)

When the Autopilot arrives

We recommend inspecting your new hardware under a microscope for solder bridges and open connections before hooking it up to power and flying. If you find any of the above make sure to resolve the issues before connecting the device to power, or else you risk destroying the hardware. We recommend using a current limited Lab power supply for the initial bring up of any new hardware. This minimizes the risk of destroying your newly purchased / assembled device before use. Never try to power a new board directly from a battery before doing the above inspection. When powering up, set the lab power supply to 0mA and slowly increase the current limit until the board powers on, usually within the range of Maximum 100mA otherwise the board contains a short or is likely damaged. Never leave the board powered at a suspiciously high power level for too long, you risk burning up the board.

Upload the Bootloader

Not all boards require an external programmer and it is possible your board already comes with one. Lisa/L comes with a built in programmer, while Elle0, Lisa/M, KroozSD and Apogee can be programmed through a built in bootloader, using USB. More information is located in the Developer_Guide and FirmwareFlashing site.


Luftboot is the most used bootloader for the Lisa/MX board.
Elle0, KroozSD and Apogee have their own bootloader.
STM32 MCU have a native dfu boootloader that can also be used. (eg. stm32f4_discovery) See DFU.


This must be done once to get the paparazzi bootloader to a brand new LPC21 chip.

Build all required xml files

Most information is located on the matching site. A look at pre build xml files can be helpful.


Airframe describes the way our aircraft flies (fixedwing, rotorcraft), hardware that is used for control (autopilot, gps, imu, ahrs, servos, etc.), the way hardware interacts with each other (estimation algorithms for IMU, mixer settings for servos and such) and also allows to set constants (calibrations for servos and IMU, endpoints for servos, allowed voltage and turning rate limits and more).

Syntax of config file allows to make includes, so you can place some information like AHRS settings and IMU calibrations to separate file. It is convenient if you have several airframes that can use the same AHRS settings, and it also leaves in config file only vital options allowing to get rid of common constants.

Flight plan

Flight Plans
Here all paths for the flight plan are specified. (bungee start, different pattern, landing...)


Just a bunch of general settings. ( max altitude, max distance...)


This is the setup for the ppm input for the AP Input values, channels e.g. are configured here.


This specifies the telemetry data (which data should be transmitted in which period)


Search for the method your AP board needs, maybe some extra software is needed.


Doing both (soft and hardware) simulations is highly recommended. You can test if paparazzi or your code has any bugs.

Software simulation

This simulates your code only on the pc.

Hardware simulation

With this the AP board will work normal, but all sensor values (gps, imu...) are simulated. This is the best way to verify the AP is working correct. (is the IMU or GPS is bad, you won't find it with this simulation !)

User's Manual

Although outdated, the 2008 Paparazzi User's Manual may still be a useful guide through the Paparazzi environment.

You might find the Common_problems and XBee_configuration pages useful too.

If everything else fails

If you get completely stuck and you read all the above already you can come over to our IRC channel on Freenode #paparazzi. Some of the Developers are hanging out there and will help you if you get stuck.
You can also ask in the mailing list, but please don't spam.