One of the great advantages of Paparazzi is support for multiple hardware designs. The old Paparazzi board where based around ATMega MCUs. The current autopilots are designed around two primary processors:
- STM32 series microcontrollers
- LPC21xx series microcontrollers
There are active and current autopilots designs using both architectures. Not all autopilots have the same capabilities, peripherals or features, but each has advantages in different applications.
Currently, boards are designed around the STM32 microcontollers. Some of the autopilots use the STM32F1 and others the STM32F4 microcontrollers. This provides a wide range of choices resulting in a large variety of peripherals and speeds. Architecture-dependent firmware code is supported in part by libopencm3, as well as Chibi OS through the Paparazzi RT branch.
The LPC21xx based boards use the LPC2148 and have been flying fixed wing and multi-rotors for many years. This architecture is more mature but at the expense of speed and extra ports available on the newer STM32 series processors. The Tiny series, Booz, TWOG, YAPA, Umarim and NavGo autopilots all use the LPC2148.
Newer autopilots use either the STM32F1 or STM32F4 microcontrollers. You can choose from Lisa/M(X), Elle0, Krooz or Apogee autopilots, depending on your processing and IO needs.
Some autopilots have also been designed for close integration with small single-board computers, particularly those based on OMAP processors such as the Gumstix Overo series. The Lisa/L and Classix boards are designed with this in mind, though other autopilots can be easily interfaced. Further information can be found here. This also resulted in the ports of Paparazzi UAV to the Parrot AR Drone 2, Bebop and Rolling Spider airframes, that come with built in embedded Linux computers as their autopilot hardware.
A basic feature comparison table is presented to help in the autopilot hardware selection process.
For information regarding architecture and firmware compatibility of various subsystems and modules, please see the appropriate Subsystems overview and Modules List pages.
NOTE: This list contains only mature and fully supported autopilots designed specifically for the Paparazzi UAV project.
Autopilot1 Feature Matrix
Feature
|
Lisa/L v1.1
|
Lisa/M
|
Lisa/S
|
Elle0
|
KroozSD
|
Apogee v1.00
|
Umarim v1.0
|
Umarim Lite v2
|
NavGo v3
|
Tiny v2.11
|
TWOG v1.0
|
YAPA v2.0
|
HBmini/v2.0
|
|
Availability
|
Active |
No |
Yes |
Yes |
Yes |
Yes |
Yes |
No |
Yes |
No |
No |
No |
No |
No
|
Buy Now |
- |
Buy |
Buy |
Pre-Order |
Buy |
Buy |
- |
Buy |
- Buy |
- |
- |
- |
|
|
MCU
|
Part |
STM32F103RE |
STM32F105RCT6 |
STM32F103REY6 |
STM32F415RCT6 |
STM32F405RGT6 |
STM32F405RGT6 |
LPC2148 |
LPC2148 |
LPC2148 |
LPC2148 |
LPC2148 |
LPC2148 |
LPC2148
|
Clock |
72MHz |
72MHz |
72MHz |
168MHz |
168MHz |
168MHz |
60MHz |
60MHz |
60MHz |
60MHz |
60MHz |
60MHz |
60MHz
|
Flash |
512kB |
256kB |
512kB |
1024kB |
1024kB |
1024kB |
512kB |
512kB |
512kB |
512kB |
512kB |
512kB |
512kB
|
RAM2 |
64kB |
64kB |
64kB |
192kB |
128 & 64kB |
128 & 64kB |
32kB & 8kB |
32kB & 8kB |
32kB & 8kB |
32kB & 8kB |
32kB & 8kB |
32kB & 8kB |
32kB & 8kB
|
|
Onboard Sensors3
|
MEMS IMU |
no |
aspirin |
yes |
yes |
krooz/ext |
yes |
yes |
yes |
yes |
no |
no |
no |
yes
|
Magnetometer |
no |
aspirin |
yes |
yes |
yes |
yes |
no |
no |
yes |
no |
no |
no |
yes
|
Barometer |
yes |
yes |
yes |
yes |
yes |
yes |
yes |
no |
yes |
no |
no |
no |
yes
|
Diff Pressure |
yes |
no |
no |
no |
no |
no |
no |
no |
no |
no |
no |
no |
no
|
GPS |
no |
no |
yes |
no |
no |
no |
no |
no |
no |
yes |
no |
no |
no
|
|
Input/Output4 & Communication Interfaces
|
UART |
3 & 1RX |
2 & 2RX |
1 & 1RX |
2 & 2RX/TX |
3 |
3 & 1Rx |
2 |
2 |
2 |
1 |
2 |
2 |
2
|
I2C |
2 |
1 + 15 |
18 |
1 |
2 |
2 |
2 |
1 |
2 |
1 |
1 |
1 |
2
|
SPI |
2 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1
|
ADC |
3 (12bit) |
3 + 2 (12bit)5 |
0 |
2 |
4 + 1 (12bit)5 |
0 + 3 (12bit) |
0 + 4 (10bit) |
86 |
0 + 4 (10bit)6 |
0 + 1 (10bit)6 |
8 (10bit) |
6 (10bit) |
8 (10bit)(16bit)
|
PWM |
6 |
6 + 25 |
6 |
8 |
10 + 15 |
6 + 1 |
6 |
6 |
0 + 15 |
8 |
8 |
10 |
10
|
PPM Output |
no |
no |
no |
no |
no |
no |
no |
no |
no |
1 |
1 |
no |
|
PPM Capture |
1 |
0 + 15 |
1 |
1-8 |
1 |
1 + 15 |
1 + 15 |
1 + 15 |
1 |
1 |
1 |
1
|
R/C serial |
|
2 |
1 |
2 |
|
1 (standard & S.BUS) |
|
|
|
|
|
|
|
GPIO7 |
? |
1 |
0 |
? |
2 + 15 |
0 + 4 |
0 + 46 |
0 + 46 |
0 + 26 |
2 |
2 |
1 |
11
|
Onboard LEDs |
8 |
5 |
4 |
4 |
3 |
4 |
2 |
2 |
4 |
3 |
3 |
3 |
2
|
USB Peripheral |
Onboard USB JTAG + UART |
bootloader |
no |
DFU bootloader |
bootloader |
DFU bootloader + USB storage |
bootloader |
bootloader |
bootloader |
bootloader |
bootloader |
bootloader |
bootlader
|
CAN |
1 |
1 |
1 |
110 |
no |
no |
no |
no |
no |
no |
no |
no |
|
MODEM connector |
no |
no |
no |
no |
Xbee |
no |
no |
no |
no |
no |
no |
Xbee |
|
|
Onboard Peripherals
|
SD card/interface |
no |
no |
no |
no |
yes/SPI |
yes/SDIO + USB storage |
no |
no |
no |
no |
no |
|
|
RTC |
no |
no |
no |
no |
no |
yes + backup cap. |
no |
no |
no |
no |
no |
|
|
Others |
Overo w/ I/O incl. USB Host |
Aspirin footprint, JTAG header |
|
|
On-board micro-USB B header |
On-board mini-USB B header |
|
On-board mini-USB B header |
|
|
|
RS232 options |
Buzzer
|
|
Program & Debug Interface
|
|
USB (luftboot)+ JTAG + UART |
USB (luftboot)+ JTAG + UART |
SWD + UART |
USB DFU bootloader + JTAG |
|
USB(DFU) + SWD |
USB (pprz bootloader) |
USB (pprz bootloader) |
USB (pprz bootloader) |
USB (pprz bootloader) |
USB (pprz bootloader) |
USB (pprz bootloader) |
JTAG
|
|
Power Management
|
Supply Input |
6.1V - 18V |
5V - 16V |
2.3V - 5.5V |
5V |
7V - 32V |
5.5V - 17V |
5.5V - 17V |
5.5V - 17V |
5.5V - 16V |
6.1V - 18V |
6.1V - 18V |
6.1V - 18V |
6.1-18V
|
Supply Output |
2.25@5V, 2.25A@3.3V, Other |
500mA@3.3V, 250mA@5V |
1A@3.3V |
2x299mA@3.3V |
1.5A@3.3V, 5A@5V |
1A@3.3V, 1.5A@5V |
1A@3.3V, 1.5A@5V |
1A@3.3V, 1.5A@5V |
1A@3.3V, 1.5A@5V |
1A@3.3V, 2.25A@5V |
1A@3.3V, 2.25A@5V |
2x 1A@3.3V, 2.25A@5V |
1A@3.3V, 2.25A@5V
|
Software Switch |
2 |
no |
1 |
1 |
no |
1 (5V) |
no |
no |
no |
1 |
1 |
1 |
4
|
|
Mechanical
|
Size |
~100mm x ~50mm |
34mm x 60mm x 10mm |
20mm x 20mm x 5mm |
36mm x 36mm |
50mm x 60mm x 10mm |
53 x 25 x 9mm (shares the same external dimensions as UmarimLite) |
56mm x 25mm |
53mm x 25mm |
35mm x 35mm |
70.8mm x 40mm |
40.2mm x 30.5mm |
80.0mm x 40.0mm? |
57x30mm
|
Weight |
? |
9.9g - 10.8g |
2g |
? |
20g - 40g |
10g |
9g |
8g |
? |
24g |
8g |
23g w/ XBee? |
30
|
Connector Style |
Picoblade |
Picoblade & 0.1" Servo |
0.05" header |
0.1" pin header + JST9 |
Picoblade & 0.1" Servo |
Picoblade |
Picoblade |
Picoblade |
Picoblade |
Picoblade |
Picoblade |
0.1" Headers |
Picoblade & 0.1" Servo
|
PCB Style |
4-layer |
4-layer |
6-layer |
4-layer |
2-layer |
4-layer |
4-layer |
4-layer |
4-layer |
2-layer |
2-layer |
2-layer |
4-layer
|
Mounting Holes |
4x M3 |
4xM2/M3 |
4xM2 |
4xM3 |
4x M3 |
4x 2mm (shares the same mounting points as UmarimLite) |
4x 2mm |
4x 2mm |
4x 2mm |
no |
no |
4x M3 |
4xM2
|
|
Comments
|
Comments |
IMU and Overo Mount Location, Many Features |
|
|
|
High speed Cortex™-M4 168MHz processor with FPU unit, IMU, microSD card slot, OSD, onboard XBee connector |
Cortex-M4 MCU, 9DOF IMU + Baro, Hi-speed microSD logging + USB storage mode, S.BUS compatible, small and lightweight |
Small Dimensions, narrow fuselage form factor, IMU |
Smallest Dimensions, IMU, basic version of Umarim |
Small Dimensions, IMU, magnetometer & high sensitivity Barometer; designed for small rotorcraft |
Onboard u-blox GPS, designed for easy DIY assembly (same as TWOG) |
Basic, no onboard sensors (all external for expandability) |
Specially designed to work with rs232 sensors such as XSens Mit-G/Crossbow NAV420/ig500/3DM-GX3/DMS-SGP02/MGL-sp-5. Onboard XBee connector |
can use mpu6050 or mpu6000
|
Typical Usage |
Advanced payload and controls development using Gumstix; fixed-wing or rotorcraft |
Small, general purpose w/ IMU; fixed-wing or rotorcraft |
|
|
High integrated, high productivity board w/ IMU, microSD card, OSD and XBee; rotorcraft or fixed-wing |
Small and powerful general purpose ;fixed-wing |
Small, general purpose w/ IMU; fixed-wing |
Small, general purpose w/ IMU; fixed-wing |
Small, general purpose w/ IMU; rotorcraft |
Small, general purpose w/ GPS; fixed-wing with external IR or IMU |
Small, general purpose; fixed wing with all external sensors |
0.1" headers means easier wiring, at the cost of weight |
For all kind of aircraft
|
Date Introduced |
Summer 2010 |
Winter 2012 |
Summer 2013 |
Winter 2015 |
Spring 2013 |
Summer 2013 |
Fall 2011 |
Summer 2012 |
Summer 2012 |
Fall 2007 |
Spring 2008 |
Spring 2011 |
Winter 2012
|
Previous Versions |
Lisa/L v1.0 |
Lisa/M v1.0 |
|
|
Krooz |
|
|
|
|
Tiny v1.1, Tiny v0.99 |
|
YAPA v1.0 |
|
Notes:
1. Only the newest revisions of the more commonly used autopilots are listed
2. The extra 8kB of RAM on the LPC2148 shared with the USB DMA
3. The onboard sensors are almost always supplemented with external sensors. For example, TWOG can use an external IMU or IR sensors, and also needs an external GPS.
4. Input/Outputs listed are generally those easily accessible on regular autopilot connectors, customization/hacks can modify available I/O, for example free an extra I2C on Tiny and TWOG
5., 6. Some features use shared resources - denoted by X + Y where Y is shared - and cannot be used simultaneously
5. Lisa/M v2.0 shared resources include: one I2C is shared with 2 PWM outputs, two ADCs are shared with LEDs, one RX only UART is shared with the PPM capture
6. Umarim v1.0 shared resources include: 4 ADCs are shared with 4 GPIOs
7. Usually other unused pins can be used for additional GPIO with some code modifications
8. Many of the pins have multiple purposes. Servo 5&6 can be used for i2c even though there is no dedicated connector.
9. The two JST connectors, provide a combined RX and TX connection. The RX & TX lines are combined through a 100Ohm resistor. The GPS and Telemetry connectors are full TTL UARTs.
10. Only the CAN RX&TX lines are exposed, no transceiver included on board.
|