Difference between revisions of "Category:Autopilots"

From PaparazziUAV
Jump to: navigation, search
 
(18 intermediate revisions by 5 users not shown)
Line 2: Line 2:
 
__NOEDITSECTION__
 
__NOEDITSECTION__
  
{|class="MainPageBG" style="width:100%;border:0px solid #000;background-color:#fff;vertical-align:top;color:#000; text-align: left;"
+
{{P Topic Table|{{P Header Box|ico=Autopilot.png|Autopilots}}
|-valign="top" style="width:30%"
+
{{Category:Autopilots/Index}}
|
 
<h3 style="-moz-border-radius-topright: 0.7em;
 
background:#fff;margin:0px;padding:4px;border:1px solid #000;">
 
[[Image:Autopilot.png|32px]] Autopilots
 
</h3>
 
<div style="padding:6px;">
 
{{Autopilots}}
 
</div>
 
 
<!-- Start of right-column -->
 
<!-- Start of right-column -->
| class="MainPageBG" style="width:70%;border:0px solid #000;background-color:#fff;vertical-align:top"|
+
|{{P Header Box|ico=Autopilot.png|Paparazzi Autopilots}}
{|width="100%" cellpadding="0" cellspacing="0" style="vertical-align:top;background-color:#fff"
+
 
|-valign="top"
+
One of the great advantages of Paparazzi is support for many hardware designs. There is autopilot hardware that is specifically designed to work with Paparazzi from the start, but Paparazzi has also been ported to other popular autopilots.  
| <h2 style="margin:0;background-color:#fff;font-size:120%;font-weight:bold;border:1px solid #000;text-align:left;color:#000;padding:4px;">[[Image:Autopilot.png|32px]] Paparazzi Autopilots</h2>
+
[[Image:tiny13_family_top_sm.jpg|center|400px|Tiny 1.1 autopilots on the "assembly line"]]
|-
+
 
|Hardware support for Autopilot versions currently in use.  
+
<h3> Paparazzi designed hardware </h3>
|-
+
Most current autopilots are designed around two primary processors:
|[[Image:tiny13_family_top_sm.jpg|center|400px|Tiny 1.1 autopilots on the "assembly line"]]
 
|-
 
|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  
 
*STM32 series microcontrollers  
 
*LPC21xx 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.
 
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 STM32F1 series, but there are future upgrade path capabilities to the F2 and F4 series, giving way to feature rich processors with a variety of peripherals and speeds. Architecture-dependent firmware code is supported in part by [http://www.libopencm3.org libopencm3]. The [[Lisa]], [[Krooz]] autopilots use the STM32.
+
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 [http://www.libopencm3.org 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/v1.0 | TWOG]], [[YAPA]], [[Umarim_Lite_v2 | Umarim]] and [[NavGo_v3 | NavGo]] autopilots all use the LPC2148.
 
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/v1.0 | TWOG]], [[YAPA]], [[Umarim_Lite_v2 | Umarim]] and [[NavGo_v3 | NavGo]] autopilots all use the LPC2148.
  
Some autopilots have also been designed for close integration with small single-board computers, particularly those based on [[OMAP]] processors such as the [http://www.gumstix.com/ Gumstix] [https://www.gumstix.com/store/index.php?cPath=33 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 [[OMAP|here]].
+
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 [http://www.gumstix.com/ Gumstix] [https://www.gumstix.com 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 [[OMAP|here]].  
  
A basic feature comparison table is presented to help in the autopilot hardware selection process. Stable tried tested LPC or more cutting edge STM32.
+
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|Modules List]] pages.
 
For information regarding architecture and firmware compatibility of various subsystems and modules, please see the appropriate [[Subsystems]] overview and [[Modules_list|Modules List]] pages.
 +
 +
 +
<h3> Other popular autopilot hardware support </h3>
 +
Using existing hardware is great to get started, as sometimes it just involves buying a stock drone and uploading paparazzi to it. Currently, Paparazzi supports many of the popular Parrot drones, such as the [[AR Drone 2]], [[Bebop]] and [[Rolling Spider]] airframes. These come with built in embedded Linux computers as their autopilot hardware, and Paparazzi runs as a Linux process interfacing at the lowest level possible with the hardware.
 +
 +
Secondly, Paparazzi supports the [[Pixhawk]] autopilot, of which an example can be found in the [[Iris]] airframe. The Pixhawk is a duo processor board, with an autopilot chip and a separated Fly By Wire chip for safety. Also the [[Pixracer]] board is flyable via Paparazzi.
 +
 +
<h2>Schematics, CAD files, Gerber files, BOM release strategy</h2>
 +
 +
<h3>About the hardware development and release process.</h3>
 +
 +
[https://github.com/paparazzi/paparazzi-hardware Files needed to create the hardware can be found here]. It is always good to remind oneself of the email Antoine once wrote in the mailing list before you want to start producing your own PCB's.
 +
 +
<P>8 June 2011 13:25:47 Antoine Drouin wrote on the mailing list:</P>
 +
 +
I've started this project together with Pascal 8 years ago and since then I have dedicated my time to try and make it successful. I'm utterly convinced of the benefits of open source, but observing how Paparazzi grew over time, I came to the conclusion that hardware is a bit different than software... "gcc tiny.brd" is not going to make a board magically appear on your desktop.
 +
 +
I'll list here some of my arguments in favor of releasing CAD files after the board is mature.
 +
 +
# Unlike software, where an unskilled user can type make and get a piece of complex software to successfully build, assembling hardware requires tools and skills. Providing gerbers and BOM have lured a bunch of new users into believing otherwise and has created tons of frustration. I've myself fixed a number of badly assembled boards and I even recall that while helping debugging a board (so after assembly), discovering that the person had manufactured two layers PCBs instead of four layers. As the technology of the autopilot increases, this problem becomes more and more important.
 +
# The success of the project depends on the availability of affordable hardware. The price of hardware is directly and exponentially dependent on the number of manufactured units. If ten persons manufacture 10 boards each, the cost will be much higher than if one person manufactures 100.
 +
# Last and not least, the quality of assembly also depends very much on the number of manufactured units. Good quality can only be achieved through the use of automated placing and soldering, and those processes can only be used if the number of units reach a certain amount.
 +
 +
'''For the autopilot comparison table see below.'''
 +
 +
}}
  
 
'''NOTE: This list contains only mature and fully supported autopilots designed specifically for the Paparazzi UAV project.'''
 
'''NOTE: This list contains only mature and fully supported autopilots designed specifically for the Paparazzi UAV project.'''
  
 +
{{P Autopilot Table/Begin}}
 +
 +
<!--
 +
{{P Autopilot Table/Divider | Developed by and for the Paparazzi Community}}
 +
-->
 +
{{P Autopilot Table/Entry
 +
| name=Apogee
 +
| version=V1.00
 +
| active=Y
 +
| buy=[[Apogee/v1.00#Where_to_Buy | Buy]]
 +
| mcu part=STM32F405RGT6
 +
| mcu clock=168MHz
 +
| mcu flash=1024kB
 +
| mcu ram=128 & 64kB
 +
| sensor imu=Y
 +
| sensor mag=Y
 +
| sensor baro=Y
 +
| sensor diff=N
 +
| sensor gps=N
 +
| io uart=3 & 1Rx
 +
| io i2c=2
 +
| io spi=1
 +
| io adc=0 + 3 (12bit)
 +
| io pwm=6 + 1
 +
| io ppm out=N
 +
| io ppm in=1 + 1<sup>5</sup>
 +
| io rc serial=1 (std & S.BUS)
 +
| io gpio=0 + 4
 +
| io led=4
 +
| io usb=DFU bootloader + USB storage
 +
| io can=Y
 +
| io modem=N
 +
| periph sd=SDIO + USB storage
 +
| periph rtc=yes + backup cap
 +
| periph other=mini-USB B
 +
| program debug=USB(DFU) + SWD
 +
| power input=5.5V - 17V
 +
| power output=1A@3.3V, 1.5A@5V
 +
| power switch=1 (5V)
 +
| mechanical size=53 x 25 x 9mm
 +
| mechanical weight=10g
 +
| mechanical connectors=Picoblade
 +
| mechanical pcb=4-layer
 +
| mechanical mounting=4 x M2
 +
| introduction date=Summer 2013
 +
| previous version=
 +
}}
 +
 +
{{P Autopilot Table/Entry
 +
| name=Elle0
 +
| version=V1.2
 +
| active=Y
 +
| buy=[http://1bitsquared.com/products/elle0-autopilot Pre-Order]
 +
| mcu part=STM32F415RCT6
 +
| mcu clock=168MHz
 +
| mcu flash=1024kB
 +
| mcu ram=192kB
 +
| sensor imu=Y
 +
| sensor mag=Y
 +
| sensor baro=Y
 +
| sensor diff=N
 +
| sensor gps=N
 +
| io uart=2 & 2RX/TX
 +
| io i2c=1
 +
| io spi=0
 +
| io adc=2
 +
| io pwm=8
 +
| io ppm out=N
 +
| io ppm in=1-8
 +
| io rc serial=2
 +
| io gpio=
 +
| io led=4
 +
| io usb=DFU bootloader
 +
| io can=110
 +
| io modem=N
 +
| periph sd=N
 +
| periph rtc=N
 +
| periph other=micro-USB B, JTAG
 +
| program debug=USB (DFU) + JTAG
 +
| power input=5V
 +
| power output=2x299mA@3.3V
 +
| power switch=1
 +
| mechanical size=36mm x 36mm
 +
| mechanical weight=
 +
| mechanical connectors=JST9 + 0.1&quot; pin header
 +
| mechanical pcb=4-layer
 +
| mechanical mounting=4 x M3
 +
| introduction date=Winter 2015
 +
| previous version=v1.1
 +
}}
 +
 +
{{P Autopilot Table/Entry
 +
| name=Lisa/S
 +
| version=V1.1
 +
| active=Y
 +
| buy=[http://1bitsquared.com/products/lisa-s Buy]
 +
| mcu part=STM32F103REY6
 +
| mcu clock=72MHz
 +
| mcu flash=512kB
 +
| mcu ram=64kB
 +
| sensor imu=Y
 +
| sensor mag=Y
 +
| sensor baro=Y
 +
| sensor diff=N
 +
| sensor gps=Y
 +
| io uart=1 & 1RX
 +
| io i2c=18
 +
| io spi=0
 +
| io adc=0
 +
| io pwm=6
 +
| io ppm out=N
 +
| io ppm in=1
 +
| io rc serial=1
 +
| io gpio=0
 +
| io led=4
 +
| io usb=N
 +
| io can=1
 +
| io modem=N
 +
| periph sd=N
 +
| periph rtc=N
 +
| periph other=4 x brushed motor drivers
 +
| program debug=SWD + UART
 +
| power input=2.3V - 5.5V
 +
| power output=1A@3.3V
 +
| power switch=1
 +
| mechanical size=20mm x 20mm x 5mm
 +
| mechanical weight=2g
 +
| mechanical connectors=0.05&quot; header
 +
| mechanical pcb=6-layer
 +
| mechanical mounting=4 x M2
 +
| introduction date=Summer 2013
 +
| previous version=v1.0
 +
}}
 +
 +
{{P Autopilot Table/Entry
 +
| name=Lisa/M
 +
| version=V2.1
 +
| active=Y
 +
| buy=[http://1bitsquared.com/products/lisa-m-autopilot Buy]
 +
| mcu part=STM32F105RCT6
 +
| mcu clock=72MHz
 +
| mcu flash=256kB
 +
| mcu ram=64kB
 +
| sensor imu=Y
 +
| sensor mag=Y
 +
| sensor baro=Y
 +
| sensor diff=N
 +
| sensor gps=N
 +
| io uart=2 & 2RX
 +
| io i2c=1 + 15
 +
| io spi=1
 +
| io adc=3 + 2 (12bit)<sup>5</sup>
 +
| io pwm=6 + 2<sup>5</sup>
 +
| io ppm out=N
 +
| io ppm in=0 + 1<sup>5</sup>
 +
| io rc serial=2
 +
| io gpio=1
 +
| io led=5
 +
| io usb=DFU bootloader
 +
| io can=1
 +
| io modem=N
 +
| periph sd=N
 +
| periph rtc=N
 +
| periph other=JTAG
 +
| program debug=USB (luftboot)+ JTAG + UART
 +
| power input=5V - 16V
 +
| power output=500mA@3.3V, 250mA@5V
 +
| power switch=N
 +
| mechanical size=34mm x 60mm x 10mm
 +
| mechanical weight=9.9g - 10.8g
 +
| mechanical connectors=Picoblade & 0.1&quot; Servo
 +
| mechanical pcb=4-layer
 +
| mechanical mounting=4 x M3
 +
| introduction date=Winter 2012
 +
| previous version=v2.0
 +
}}
 +
 +
{{P Autopilot Table/Entry
 +
| name=Lisa/L
 +
| version=v1.1
 +
| active=N
 +
| buy=
 +
| mcu part=STM32F103RE
 +
| mcu clock=72MHz
 +
| mcu flash=512kB
 +
| mcu ram=64kB
 +
| sensor imu=N
 +
| sensor mag=N
 +
| sensor baro=Y
 +
| sensor diff=Y
 +
| sensor gps=N
 +
| io uart=3 & 1RX
 +
| io i2c=2
 +
| io spi=2
 +
| io adc=3 (12bit)
 +
| io pwm=6
 +
| io ppm out=N
 +
| io ppm in=1
 +
| io rc serial=
 +
| io gpio=
 +
| io led=8
 +
| io usb=JTAG + UART
 +
| io can=1
 +
| io modem=N
 +
| periph sd=N
 +
| periph rtc=N
 +
| periph other=Overo Gumstix
 +
| program debug=JTAG + UART
 +
| power input=6.1V - 18V
 +
| power output=2.25@5V, 2.25A@3.3V, Other
 +
| power switch=2
 +
| mechanical size=~100mm x ~50mm
 +
| mechanical weight=
 +
| mechanical connectors=Picoblade
 +
| mechanical pcb=4-layer
 +
| mechanical mounting=4 x M3
 +
| introduction date=Summer 2010
 +
| previous version=v1.0
 +
}}
 +
 +
{{P Autopilot Table/Entry
 +
| name=KroozSD
 +
| version=
 +
| active=Y
 +
| buy=[https://wiki.paparazziuav.org/wiki/KroozSD#Where_to_buy Buy]
 +
| mcu part=STM32F405RGT6
 +
| mcu clock=168MHz
 +
| mcu flash=1024kB
 +
| mcu ram=128 & 64kB
 +
| sensor imu=krooz/ext
 +
| sensor mag=Y
 +
| sensor baro=Y
 +
| sensor diff=N
 +
| sensor gps=N
 +
| io uart=3
 +
| io i2c=2
 +
| io spi=1
 +
| io adc=4 + 1 (12bit)<sup>5</sup>
 +
| io pwm=10 + 1<sup>5</sup>
 +
| io ppm out=N
 +
| io ppm in=1
 +
| io rc serial=
 +
| io gpio=2 + 1<sup>5</sup>
 +
| io led=3
 +
| io usb=bootloader
 +
| io can=Y
 +
| io modem=Xbee
 +
| periph sd=SPI
 +
| periph rtc=N
 +
| periph other=micro-USB B
 +
| program debug=
 +
| power input=7V - 32V
 +
| power output=1.5A@3.3V, 5A@5V
 +
| power switch=N
 +
| mechanical size=50mm x 60mm x 10mm
 +
| mechanical weight=20g - 40g
 +
| mechanical connectors=Picoblade & 0.1&quot; Servo
 +
| mechanical pcb=2-layer
 +
| mechanical mounting=4 x M3
 +
| introduction date=Spring 2013
 +
| previous version=Krooz
 +
}}
  
{| border="1" cellspacing="0" style="text-align:center" cellpadding="2%" width="100%"
+
{{P Autopilot Table/Entry
|+'''Autopilot<sup>1</sup> Feature Matrix'''
+
| name=Umarim Lite v2 {{!}} Umarim Lite
| align="center" width="16%" style="background:#f0f0f0;"|'''Feature'''
+
| version=V2
| align="center" width="7%" style="background:#f0f0f0;"|'''[[Lisa/L|Lisa/L v1.1]]'''
+
| active=Y
| align="center" width="7%" style="background:#f0f0f0;"|'''[[Lisa/M_v20|Lisa/M]]'''
+
| buy=[https://www.ppzuav.com/shop/index.php/product/umarim-lite-v2/ Buy]
| align="center" width="7%" style="background:#f0f0f0;"|'''[[Lisa/S]]'''
+
| mcu part=LPC2148
| align="center" width="7%" style="background:#f0f0f0;"|'''[[Elle0]]'''
+
| mcu clock=60MHz
| align="center" width="7%" style="background:#f0f0f0;"|'''[[KroozSD|KroozSD]]'''
+
| mcu flash=512kB
| align="center" width="7%" style="background:#f0f0f0;"|'''[[Apogee/v1.00|Apogee v1.00]]'''
+
| mcu ram=32kB & 8kB
| align="center" width="7%" style="background:#f0f0f0;"|'''[[Umarim_v10|Umarim v1.0]]'''
+
| sensor imu=Y
| align="center" width="7%" style="background:#f0f0f0;"|'''[[Umarim_Lite_v2|Umarim Lite v2]]'''
+
| sensor mag=N
| align="center" width="7%" style="background:#f0f0f0;"|'''[[NavGo_v3|NavGo v3]]'''
+
| sensor baro=N
| align="center" width="7%" style="background:#f0f0f0;"|'''[[Tiny/v2.11|Tiny v2.11]]'''
+
| sensor diff=N
| align="center" width="7%" style="background:#f0f0f0;"|'''[[TWOG/v1.0|TWOG v1.0]]'''
+
| sensor gps=N
| align="center" width="7%" style="background:#f0f0f0;"|'''[[YAPA/v2.0|YAPA v2.0]]'''
+
| io uart=2
| align="center" width="7%" style="background:#f0f0f0;"|'''[[HBmini/v2.0]]'''
+
| io i2c=1
|-
+
| io spi=1
|style="background:#f0f0f0;"| || align="center" colspan="13"|'''Availability'''
+
| io adc=86
|-
+
| io pwm=6
| style="background:#f0f0f0;"|'''Active'''||No||Yes||Yes||Yes||Yes||Yes||No||Yes||No||No||No||No||No
+
| io ppm out=N
|-
+
| io ppm in=1 + 1<sup>5</sup>
| style="background:#f0f0f0;"|'''Buy Now'''||-||[http://1bitsquared.com/products/lisa-m-autopilot Buy]||[http://1bitsquared.com/products/lisa-s Buy]||[http://1bitsquared.com/products/elle0-autopilot Pre-Order]||[[KroozSD#Where_to_buy|Buy]]||[https://www.ppzuav.com/osc/product_info.php?products_id=154 Buy]||-||[https://www.ppzuav.com/osc/product_info.php?products_id=142 Buy]|| - [https://www.ppzuav.com/osc/product_info.php?products_id=82 Buy]|| - || - || - ||
+
| io rc serial=
|-
+
| io gpio=0 + 4<sup>6</sup>
|style="background:#f0f0f0;"| || align="center" colspan="13"|'''MCU'''
+
| io led=2
|-
+
| io usb=bootloader
| style="background:#f0f0f0;"|'''Part'''||<small>STM32F103RE</small>||<small>STM32F105RCT6</small>||<small>STM32F103REY6</small>||<small>STM32F415RCT6</small>||<small>STM32F405RGT6</small>||<small>STM32F405RGT6</small>||LPC2148||LPC2148||LPC2148||LPC2148||LPC2148||LPC2148||LPC2148
+
| io can=Y
|-
+
| io modem=N
| style="background:#f0f0f0;"|'''Clock'''||72MHz||72MHz||72MHz||168MHz||168MHz||168MHz||60MHz||60MHz||60MHz||60MHz||60MHz||60MHz||60MHz
+
| periph sd=N
|-
+
| periph rtc=N
| style="background:#f0f0f0;"|'''Flash'''||512kB||256kB||512kB||1024kB||1024kB||1024kB||512kB||512kB||512kB||512kB||512kB||512kB||512kB
+
| periph other=mini-USB B
|-
+
| program debug=USB (pprz bootloader)
| style="background:#f0f0f0;"|'''RAM<sup>2</sup>'''||64kB||64kB||64kB||192kB|||128 & 64kB||128 & 64kB||32kB & 8kB||32kB & 8kB||32kB & 8kB||32kB & 8kB||32kB & 8kB||32kB & 8kB||32kB & 8kB
+
| power input=5.5V - 17V
|-
+
| power output=1A@3.3V, 1.5A@5V
|style="background:#f0f0f0;"| || align="center" colspan="13"|'''Onboard Sensors<sup>3</sup>'''
+
| power switch=N
|-
+
| mechanical size=53mm x 25mm
| style="background:#f0f0f0;"|'''MEMS IMU'''||no||aspirin||yes||yes||krooz/ext||yes||yes||yes||yes||no||no||no||yes
+
| mechanical weight=8g
|-
+
| mechanical connectors=Picoblade
| style="background:#f0f0f0;"|'''Magnetometer'''||no||aspirin||yes||yes||yes||yes||no||no||yes||no||no||no||yes
+
| mechanical pcb=4-layer
|-
+
| mechanical mounting=4 x M2
| style="background:#f0f0f0;"|'''Barometer'''||yes||yes||yes||yes||yes||yes||yes||no||yes||no||no||no||yes
+
| introduction date=Summer 2012
|-
+
| previous version=
| style="background:#f0f0f0;"|'''Diff Pressure'''||yes||no||no||no||no||no||no||no||no||no||no||no||no
+
}}
|-
+
 
| style="background:#f0f0f0;"|'''GPS'''||no||no||yes||no||no||no||no||no||no||yes||no||no||no
+
{{P Autopilot Table/Entry
|-
+
| name=Umarim
|style="background:#f0f0f0;"| || align="center" colspan="13"|'''Input/Output<sup>4</sup> & Communication Interfaces'''
+
| version=V1.0
|-
+
| active=N
| style="background:#f0f0f0;"|'''UART'''||3 & 1RX||2 & 2RX||1 & 1RX||2 & 2RX/TX<sup></sup>||3||3 & 1Rx||2||2||2||1||2||2||2
+
| buy=
|-
+
| mcu part=LPC2148
| style="background:#f0f0f0;"|'''I2C'''||2||1 + 1<sup>5</sup>||1<sup>8</sup>||1||2||2||2||1||2||1||1||1||2
+
| mcu clock=60MHz
|-
+
| mcu flash=512kB
| style="background:#f0f0f0;"|'''SPI'''||2||1||0||0||1||1||1||1||1||1||1||1||1
+
| mcu ram=32kB & 8kB
|-
+
| sensor imu=Y
| style="background:#f0f0f0;"|'''ADC'''||3 (12bit)||3 + 2 (12bit)<sup>5</sup>||0||2||4 + 1 (12bit)<sup>5</sup>||0 + 3 (12bit)||0 + 4 (10bit)||8<sup>6</sup>||0 + 4 (10bit)<sup>6</sup>||0 + 1 (10bit)<sup>6</sup>||8 (10bit)||6 (10bit)||8 (10bit)(16bit)
+
| sensor mag=N
|-
+
| sensor baro=Y
| style="background:#f0f0f0;"|'''PWM'''||6||6 + 2<sup>5</sup>||6||8||10 + 1<sup>5</sup>||6 + 1||6||6||0 + 1<sup>5</sup>||8||8||10||10
+
| sensor diff=N
|-
+
| sensor gps=N
| style="background:#f0f0f0;"|'''PPM Output'''||no||no||no||no||no||no||no||no||no||1||1||no||
+
| io uart=2
|-
+
| io i2c=2
| style="background:#f0f0f0;"|'''PPM Capture'''||1||0 + 1<sup>5</sup>||1||1-8||1||1 + 1<sup>5</sup>||1 + 1<sup>5</sup>||1 + 1<sup>5</sup>||1||1||1||1
+
| io spi=1
|-
+
| io adc=0 + 4 (10bit)
| style="background:#f0f0f0;"|'''R/C serial'''|| ||2||1||2|| ||1 (standard & S.BUS)|| || || || || || ||
+
| io pwm=6
|-
+
| io ppm out=N
| style="background:#f0f0f0;"|'''GPIO<sup>7</sup>'''||?||1||0||?||2 + 1<sup>5</sup>||0 + 4||0 + 4<sup>6</sup>||0 + 4<sup>6</sup>||0 + 2<sup>6</sup>||2||2||1||11
+
| io ppm in=1 + 1<sup>5</sup>
|-
+
| io rc serial=
| style="background:#f0f0f0;"|'''Onboard LEDs'''||8||5||4||4||3||4||2||2||4||3||3||3||2
+
| io gpio=0 + 4<sup>6</sup>
|-
+
| io led=2
| style="background:#f0f0f0;"|'''USB Peripheral'''||Onboard USB JTAG + UART||bootloader||no||DFU bootloader||bootloader||DFU bootloader + USB storage||bootloader||bootloader||bootloader||bootloader||bootloader||bootloader||bootlader
+
| io usb=bootloader
|-
+
| io can=Y
| style="background:#f0f0f0;"|'''CAN'''||1||1||1||1<sup>10</sup>||no||no||no||no||no||no||no||no||
+
| io modem=N
|-
+
| periph sd=N
| style="background:#f0f0f0;"|'''MODEM connector'''||no||no||no||no||Xbee||no||no||no||no||no||no||Xbee||
+
| periph rtc=N
|-
+
| periph other=
|style="background:#f0f0f0;"| || align="center" colspan="13"|'''Onboard Peripherals'''
+
| program debug=USB (pprz bootloader)
|-
+
| power input=5.5V - 17V
| style="background:#f0f0f0;"|'''SD card/interface'''||no||no||no||no||yes/SPI||yes/SDIO + USB storage||no||no||no||no||no|| ||
+
| power output=1A@3.3V, 1.5A@5V
|-
+
| power switch=N
| style="background:#f0f0f0;"|'''RTC'''||no||no||no||no||no||yes + backup cap.||no||no||no||no||no|| ||
+
| mechanical size=56mm x 25mm
|-
+
| mechanical weight=9g
| style="background:#f0f0f0;"|'''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
+
| mechanical connectors=Picoblade
|-
+
| mechanical pcb=4-layer
|style="background:#f0f0f0;"| || align="center" colspan="13"|'''Program & Debug Interface'''
+
| mechanical mounting=4 x M2
|-
+
| introduction date=Fall 2011
| style="background:#f0f0f0;"|''' '''||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
+
| previous version=
|-
+
}}
|style="background:#f0f0f0;"| || align="center" colspan="13"|'''Power Management'''
+
 
|-
+
{{P Autopilot Table/Entry
| style="background:#f0f0f0;"|'''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
+
| name=NavGo
|-
+
| version=V3
| style="background:#f0f0f0;"|'''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
+
| active=Y
|-
+
| buy=[https://www.ppzuav.com/shop/index.php/product/navgo-v3-00/ Buy]
| style="background:#f0f0f0;"|'''Software Switch'''||2||no||1||1||no||1 (5V)||no||no||no||1||1||1||4
+
| mcu part=LPC2148
|-
+
| mcu clock=60MHz
|style="background:#f0f0f0;"| || align="center" colspan="13"|'''Mechanical'''
+
| mcu flash=512kB
|-
+
| mcu ram=32kB & 8kB
| style="background:#f0f0f0;"|'''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
+
| sensor imu=Y
|-
+
| sensor mag=Y
| style="background:#f0f0f0;"|'''Weight'''||?||9.9g - 10.8g||2g||?||20g - 40g||10g||9g||8g||?||24g||8g||23g w/ XBee?||30
+
| sensor baro=Y
|-
+
| sensor diff=N
| style="background:#f0f0f0;"|'''Connector Style'''||Picoblade||Picoblade & 0.1" Servo||0.05" header||0.1" pin header + JST<sup>9</sup>||Picoblade & 0.1" Servo||Picoblade||Picoblade||Picoblade||Picoblade||Picoblade||Picoblade||0.1" Headers||Picoblade & 0.1" Servo
+
| sensor gps=N
|-
+
| io uart=2
| style="background:#f0f0f0;"|'''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
+
| io i2c=2
|-
+
| io spi=1
| style="background:#f0f0f0;"|'''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
+
| io adc=0 + 4 (10bit)<sup>6</sup>
|-
+
| io pwm=0 + 1<sup>5</sup>
|style="background:#f0f0f0;"| || align="center" colspan="13"|'''Comments'''
+
| io ppm out=N
|-
+
| io ppm in=1
| style="background:#f0f0f0;"|'''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
+
| io rc serial=
|-
+
| io gpio=0 + 2<sup>6</sup>
| style="background:#f0f0f0;"|'''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
+
| io led=4
|-
+
| io usb=bootloader
| style="background:#f0f0f0;"|'''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
+
| io can=Y
|-
+
| io modem=N
| style="background:#f0f0f0;"|'''Previous Versions'''||[[Lisa/L]] v1.0||[[Lisa/M_v10|Lisa/M v1.0]]|| || ||[[Krooz|Krooz]]|| || || || ||[[Tiny/v1.1|Tiny v1.1]],  [[Tiny/v0.99|Tiny v0.99]]|| ||[[YAPA/v1.0|YAPA v1.0]]||
+
| periph sd=N
|}
+
| periph rtc=N
 +
| periph other=
 +
| program debug=USB (pprz bootloader)
 +
| power input=5.5V - 16V
 +
| power output=1A@3.3V, 1.5A@5V
 +
| power switch=N
 +
| mechanical size=35mm x 35mm
 +
| mechanical weight=
 +
| mechanical connectors=Picoblade
 +
| mechanical pcb=4-layer
 +
| mechanical mounting=4 x M2
 +
| introduction date=Summer 2012
 +
| previous version=
 +
}}
 +
 
 +
{{P Autopilot Table/Entry
 +
| name=Tiny
 +
| version=v2.11
 +
| active=Y
 +
| buy=[https://www.ppzuav.com/shop/index.php/product/tiny-v2-11/ Buy]
 +
| mcu part=LPC2148
 +
| mcu clock=60MHz
 +
| mcu flash=512kB
 +
| mcu ram=32kB & 8kB
 +
| sensor imu=N
 +
| sensor mag=N
 +
| sensor baro=N
 +
| sensor diff=N
 +
| sensor gps=Y
 +
| io uart=1
 +
| io i2c=1
 +
| io spi=1
 +
| io adc=0 + 1 (10bit)<sup>6</sup>
 +
| io pwm=8
 +
| io ppm out=1
 +
| io ppm in=1
 +
| io rc serial=
 +
| io gpio=2
 +
| io led=3
 +
| io usb=bootloader
 +
| io can=Y
 +
| io modem=N
 +
| periph sd=N
 +
| periph rtc=N
 +
| periph other=
 +
| program debug=USB (pprz bootloader)
 +
| power input=6.1V - 18V
 +
| power output=1A@3.3V, 2.25A@5V
 +
| power switch=1
 +
| mechanical size=70.8mm x 40mm
 +
| mechanical weight=24g
 +
| mechanical connectors=Picoblade
 +
| mechanical pcb=2-layer
 +
| mechanical mounting=no
 +
| introduction date=Fall 2007
 +
| previous version=v1.1
 +
}}
 +
 
 +
{{P Autopilot Table/Entry
 +
| name=TWOG
 +
| version=v1.0
 +
| active=N
 +
| buy=
 +
| mcu part=LPC2148
 +
| mcu clock=60MHz
 +
| mcu flash=512kB
 +
| mcu ram=32kB & 8kB
 +
| sensor imu=N
 +
| sensor mag=N
 +
| sensor baro=N
 +
| sensor diff=N
 +
| sensor gps=N
 +
| io uart=2
 +
| io i2c=1
 +
| io spi=1
 +
| io adc=8 (10bit)
 +
| io pwm=8
 +
| io ppm out=1
 +
| io ppm in=1
 +
| io rc serial=
 +
| io gpio=2
 +
| io led=3
 +
| io usb=bootloader
 +
| io can=Y
 +
| io modem=N
 +
| periph sd=N
 +
| periph rtc=N
 +
| periph other=
 +
| program debug=USB (pprz bootloader)
 +
| power input=6.1V - 18V
 +
| power output=1A@3.3V, 2.25A@5V
 +
| power switch=1
 +
| mechanical size=40.2mm x 30.5mm
 +
| mechanical weight=8g
 +
| mechanical connectors=Picoblade
 +
| mechanical pcb=2-layer
 +
| mechanical mounting=no
 +
| introduction date=Spring 2008
 +
| previous version=
 +
}}
 +
 
 +
{{P Autopilot Table/Entry
 +
| name=YAPA
 +
| version=v2.0
 +
| active=N
 +
| buy=
 +
| mcu part=LPC2148
 +
| mcu clock=60MHz
 +
| mcu flash=512kB
 +
| mcu ram=32kB & 8kB
 +
| sensor imu=N
 +
| sensor mag=N
 +
| sensor baro=N
 +
| sensor diff=N
 +
| sensor gps=N
 +
| io uart=2
 +
| io i2c=1
 +
| io spi=1
 +
| io adc=6 (10bit)
 +
| io pwm=10
 +
| io ppm out=N
 +
| io ppm in=1
 +
| io rc serial=
 +
| io gpio=1
 +
| io led=3
 +
| io usb=bootloader
 +
| io can=Y
 +
| io modem=Xbee
 +
| periph sd=N
 +
| periph rtc=N
 +
| periph other=RS232
 +
| program debug=USB (pprz bootloader)
 +
| power input=6.1V - 18V
 +
| power output=2x 1A@3.3V, 2.25A@5V
 +
| power switch=1
 +
| mechanical size=80.0mm x 40.0mm?
 +
| mechanical weight=23g w/ XBee?
 +
| mechanical connectors=0.1&quot; Headers
 +
| mechanical pcb=2-layer
 +
| mechanical mounting=4x M3
 +
| introduction date=Spring 2011
 +
| previous version=v1.0
 +
}}
 +
 
 +
{{P Autopilot Table/Entry
 +
| name=HBmini
 +
| version=v2.0
 +
| active=N
 +
| buy=
 +
| mcu part=LPC2148
 +
| mcu clock=60MHz
 +
| mcu flash=512kB
 +
| mcu ram=32kB & 8kB
 +
| sensor imu=Y
 +
| sensor mag=Y
 +
| sensor baro=Y
 +
| sensor diff=N
 +
| sensor gps=N
 +
| io uart=2
 +
| io i2c=2
 +
| io spi=1
 +
| io adc=8 (10bit)(16bit)
 +
| io pwm=10
 +
| io ppm out=
 +
| io ppm in=
 +
| io rc serial=
 +
| io gpio=11
 +
| io led=2
 +
| io usb=bootlader
 +
| io can=N
 +
| io modem=N
 +
| periph sd=N
 +
| periph rtc=N
 +
| periph other=Buzzer
 +
| program debug=JTAG
 +
| power input=6.1-18V
 +
| power output=1A@3.3V, 2.25A@5V
 +
| power switch=4
 +
| mechanical size=57x30mm
 +
| mechanical weight=30
 +
| mechanical connectors=Picoblade & 0.1&quot; Servo
 +
| mechanical pcb=4-layer
 +
| mechanical mounting=4 x M2
 +
| introduction date=Winter 2012
 +
| previous version=
 +
}}
 +
 
 +
{{P Autopilot Table/End}}
  
 
'''Notes:'''
 
'''Notes:'''
 +
 +
This table was created using a  [https://docs.google.com/spreadsheets/d/1TktQCAiIyBRtwVCMfdT2Y5R6Eyvzh24047Bab7tLsCM/edit?usp=sharing google document spreadsheet]. If you want to add or improve anything in the table, please contact [[User:Esden|Esden]] to get write access to the spreadsheet. This makes editing and maintaining of the table much easier!
  
 
'''1.''' Only the newest revisions of the more commonly used autopilots are listed
 
'''1.''' Only the newest revisions of the more commonly used autopilots are listed
Line 179: Line 647:
  
 
'''10.''' Only the CAN RX&TX lines are exposed, no transceiver included on board.
 
'''10.''' Only the CAN RX&TX lines are exposed, no transceiver included on board.
 
|-
 
|<h2>Schematics, CAD files, Gerber files, BOM release strategy</h2>
 
|-
 
|<h3>About the hardware development and release process.</h3>
 
 
[https://github.com/paparazzi/paparazzi-hardware Files needed to create the hardware can be found here]. It is always good to remind oneself of the email Antoine once wrote in the mailing list before you want to start producing your own PCB's.
 
 
<P>8 June 2011 13:25:47 Antoine Drouin wrote on the mailing list:</P>
 
 
I've started this project together with Pascal 8 years ago and since then I have dedicated my time to try and make it successful. I'm utterly convinced of the benefits of open source, but observing how Paparazzi grew over time, I came to the conclusion that hardware is a bit different than software... "gcc tiny.brd" is not going to make a board magically appear on your desktop.
 
 
I'll list here some of my arguments in favor of releasing CAD files after the board is mature.
 
 
# Unlike software, where an unskilled user can type make and get a piece of complex software to successfully build, assembling hardware requires tools and skills. Providing gerbers and BOM have lured a bunch of new users into believing otherwise and has created tons of frustration. I've myself fixed a number of badly assembled boards and I even recall that while helping debugging a board (so after assembly), discovering that the person had manufactured two layers PCBs instead of four layers. As the technology of the autopilot increases, this problem becomes more and more important.
 
# The success of the project depends on the availability of affordable hardware. The price of hardware is directly and exponentially dependent on the number of manufactured units. If ten persons manufacture 10 boards each, the cost will be much higher than if one person manufactures 100.
 
# Last and not least, the quality of assembly also depends very much on the number of manufactured units. Good quality can only be achieved through the use of automated placing and soldering, and those processes can only be used if the number of units reach a certain amount.
 
 
|}
 
|}
 
  
 
[[Category:Hardware]] [[Category:User_Documentation]]
 
[[Category:Hardware]] [[Category:User_Documentation]]

Latest revision as of 03:18, 7 February 2017



Autopilot.png Autopilots

STM32F7 based boards

  • Chimera
    STM32F7 (ARM Cortex™-M7) based autopilot for fixed wing:
    • Chimera v1.00
      Versatile Autopilot, 9 DOF IMU, microSD, Baro, Pitot, Modem, ready for Companion Computer...

STM32F1 based boards

STM32F4 based boards

  • Apogee
    STM32F4 (ARM Cortex™-M4) based autopilot for fixed wing:
    • Apogee v1.00
      Super small and lightweight autopilot, 9 DOF IMU, microSD high speed, Baro, ,...
  • Elle
    STM32F4 autopilot system:
  • Lisa
    STM32F4 based autopilots:
    • Lisa/MX
      STM32F4 versatile autopilot with crypto support
    • Lisa/MX-Small
      STM32F4 versatile autopilot with crypto support
  • Krooz
    STM32F4 Cortex™-M4 high integrated Rotorcraft autopilot
    • Krooz
      STM32F4 Cortex™-M4 high integrated Rotorcraft autopilot
    • KroozSD
      STM32F4 Cortex™-M4 high integrated autopilot, w. microSD slot, XBee conn.
  • Pixhawk
    Duo processor with Autopilot core on a STM32F4 Cortex™-M4 and Fly By Wire core on a STM32F1 Cortex™-M1

LPC2148 based boards

  • Booz
    Quadrotor autopilot
  • NavGo
    Multirotor autopilot
    • NavGo v3
      Small and lightweight multirotor autopilot
  • Umarim
    LPC based embedded IMU autopilot designed for small fixed wing:
  • Tiny
    GPS integrated lightweight autopilots:
    • Tiny v0.99
      Tiny autopilot
    • Tiny v1.1
      Integrated GPS and 5V/2A supply
    • Tiny v2.11
      Two layers PCB, 0603 components, big GPS groundplane, improved connectivity.
  • TWOG v1.0
    8 grams Tiny WithOut GPS autopilot, with external GPS option.
  • YAPA
    Yet Another Paparazzi Autopilot:
    • YAPA v1.0
      Same as TWOG, but bigger with XBee, 100mil headers, mounting holes, rs232
    • YAPA v2.0 Reduced component cost
  • HB
    Autopilots built in Bremen:
    • HB v1.0
      Four layers PCB, no GPS, JTAG with IMU
    • HB mini
      Four layers planar PCB, JTAG, 10 sevos, 12g, no GPS, with IMU

Aircraft With Embedded Autopilots

Archive

Autopilot.png Paparazzi Autopilots


One of the great advantages of Paparazzi is support for many hardware designs. There is autopilot hardware that is specifically designed to work with Paparazzi from the start, but Paparazzi has also been ported to other popular autopilots.

Tiny 1.1 autopilots on the "assembly line"

Paparazzi designed hardware

Most 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.

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.


Other popular autopilot hardware support

Using existing hardware is great to get started, as sometimes it just involves buying a stock drone and uploading paparazzi to it. Currently, Paparazzi supports many of the popular Parrot drones, such as the AR Drone 2, Bebop and Rolling Spider airframes. These come with built in embedded Linux computers as their autopilot hardware, and Paparazzi runs as a Linux process interfacing at the lowest level possible with the hardware.

Secondly, Paparazzi supports the Pixhawk autopilot, of which an example can be found in the Iris airframe. The Pixhawk is a duo processor board, with an autopilot chip and a separated Fly By Wire chip for safety. Also the Pixracer board is flyable via Paparazzi.

Schematics, CAD files, Gerber files, BOM release strategy

About the hardware development and release process.

Files needed to create the hardware can be found here. It is always good to remind oneself of the email Antoine once wrote in the mailing list before you want to start producing your own PCB's.

8 June 2011 13:25:47 Antoine Drouin wrote on the mailing list:

I've started this project together with Pascal 8 years ago and since then I have dedicated my time to try and make it successful. I'm utterly convinced of the benefits of open source, but observing how Paparazzi grew over time, I came to the conclusion that hardware is a bit different than software... "gcc tiny.brd" is not going to make a board magically appear on your desktop.

I'll list here some of my arguments in favor of releasing CAD files after the board is mature.

  1. Unlike software, where an unskilled user can type make and get a piece of complex software to successfully build, assembling hardware requires tools and skills. Providing gerbers and BOM have lured a bunch of new users into believing otherwise and has created tons of frustration. I've myself fixed a number of badly assembled boards and I even recall that while helping debugging a board (so after assembly), discovering that the person had manufactured two layers PCBs instead of four layers. As the technology of the autopilot increases, this problem becomes more and more important.
  2. The success of the project depends on the availability of affordable hardware. The price of hardware is directly and exponentially dependent on the number of manufactured units. If ten persons manufacture 10 boards each, the cost will be much higher than if one person manufactures 100.
  3. Last and not least, the quality of assembly also depends very much on the number of manufactured units. Good quality can only be achieved through the use of automated placing and soldering, and those processes can only be used if the number of units reach a certain amount.

For the autopilot comparison table see below.



NOTE: This list contains only mature and fully supported autopilots designed specifically for the Paparazzi UAV project.

Avail MCU Sensors IO/Comm Periph Program/Debug Power Mechanical Release/Version
Name Version Active Buy Part Clock Flash RAM IMU Mag Baro Diff GPS UART I2C SPI ADC PWM PPM out PPM in R/C serial GPIO LED USB CAN MODEM SD RTC Other Input Output Switch Size Weight Connectors PCB Type Mounting Date Introduced Previous Version
Apogee V1.00 Y Buy STM32F405RGT6 168MHz 1024kB 128 & 64kB Y Y Y N N 3 & 1Rx 2 1 0 + 3 (12bit) 6 + 1 N 1 + 15 1 (std & S.BUS) 0 + 4 4 DFU bootloader + USB storage Y N SDIO + USB storage yes + backup cap mini-USB B USB(DFU) + SWD 5.5V - 17V 1A@3.3V, 1.5A@5V 1 (5V) 53 x 25 x 9mm 10g Picoblade 4-layer 4 x M2 Summer 2013
Elle0 V1.2 Y Pre-Order STM32F415RCT6 168MHz 1024kB 192kB Y Y Y N N 2 & 2RX/TX 1 0 2 8 N 1-8 2 4 DFU bootloader 110 N N N micro-USB B, JTAG USB (DFU) + JTAG 5V 2x299mA@3.3V 1 36mm x 36mm JST9 + 0.1" pin header 4-layer 4 x M3 Winter 2015 v1.1
Lisa/S V1.1 Y Buy STM32F103REY6 72MHz 512kB 64kB Y Y Y N Y 1 & 1RX 18 0 0 6 N 1 1 0 4 N 1 N N N 4 x brushed motor drivers SWD + UART 2.3V - 5.5V 1A@3.3V 1 20mm x 20mm x 5mm 2g 0.05" header 6-layer 4 x M2 Summer 2013 v1.0
Lisa/M V2.1 Y Buy STM32F105RCT6 72MHz 256kB 64kB Y Y Y N N 2 & 2RX 1 + 15 1 3 + 2 (12bit)5 6 + 25 N 0 + 15 2 1 5 DFU bootloader 1 N N N JTAG USB (luftboot)+ JTAG + UART 5V - 16V 500mA@3.3V, 250mA@5V N 34mm x 60mm x 10mm 9.9g - 10.8g Picoblade & 0.1" Servo 4-layer 4 x M3 Winter 2012 v2.0
Lisa/L v1.1 N STM32F103RE 72MHz 512kB 64kB N N Y Y N 3 & 1RX 2 2 3 (12bit) 6 N 1 8 JTAG + UART 1 N N N Overo Gumstix JTAG + UART 6.1V - 18V 2.25@5V, 2.25A@3.3V, Other 2 ~100mm x ~50mm Picoblade 4-layer 4 x M3 Summer 2010 v1.0
KroozSD Y Buy STM32F405RGT6 168MHz 1024kB 128 & 64kB krooz/ext Y Y N N 3 2 1 4 + 1 (12bit)5 10 + 15 N 1 2 + 15 3 bootloader Y Xbee SPI N micro-USB B 7V - 32V 1.5A@3.3V, 5A@5V N 50mm x 60mm x 10mm 20g - 40g Picoblade & 0.1" Servo 2-layer 4 x M3 Spring 2013 Krooz
Umarim Lite V2 Y Buy LPC2148 60MHz 512kB 32kB & 8kB Y N N N N 2 1 1 86 6 N 1 + 15 0 + 46 2 bootloader Y N N N mini-USB B USB (pprz bootloader) 5.5V - 17V 1A@3.3V, 1.5A@5V N 53mm x 25mm 8g Picoblade 4-layer 4 x M2 Summer 2012
Umarim V1.0 N LPC2148 60MHz 512kB 32kB & 8kB Y N Y N N 2 2 1 0 + 4 (10bit) 6 N 1 + 15 0 + 46 2 bootloader Y N N N USB (pprz bootloader) 5.5V - 17V 1A@3.3V, 1.5A@5V N 56mm x 25mm 9g Picoblade 4-layer 4 x M2 Fall 2011
NavGo V3 Y Buy LPC2148 60MHz 512kB 32kB & 8kB Y Y Y N N 2 2 1 0 + 4 (10bit)6 0 + 15 N 1 0 + 26 4 bootloader Y N N N USB (pprz bootloader) 5.5V - 16V 1A@3.3V, 1.5A@5V N 35mm x 35mm Picoblade 4-layer 4 x M2 Summer 2012
Tiny v2.11 Y Buy LPC2148 60MHz 512kB 32kB & 8kB N N N N Y 1 1 1 0 + 1 (10bit)6 8 1 1 2 3 bootloader Y N N N USB (pprz bootloader) 6.1V - 18V 1A@3.3V, 2.25A@5V 1 70.8mm x 40mm 24g Picoblade 2-layer no Fall 2007 v1.1
TWOG v1.0 N LPC2148 60MHz 512kB 32kB & 8kB N N N N N 2 1 1 8 (10bit) 8 1 1 2 3 bootloader Y N N N USB (pprz bootloader) 6.1V - 18V 1A@3.3V, 2.25A@5V 1 40.2mm x 30.5mm 8g Picoblade 2-layer no Spring 2008
YAPA v2.0 N LPC2148 60MHz 512kB 32kB & 8kB N N N N N 2 1 1 6 (10bit) 10 N 1 1 3 bootloader Y Xbee N N RS232 USB (pprz bootloader) 6.1V - 18V 2x 1A@3.3V, 2.25A@5V 1 80.0mm x 40.0mm? 23g w/ XBee? 0.1" Headers 2-layer 4x M3 Spring 2011 v1.0
HBmini v2.0 N LPC2148 60MHz 512kB 32kB & 8kB Y Y Y N N 2 2 1 8 (10bit)(16bit) 10 11 2 bootlader N N N N Buzzer JTAG 6.1-18V 1A@3.3V, 2.25A@5V 4 57x30mm 30 Picoblade & 0.1" Servo 4-layer 4 x M2 Winter 2012

Notes:

This table was created using a google document spreadsheet. If you want to add or improve anything in the table, please contact Esden to get write access to the spreadsheet. This makes editing and maintaining of the table much easier!

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.

Subcategories

This category has the following 5 subcategories, out of 5 total.

B

H

L

T

Y