Difference between revisions of "Category:Autopilots"
m |
|||
(47 intermediate revisions by 14 users not shown) | |||
Line 2: | Line 2: | ||
__NOEDITSECTION__ | __NOEDITSECTION__ | ||
{| | {{P Topic Table|{{P Header Box|ico=Autopilot.png|Autopilots}} | ||
| | {{Category:Autopilots/Index}} | ||
{{Autopilots}} | |||
<!-- Start of right-column --> | <!-- Start of right-column --> | ||
| | |{{P Header Box|ico=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. | ||
[[Image:tiny13_family_top_sm.jpg|center|400px|Tiny 1.1 autopilots on the "assembly line"]] | |||
<h3> Paparazzi designed hardware </h3> | |||
Most 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 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. | |||
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 | 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 | 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 by Paparazzi. The cryptic name is px4fmu 4.0, that means all designs based on the open pxfmu 4.0 schematic design can be used. | |||
<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.''' | |||
{{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" 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" 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" 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" Servo | |||
| mechanical pcb=2-layer | |||
| mechanical mounting=4 x M3 | |||
| introduction date=Spring 2013 | |||
| previous version=Krooz | |||
}} | |||
{{P Autopilot Table/Entry | |||
| name=Umarim Lite v2 {{!}} Umarim Lite | |||
| version=V2 | |||
| active=Y | |||
| buy=[https://www.ppzuav.com/shop/index.php/product/umarim-lite-v2/ Buy] | |||
| mcu part=LPC2148 | |||
| mcu clock=60MHz | |||
| mcu flash=512kB | |||
| mcu ram=32kB & 8kB | |||
| sensor imu=Y | |||
| sensor mag=N | |||
| sensor baro=N | |||
| sensor diff=N | |||
| sensor gps=N | |||
| io uart=2 | |||
| io i2c=1 | |||
| io spi=1 | |||
| io adc=86 | |||
| io pwm=6 | |||
| io ppm out=N | |||
| io ppm in=1 + 1<sup>5</sup> | |||
| io rc serial= | |||
| io gpio=0 + 4<sup>6</sup> | |||
| io led=2 | |||
| io usb=bootloader | |||
| io can=Y | |||
| io modem=N | |||
| periph sd=N | |||
| periph rtc=N | |||
| periph other=mini-USB B | |||
| program debug=USB (pprz bootloader) | |||
| power input=5.5V - 17V | |||
| power output=1A@3.3V, 1.5A@5V | |||
| power switch=N | |||
| mechanical size=53mm x 25mm | |||
| mechanical weight=8g | |||
| mechanical connectors=Picoblade | |||
| mechanical pcb=4-layer | |||
| mechanical mounting=4 x M2 | |||
| introduction date=Summer 2012 | |||
| previous version= | |||
}} | |||
{{P Autopilot Table/Entry | |||
| name=Umarim | |||
| version=V1.0 | |||
| active=N | |||
| buy= | |||
| mcu part=LPC2148 | |||
| mcu clock=60MHz | |||
| mcu flash=512kB | |||
| mcu ram=32kB & 8kB | |||
| sensor imu=Y | |||
| sensor mag=N | |||
| sensor baro=Y | |||
| sensor diff=N | |||
| sensor gps=N | |||
| io uart=2 | |||
| io i2c=2 | |||
| io spi=1 | |||
| io adc=0 + 4 (10bit) | |||
| io pwm=6 | |||
| io ppm out=N | |||
| io ppm in=1 + 1<sup>5</sup> | |||
| io rc serial= | |||
| io gpio=0 + 4<sup>6</sup> | |||
| io led=2 | |||
| io usb=bootloader | |||
| io can=Y | |||
| io modem=N | |||
| periph sd=N | |||
| periph rtc=N | |||
| periph other= | |||
| program debug=USB (pprz bootloader) | |||
| power input=5.5V - 17V | |||
| power output=1A@3.3V, 1.5A@5V | |||
| power switch=N | |||
| mechanical size=56mm x 25mm | |||
| mechanical weight=9g | |||
| mechanical connectors=Picoblade | |||
| mechanical pcb=4-layer | |||
| mechanical mounting=4 x M2 | |||
| introduction date=Fall 2011 | |||
| previous version= | |||
}} | |||
{{P Autopilot Table/Entry | |||
| name=NavGo | |||
| version=V3 | |||
| active=Y | |||
| buy=[https://www.ppzuav.com/shop/index.php/product/navgo-v3-00/ 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=0 + 4 (10bit)<sup>6</sup> | |||
| io pwm=0 + 1<sup>5</sup> | |||
| io ppm out=N | |||
| io ppm in=1 | |||
| io rc serial= | |||
| io gpio=0 + 2<sup>6</sup> | |||
| io led=4 | |||
| io usb=bootloader | |||
| io can=Y | |||
| io modem=N | |||
| 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" 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" 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 150: | Line 644: | ||
'''7.''' Usually other unused pins can be used for additional GPIO with some code modifications | '''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. | |||
[[Category:Hardware]] [[Category:User_Documentation]] | [[Category:Hardware]] [[Category:User_Documentation]] |
Latest revision as of 00:20, 13 December 2019
STM32H7 based boards
STM32F7 based boards
STM32F1 based boards
STM32F4 based boards
LPC2148 based boards
Aircraft With Embedded Autopilots
Archive
|
Paparazzi designed hardwareMost current autopilots are designed around two primary processors:
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 supportUsing 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 by Paparazzi. The cryptic name is px4fmu 4.0, that means all designs based on the open pxfmu 4.0 schematic design can be used. Schematics, CAD files, Gerber files, BOM release strategyAbout 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.
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.
Pages in category "Autopilots"
The following 38 pages are in this category, out of 38 total.