<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.paparazziuav.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mcurrie</id>
	<title>PaparazziUAV - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.paparazziuav.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mcurrie"/>
	<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/wiki/Special:Contributions/Mcurrie"/>
	<updated>2026-04-08T03:39:49Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Ivy&amp;diff=20200</id>
		<title>Ivy</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Ivy&amp;diff=20200"/>
		<updated>2015-07-29T00:59:30Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* Extending Ivy Networks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ivy is a [https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern Publish-Subscribe (or pub/sub)] bus used in Paparazzi to link the different components of the ground network together.  See [[Overview#System_Architecture|System Architecture]] and [[DevGuide/Server_GCS_com]] for a general overview of its role in the Paparazzi UAS.&lt;br /&gt;
&lt;br /&gt;
Ivy is text-based (ASCII) and features [https://en.wikipedia.org/wiki/Regular_expression regular expression] based message subscription.  Software applications employing Ivy announce their presence on the local network by UDP broadcast and share subscriptions.  All messages are communicated thereafter via direct TCP connections.  While the traffic is TCP, the use of UDP protocol for broadcast announcements requires that peers reside within the same network subnet.&lt;br /&gt;
&lt;br /&gt;
Paparazzi software applications default to binding to locahost and thus unable to communicate with peers residing elsewhere on the local area network.  Ivy and subsequently the paparazzi software applications can be directed to bind to a local network interface instead, thereby permitting LAN communication with peers by simply supplying a bus designation command-line argument shown below.  These can be saved in a Paparazzi Center session for persistence.&lt;br /&gt;
&lt;br /&gt;
Including the libivy headers and library and using a predefined set of messages, it is possible for any software component to take part in communication in a Paparazzi biotope.  Ivy, the protocol itself is developed independently of the Paparazzi project and can be obtained along with examples and documentation from http://www.tls.cena.fr/products/ivy/ .&lt;br /&gt;
&lt;br /&gt;
== Ivy Networks ==&lt;br /&gt;
&lt;br /&gt;
=== Binding Ivy Networks ===&lt;br /&gt;
&lt;br /&gt;
Ivy defaults to UDP port 2010 if a port is not specified.  Port is specified by '':PORTNUMBER'' suffix on network.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
192.168.0.0/24 (192.168.0.x network) UDP/2010; The following are all valid:&lt;br /&gt;
&lt;br /&gt;
 program -b 192.168.0.255&lt;br /&gt;
 program -b 192.168.0.255:2010&lt;br /&gt;
 program -b 192.168.0&lt;br /&gt;
 program -b 192.168.0:2010&lt;br /&gt;
&lt;br /&gt;
10.0.0.0/8 (10.x.x.x or 10.255.255.255); The following are all valid:&lt;br /&gt;
&lt;br /&gt;
 program -b 10&lt;br /&gt;
 program -b 10:2010&lt;br /&gt;
 program -b 10.255.255.255&lt;br /&gt;
 program -b 10.255.255.255:2010&lt;br /&gt;
&lt;br /&gt;
=== Extending Ivy Networks ===&lt;br /&gt;
&lt;br /&gt;
Ivy requires that all peers in the network reside within the same local area network (it does not support routing).  This can be solved by two different approaches.&lt;br /&gt;
&lt;br /&gt;
==== 1 - Virtual Private Network (VPN) ====&lt;br /&gt;
&lt;br /&gt;
By employing a standard IP VPN, remote hosts may communicate within the Ivy network permitting the VPN configuration is BRIDGED and not ROUTED.  Many (routed) VPN configurations provide a network subnet for VPN clients and then route the traffic to the remote network.  While this is approach is inline with best practices for IT systems, it does not permit Ivy to operate.&lt;br /&gt;
&lt;br /&gt;
==== 2 - Ivy Network Bridging ====&lt;br /&gt;
&lt;br /&gt;
[[TCP_Aircraft_Server|TCP Aircraft Server]]&lt;br /&gt;
&lt;br /&gt;
-- looking for more information&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Ivyprobe ===&lt;br /&gt;
&lt;br /&gt;
Ivyprobe is a command-line tool for sending and receiving messages on the Ivy bus.  This tool is useful for monitoring and troubleshooting an Ivy bus in the same way an Ivy client would behave, with custom regexp match filters.&lt;br /&gt;
&lt;br /&gt;
Run it with the '''-h''' option to display the help:&lt;br /&gt;
 $ ivyprobe -h&lt;br /&gt;
&lt;br /&gt;
E.g. to simply display all messages:&lt;br /&gt;
 $ ivyprobe '(.*)'&lt;br /&gt;
&lt;br /&gt;
[[Category:Communication]]&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Ivy&amp;diff=20199</id>
		<title>Ivy</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Ivy&amp;diff=20199"/>
		<updated>2015-07-29T00:47:16Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ivy is a [https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern Publish-Subscribe (or pub/sub)] bus used in Paparazzi to link the different components of the ground network together.  See [[Overview#System_Architecture|System Architecture]] and [[DevGuide/Server_GCS_com]] for a general overview of its role in the Paparazzi UAS.&lt;br /&gt;
&lt;br /&gt;
Ivy is text-based (ASCII) and features [https://en.wikipedia.org/wiki/Regular_expression regular expression] based message subscription.  Software applications employing Ivy announce their presence on the local network by UDP broadcast and share subscriptions.  All messages are communicated thereafter via direct TCP connections.  While the traffic is TCP, the use of UDP protocol for broadcast announcements requires that peers reside within the same network subnet.&lt;br /&gt;
&lt;br /&gt;
Paparazzi software applications default to binding to locahost and thus unable to communicate with peers residing elsewhere on the local area network.  Ivy and subsequently the paparazzi software applications can be directed to bind to a local network interface instead, thereby permitting LAN communication with peers by simply supplying a bus designation command-line argument shown below.  These can be saved in a Paparazzi Center session for persistence.&lt;br /&gt;
&lt;br /&gt;
Including the libivy headers and library and using a predefined set of messages, it is possible for any software component to take part in communication in a Paparazzi biotope.  Ivy, the protocol itself is developed independently of the Paparazzi project and can be obtained along with examples and documentation from http://www.tls.cena.fr/products/ivy/ .&lt;br /&gt;
&lt;br /&gt;
== Ivy Networks ==&lt;br /&gt;
&lt;br /&gt;
=== Binding Ivy Networks ===&lt;br /&gt;
&lt;br /&gt;
Ivy defaults to UDP port 2010 if a port is not specified.  Port is specified by '':PORTNUMBER'' suffix on network.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
192.168.0.0/24 (192.168.0.x network) UDP/2010; The following are all valid:&lt;br /&gt;
&lt;br /&gt;
 program -b 192.168.0.255&lt;br /&gt;
 program -b 192.168.0.255:2010&lt;br /&gt;
 program -b 192.168.0&lt;br /&gt;
 program -b 192.168.0:2010&lt;br /&gt;
&lt;br /&gt;
10.0.0.0/8 (10.x.x.x or 10.255.255.255); The following are all valid:&lt;br /&gt;
&lt;br /&gt;
 program -b 10&lt;br /&gt;
 program -b 10:2010&lt;br /&gt;
 program -b 10.255.255.255&lt;br /&gt;
 program -b 10.255.255.255:2010&lt;br /&gt;
&lt;br /&gt;
=== Extending Ivy Networks ===&lt;br /&gt;
&lt;br /&gt;
Ivy requires that all peers in the network reside within the same local area network (it does not support routing).  This can be solved by two different approaches.&lt;br /&gt;
&lt;br /&gt;
1) Virtual Private Network (VPN)&lt;br /&gt;
&lt;br /&gt;
By employing a standard IP VPN, remote hosts may communicate within the Ivy network permitting the VPN configuration is BRIDGED and not ROUTED.  Many (routed) VPN configurations provide a network subnet for VPN clients and then route the traffic to the remote network.  While this is approach is inline with best practices for IT systems, it does not permit Ivy to operate.&lt;br /&gt;
&lt;br /&gt;
2) Ivy Bridging&lt;br /&gt;
&lt;br /&gt;
-- looking for more information&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Ivyprobe ===&lt;br /&gt;
&lt;br /&gt;
Ivyprobe is a command-line tool for sending and receiving messages on the Ivy bus.  This tool is useful for monitoring and troubleshooting an Ivy bus in the same way an Ivy client would behave, with custom regexp match filters.&lt;br /&gt;
&lt;br /&gt;
Run it with the '''-h''' option to display the help:&lt;br /&gt;
 $ ivyprobe -h&lt;br /&gt;
&lt;br /&gt;
E.g. to simply display all messages:&lt;br /&gt;
 $ ivyprobe '(.*)'&lt;br /&gt;
&lt;br /&gt;
[[Category:Communication]]&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Ivy&amp;diff=20198</id>
		<title>Ivy</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Ivy&amp;diff=20198"/>
		<updated>2015-07-29T00:42:41Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ivy is a [https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern Publish-Subscribe (or pub/sub)] bus used in Paparazzi to link the different components of the ground network together.  See [[Overview#System_Architecture System Architecture]] and [[DevGuide/Server_GCS_com]] for a general overview of its role in the Paparazzi UAS.&lt;br /&gt;
&lt;br /&gt;
Ivy is text-based (ASCII) and features [https://en.wikipedia.org/wiki/Regular_expression regular expression] based message subscription.  Ivy agents (software applications) announce their presence on the local network by UDP broadcast and share subscriptions.  Messages are communicated thereafter via TCP sockets.  While the traffic is TCP, the use of UDP broadcast requires that peers reside within the same network subnet.&lt;br /&gt;
&lt;br /&gt;
Paparazzi software applications default to binding to locahost and thus will not communicate with peers residing elsewhere on the local area network.  Most paparazzi components can be directed to bind to a local network interface thereby permitting LAN communication with peers by simply supplying a bus designation commandline argument shown below.  These can be saved in a Paparazzi Center session for persistence.&lt;br /&gt;
&lt;br /&gt;
Including the libivy headers and library and using a predefined set of messages, it is possible for any software component to take part in communication in a Paparazzi biotope.  Ivy, the protocol itself is developed independently of the Paparazzi project and can be obtained along with examples and documentation from http://www.tls.cena.fr/products/ivy/ .&lt;br /&gt;
&lt;br /&gt;
== Ivy Networks ==&lt;br /&gt;
&lt;br /&gt;
=== Binding Ivy Networks ===&lt;br /&gt;
&lt;br /&gt;
Ivy defaults to UDP port 2010 if a port is not specified.  Port is specified by '':PORTNUMBER'' suffix on network.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
192.168.0.0/24 (192.168.0.x network) UDP/2010 &lt;br /&gt;
&lt;br /&gt;
The following are all valid:&lt;br /&gt;
&lt;br /&gt;
 program -b 192.168.0.255&lt;br /&gt;
 program -b 192.168.0.255:2010&lt;br /&gt;
 program -b 192.168.0&lt;br /&gt;
 program -b 192.168.0:2010&lt;br /&gt;
&lt;br /&gt;
10.0.0.0/8 (10.x.x.x or 10.255.255.255)&lt;br /&gt;
&lt;br /&gt;
 program -b 10&lt;br /&gt;
 program -b 10:2010&lt;br /&gt;
 program -b 10.255.255.255&lt;br /&gt;
 program -b 10.255.255.255:2010&lt;br /&gt;
&lt;br /&gt;
=== Extending Ivy Networks ===&lt;br /&gt;
&lt;br /&gt;
Ivy requires that all peers in the network reside within the same local area network (it does not support routing).  This can be solved by two different approaches.&lt;br /&gt;
&lt;br /&gt;
1) Virtual Private Network (VPN)&lt;br /&gt;
&lt;br /&gt;
By employing a standard IP VPN, remote hosts may communicate within the Ivy network permitting the VPN configuration is BRIDGED and not ROUTED.  Many (routed) VPN configurations provide a network subnet for VPN clients and then route the traffic to the remote network.  While this is approach is inline with best practices for IT systems, it does not permit Ivy to operate.&lt;br /&gt;
&lt;br /&gt;
2) Ivy Bridging&lt;br /&gt;
&lt;br /&gt;
-- looking for more information&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Ivyprobe ===&lt;br /&gt;
&lt;br /&gt;
Ivyprobe is a command-line tool for sending and receiving messages on the Ivy bus.  This tool is useful for monitoring and troubleshooting an Ivy bus in the same way an Ivy client would behave, with custom regexp match filters.&lt;br /&gt;
&lt;br /&gt;
Run it with the '''-h''' option to display the help:&lt;br /&gt;
 $ ivyprobe -h&lt;br /&gt;
&lt;br /&gt;
E.g. to simply display all messages:&lt;br /&gt;
 $ ivyprobe '(.*)'&lt;br /&gt;
&lt;br /&gt;
[[Category:Communication]]&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Sensors/GPS&amp;diff=19766</id>
		<title>Sensors/GPS</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Sensors/GPS&amp;diff=19766"/>
		<updated>2015-04-19T18:59:32Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* Globalsat BU 353 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;categorytree style=&amp;quot;float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;&amp;quot; mode=pages&amp;gt;Sensors&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left; clear:left; margin-right:2ex; padding: 0.7ex;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=GPS Receivers=&lt;br /&gt;
&lt;br /&gt;
An overview of GPS receivers used icw paparazzi. The list is by far not complete. A lot more devices will work flawlessly with Paparazzi. If you have a GPS receiver you used with Paparazzi and is not listed here, it would be great if you could add addtional information on this page.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Swiftnav Piksi=&lt;br /&gt;
&lt;br /&gt;
A very special receiver is the OpenSource (almost all...) Swiftnav Piksi GPS receiver. How to use this device with Paparazzi is described on the a specific page&lt;br /&gt;
[[Image:Piksi_GPS_back.jpg|100px|thumb|left|Swiftnav Piksi]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=LS20031 GPS Receiver=&lt;br /&gt;
&lt;br /&gt;
[[Image:ls20031.jpg|100px|thumb|left|LS20031]]&lt;br /&gt;
Sparkfun sells the LS20031 GPS module which uses NMEA (Paparazzi support for NMEA is BETA right now.) This Locosys GPS module supports WAAS (U.S. DGPS), EGNOS (EU DGPS), and MSAS (Japanese DGPS).&lt;br /&gt;
&lt;br /&gt;
More information on configuring the GPS via PMTK can be found [http://dallasmakerspace.org/wiki/LS20031_GPS here]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Globalsat BU 353=&lt;br /&gt;
&lt;br /&gt;
[[Image:BU-353_gps_receiver.jpg|thumb|left|100px|BU-353 GPS receiver]]&lt;br /&gt;
&lt;br /&gt;
USB US Globalsat GPS-Mouse&lt;br /&gt;
&lt;br /&gt;
Typical Uses:&lt;br /&gt;
&lt;br /&gt;
* Parrot AR Drone 2.0&lt;br /&gt;
* Ground Station GPS (direct support with Linux / gpsd)&lt;br /&gt;
&lt;br /&gt;
''Not appropriate for many airborne applications due to extra USB-serial circuitry and weight of housing and internal magnet''&lt;br /&gt;
&lt;br /&gt;
Basic compatibility with Windows, Mac and Linux.&amp;lt;br/&amp;gt;&lt;br /&gt;
More information at the [[GPS/BU_353]] site.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=uBlox=&lt;br /&gt;
&lt;br /&gt;
[[Image:U-blox_color_warm_60.gif|100px]]&lt;br /&gt;
[http://www.u-blox.com uBlox is a Swiss technology company] which develops and delivers very good positioning modules. It produces the recommended GPS modules for use with Paparazzi autopilots from the popular brand of receivers.&lt;br /&gt;
&lt;br /&gt;
Why uBlox:&lt;br /&gt;
*Low cost [[Sensors/GPS#u-blox_NEO-6M|NEO6-M]])&lt;br /&gt;
*Small size&lt;br /&gt;
*Excellent performance&lt;br /&gt;
*Up to 10Hz update rate&lt;br /&gt;
*Large amount of different modules&lt;br /&gt;
*5V tolerant UART&lt;br /&gt;
&lt;br /&gt;
The '''[[Tiny]]''' series features an onboard LEA series GPS receiver and patch antenna, while most other boards boards require an external receiver+antenna such as the [[#Paparazzi_Stand-alone_GPS_Receivers|Paparazzi GPS]] or [[#u-Blox_SAM-LS_GPS_Smart_Antenna|SAM-LS]].  Please note that the receivers must be configured (prior to use with the autopilot) as indicated below. &lt;br /&gt;
&lt;br /&gt;
{|align = center&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:Lea big.jpg|200px|thumb|center|u-blox LEA GPS Receiver]]&lt;br /&gt;
|[[Image:Ublox_SAM-LS.jpg|200px|thumb|center|u-Blox SAM-LS GPS receiver (w/built-in Smart Antenna)]]&lt;br /&gt;
|[[Image:UBlox_LEA-6H_Sarantel_Helix_s.jpg|200px|thumb|center|u-Blox LEA-6H GPS receiver with Sarantel Helix Antenna]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The proprietary UBX protocol is used as it offers more information and efficiency than the universal NMEA protocol. The protocol is parsed in &amp;lt;tt&amp;gt;sw/airborne/subsystems/gps/gps_ubx.c&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==u-Blox LEA Series Receivers==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- [[Image:Lea big.jpg|200px|thumb|right|u-blox LEA]] --&amp;gt;&lt;br /&gt;
[[Image:Lea5htiny13.jpg|thumb|left|200px|LEA-5H installed on the Tiny]]&lt;br /&gt;
The '''[[Lisa]]''' series, '''[[Twog_v1|TWOG]]''', '''[[Classix]]''' and '''[[Previous_Autopilots|AVR-based]]''' boards require an external GPS module and antenna.  The '''[[Tiny]]''' features an integrated receiver and antenna.  Either type is designed for [http://www.u-blox.com/ u-blox] 4, 5 and 6 series GPS receivers and the proprietary UBX binary protocol.  An external battery or capacitor is typically used to enable the GPS to retain data while powered off for significantly faster signal re-aquisition.  Any of the LEA-4, LEA-5 and LEA-6 series receivers can be used including the less expensive LEA-4A, 4S, 5A and 5S and similar low cost 6-series models as the special boot configuration code required for these models is already written as a [[Module/GPS_UBlox_UCenter|module]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- autobaud - runtime configuration of - ROM-only modules: use ucenter-module to configure your UBlox with no cable nor windows u-center --&amp;gt;&lt;br /&gt;
  &amp;lt;load name=&amp;quot;gps_ubx_ucenter.xml&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*4Hz Position update rate&lt;br /&gt;
*Supports active or passive antennas&lt;br /&gt;
*Supports [http://en.wikipedia.org/wiki/DGPS DGPS], [http://en.wikipedia.org/wiki/WAAS WAAS], [http://en.wikipedia.org/wiki/EGNOS EGNOS], and [http://en.wikipedia.org/wiki/MSAS MSAS]&lt;br /&gt;
*Low position noise figure&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Paparazzi Stand-alone uBlox GPS Receivers==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:Ppzgps13med01.jpg|Top&lt;br /&gt;
Image:Ppzgps13_lrg_02.jpg|Bottom&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Paparazzi source provides a design for an external GPS board. An external GPS board is required for Lisa, TWOG and Classix Autopilot board.&lt;br /&gt;
Programming it is similar to the Tiny2.11 GPS configuration. If you build your own you will want to upload the latest u-blox firmware before you configure. See [[Get Hardware]] for sources of assembled boards.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The Paparazzi design in https://github.com/paparazzi/paparazzi-hardware/tree/master/sensors/gps/gps_13. The board is very small and light as it has only the components required. It is powered from the 5v line on the &amp;quot;downloads&amp;quot; connector of a TWOG. Also note it is a 4-layer PCB that means better noise resistance. The board has pins for USB connection but requires a different cable and a solder jumper to be move from the ground (default) to 3.3v input to enable the USB port on the module. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
[http://paparazzi.enac.fr/wiki_images/Gps_13_BOM.xls V1 BOM.xls]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://paparazzi.enac.fr/wiki_images/TinygpsBOM.txt Eagle Parts List Output.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
See [[Get_Hardware|Get Hardware]] page for suppliers.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Wiring Diagram===&lt;br /&gt;
&lt;br /&gt;
{|align = none&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:TWOG to GPS.jpg|200px|thumb|center|TWOG to Standalone GPS Cable Schematic]]&lt;br /&gt;
|[[Image:gps13v09FTDIcable.jpg|200px|thumb|center|GPS13 v0.9 Ucenter cable (ftdi)]]&lt;br /&gt;
|[[Image:booz gps.jpg|200px|thumb|center|BoozGPS (quadrotor gps V1.1 2009/5) Ucenter cable (ftdi)]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===uBlox to ARdrone 2===&lt;br /&gt;
&lt;br /&gt;
[[Image:HowtoConnectUSBHelixGPSForParrotARDrone2.jpg|thumb|left|How to connect USB to uBlox Helix GPS for Parrot ARDrone2]]&lt;br /&gt;
To connect a uBlox with Helix antenna via a USB to serial cable that you can just plug into your ARdrone 2&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==3rd Party u-blox Reference Design Boards==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
[[Image:LEA5HExternalModulePinout.jpg|thumb|left|LEA-5H Full Board Pinout]]&lt;br /&gt;
The only other GPS board in use seems to be u-blox reference designs or similar to it. They have LEA-4H, LEA-5H and LEA-6H (typically) and several interfaces. Often a larger antenna as well. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The board in the photo is a [http://www.rfdesign.co.za/pages/5645456/Products/GPS-Products/Receiver-Boards.asp RF DESIGN] LEA-5H-SMART. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The jumpers adjacent to the TTL interface connectors need to be closed with low value resistors for paparazzi uart port use. Also a [http://nz.element14.com/jsp/search/productdetail.jsp?SKU=1514218 battery] has to be added with an appropriate charging resistor to enable RTC functionality.&lt;br /&gt;
&amp;lt;/p&amp;gt;     &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==NAVILOCK NL-507ETTL==&lt;br /&gt;
&lt;br /&gt;
[[Image:Navilock NL-507ETTL.jpg|thumb|left|NAVILOCK NL-507TTL]]&lt;br /&gt;
The NAVILOCK NL-507TTL u-blox TTL Modul 60416 features an LEA-4 series receiver and 25mm patch antenna on a 30mm x 30mm board.&lt;br /&gt;
* Datasheet: [http://www.navilock.de/download/Dokumente_SLASH_Sonstiges/60415_-_Datenblatt_u-blox_GPS_Module/481 http://www.navilock.de/download/Dokumente_SLASH_Sonstiges/60415_-_Datenblatt_u-blox_GPS_Module/481]&lt;br /&gt;
* Purchase:  Available for 28€ at [http://www.amazon.de/Navilock-NL-507TTL-u-blox-TTL-Modul/dp/B0011E6VQG www.amazon.de]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SPK GS407==&lt;br /&gt;
&lt;br /&gt;
[[Image:GS407.jpg|thumb|left|SPK GS407]]&lt;br /&gt;
[https://www.sparkfun.com/products/11466 This] is the model Sparkfun recommends as a replacement for the old GS406.  It's essentially the same, but uses the newer 6-series receiver, and is not using a ribbon cable as an interface.  It  uses [http://www.sarantel.com/products/sl1206 Sarantels] SL1206 active antenna.&lt;br /&gt;
It's recommended to buy [https://www.sparkfun.com/products/574 This extension cable] to use with it.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==u-blox NEO-6M==&lt;br /&gt;
&lt;br /&gt;
[[Image:Hk neo gps.jpg|thumb|left|Hobbyking NEO 6M back]]&lt;br /&gt;
This is the cheapest GPS module with antenna for ~13€ at [http://www.hobbyking.com/hobbyking/store/__31135__NEO_6M_GPS_Module.html Hobbyking].&lt;br /&gt;
&lt;br /&gt;
They come with different (sized) patch antenna, mounted on a seperate PCB. The main PCB and antenna PCB are fixed with hot glue together and can be seperated by hand.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Navilock NL-652ETTL==&lt;br /&gt;
&lt;br /&gt;
Nice module with u-blox 6 chip and without the annoying cable that the HK NEO-6m has.&lt;br /&gt;
[http://www.navilock.de/produkte/G_61846/merkmale.html?setLanguage=en Navilock NL-652ETTL]&lt;br /&gt;
&lt;br /&gt;
==u-Blox C04-6H Reference Design==&lt;br /&gt;
&lt;br /&gt;
[[Image:abavimage.jpg|thumb|left|u-blox C04-5H]]&lt;br /&gt;
u-Blox sells a complete module with antenna for around $200 and will also provide complete schematics, BOM, and PCB files for free if you wish to make your own.  Two versions are offered, one with an 18mm patch antenna and the other with the Sarantel P2 helical antenna.&lt;br /&gt;
See [http://www.ublox.com/en/evaluation-tools-a-software/reference-designs/for-gps-chips/c04-6h.html http://www.ublox.com/en/evaluation-tools-a-software/reference-designs/for-gps-chips/c04-6h.html] for more info.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==uBlox GPS configuration==&lt;br /&gt;
&lt;br /&gt;
===using U-Center===&lt;br /&gt;
&lt;br /&gt;
[[Image:U-center_screencap.jpg|thumb|u-center configuration software]]&lt;br /&gt;
[http://www.u-blox.com/products/u_center.html U-Center] is a very comprehensive freeware program intended for the configuration and evaluation of u-blox receivers. &lt;br /&gt;
* [http://www.u-blox.com/en/evaluation-tools-a-software/u-center/u-center.html Download u-center]&lt;br /&gt;
&lt;br /&gt;
* Note 1: You must [[tunnel|install the UART tunnel firmware]] to enable direct access to the built-in GPS on the [[Tiny|Tiny]].&lt;br /&gt;
&lt;br /&gt;
* Note 2: You will need a driver for your FTDI cable if you run u-center on Windows, which can be found  [http://www.ftdichip.com/Drivers/D2XX.htm here].&lt;br /&gt;
&lt;br /&gt;
* Note 3: You can run u-center on Linux by installing &amp;quot;Wine&amp;quot; ([http://www.winehq.org/site/download-deb Installation of Wine]) and set up COM1 as /dev/ttyUSB0. You need to create a symbolic link from the COM device to TTY like this:&lt;br /&gt;
 mkdir -p ~/.wine/dosdevices&lt;br /&gt;
 ln -s /dev/ttyUSB0 ~/.wine/dosdevices/COM1&lt;br /&gt;
&lt;br /&gt;
or what worked in Ubuntu 9.10&lt;br /&gt;
 &lt;br /&gt;
 ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com1&lt;br /&gt;
&lt;br /&gt;
This command will create the symbolic link from ttyUSB0 to COM1. See Info on Wine for &amp;quot;dosdevices&amp;quot; setup. Just download the u-setup.exe and run it with Wine, follow prompts. This has been tested with Ubuntu7.10 and Ubuntu 8.04 so far.&lt;br /&gt;
&lt;br /&gt;
The u-blox and Tiny UARTs both operate at 3.3V TTL levels and are 5V TTL tolerant.  You must use a level shifter such as the common MAX232 to connect these devices to a standard PC serial port.  The easiest and most recommended method is to connect to a USB port instead of serial with the $20 [http://www.ftdichip.com/Products/EvaluationKits/TTL-232R.htm FTDI USB-TTL converter cable] available from Digikey, Mouser, or direct from FTDI.  Other similar converters are available from [http://www.pololu.com/products/pololu/0391/ pololu] / [http://www.sparkfun.com/commerce/product_info.php?products_id=199 sparkfun].  A stand-alone GPS such as the SAM-LS will require clean 3.3V/50mA power and a common ground with the TTL converter.&lt;br /&gt;
&lt;br /&gt;
* U-blox occasionally releases firmware updates. Log on to the u-blox website using ''paparazzi'' for username &amp;amp; password to view or download the latest firmware images.  There have 'never' been any updates released for the Antaris-4 series used in the Tiny.&lt;br /&gt;
&lt;br /&gt;
Start U-center and choose your com port from the pull down list under the connect button near the top left corner of the window. Choose your baudrate from the pull down box to the right of the connect button or select the auto-baud button to the right of that.  U-blox default is 9600 baud.  This must be changed to 19200 or higher to accomodate the 4Hz update rate.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:U-center_buttons.jpg|connect, baud, and autobaud buttons]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Uploading the Configuration File===&lt;br /&gt;
&lt;br /&gt;
Download the appropriate configuration file below and use u-center to load in onto your receiver. Under the ''Tools'' menu, choose ''GPS configuration''.  Be sure the box 'Store configuration into BBR/Flash' is checked and hit the button ''File&amp;gt;&amp;gt;GPS''.  A few errors and retries are normal, but a significant number of errors may indicate a poor connection and the software will notify you if it is unable to send all the data successfully.&lt;br /&gt;
* [[Media:Tiny_LEA-4P-v6.zip|LEA-4P]]&lt;br /&gt;
* [[Media:Tim-LL-V5.zip|TIM-LL]]&lt;br /&gt;
* [[Media:Tiny_LEA-5H-v5.zip|LEA-5H (For Use w/ Firmware V5 ONLY!)]]&lt;br /&gt;
* [[Media:Hk_NEO-6M.zip‎| Hobbyking NEO-6M]] [http://www.hobbyking.com/hobbyking/store/__31135__neo_6m_gps_module.html this module]&lt;br /&gt;
&lt;br /&gt;
===Automatic Configuration at Startup===&lt;br /&gt;
&lt;br /&gt;
You can also use the [[Module/GPS_UBlox_UCenter|u-blox UCenter module]] which will take over the task of initializing the GPS for you when you power your autopilot.&lt;br /&gt;
&lt;br /&gt;
===Manual Configuration===&lt;br /&gt;
&lt;br /&gt;
If you prefer to setup your receiver manually or have a model not listed above, here are instructions to configure your receiver in u-center.&lt;br /&gt;
Open the message window (menu View-&amp;gt;messages view) to start the configuration process by changing the following settings:&lt;br /&gt;
&lt;br /&gt;
====LEA-4P====&lt;br /&gt;
&lt;br /&gt;
# Right Click on the '''NMEA''' Icon and choose '''disable child'''&lt;br /&gt;
# Choose UBX-&amp;gt;CFG-&amp;gt;NAV2(Navigation 2) - set it to use '''Airborne 4G''' (tells the Kalman filter to expect significant changes in direction)&lt;br /&gt;
# UBX-&amp;gt;CFG-&amp;gt;PRT - set '''USART1''' to '''38400bps''' (must match the value in your [[Airframe_Configuration#GPS|Airframe file]])&lt;br /&gt;
# Change the baudrate of U-Center to 38400bps if the connection is lost at this point&lt;br /&gt;
# UBX-&amp;gt;CFG-&amp;gt;RXM(Receiver Manager) - change '''GPS Mode''' to '''3 - Auto''' (Enabling faster bootup only if signal levels are very good)&lt;br /&gt;
# UBX-&amp;gt;CFG-&amp;gt;RATE(Rates) - change the '''Measurement Period''' to '''250ms''' (4 Hz position updates)&lt;br /&gt;
# UBX-&amp;gt;CFG-&amp;gt;SBAS : '''Disable''' (SBAS appears to cause occasional severe altitude calcuation errors)&lt;br /&gt;
# UBX-&amp;gt;NAV (not UBX-&amp;gt;CFG-&amp;gt;NAV): double click on '''POSUTM, SOL, STATUS, SVINFO, VELNED.''' They should change from grey to black&lt;br /&gt;
# UBX-&amp;gt;CFG-&amp;gt;CFG : '''save current config''', click '''&amp;quot;send&amp;quot;''' in the lower left corner to permanently save these settings to the receiver &lt;br /&gt;
&lt;br /&gt;
====LEA-5H====&lt;br /&gt;
&lt;br /&gt;
# Right Click on the '''NMEA''' Text on top of the tree and choose '''disable child messages'''&lt;br /&gt;
# Choose UBX-&amp;gt;CFG-&amp;gt;NAV5(Navigation 5) - set it to use '''Airborne 8 &amp;lt;4G'''. This tells the Kalman filter to expect significant changes in direction. &amp;lt;p&amp;gt;    Note that this setting is only good for faster moving airplanes. For a fixed position hovering heli, 'pedestrian' setting is better&amp;lt;/p&amp;gt;&lt;br /&gt;
# UBX-&amp;gt;CFG-&amp;gt;PRT - set '''USART1''' to '''38400bps''' (must match the value in your [[Airframe_Configuration#GPS|Airframe file]])&lt;br /&gt;
# Change the baudrate of U-Center to 38400bps if the connection is lost at this point&lt;br /&gt;
# UBX-&amp;gt;CFG-&amp;gt;RATE(Rates) - change the '''Measurement Period''' to '''250ms''' This gives a 4 Hz position update since 4 x 250ms is one second.&lt;br /&gt;
# UBX-&amp;gt;CFG-&amp;gt;SBAS : '''Disable''' (SBAS appears to cause occasional severe altitude calcuation errors)&lt;br /&gt;
# UBX-&amp;gt;NAV (not UBX-&amp;gt;CFG-&amp;gt;NAV): double click on '''POSLLH, SOL, STATUS, SVINFO, VELNED.''' They should change from grey to black&lt;br /&gt;
# UBX-&amp;gt;CFG-&amp;gt;CFG : '''save current config''', click '''&amp;quot;send&amp;quot;''' in the lower left corner to permanently save these settings to the receiver&lt;br /&gt;
&lt;br /&gt;
* Cycle the power and verify that the new configuration was saved&lt;br /&gt;
* To reset the receiver to the factory defaults go to ''UBX-&amp;gt;CFG-&amp;gt;CFG'', select 'Revert to default configuration', and click ''Send'' at the bottom left corner.  To permanently save these values choose 'Save current configuration' and click ''Send''.&lt;br /&gt;
* To backup the configuration to a file on your PC: under the tools menu, choose GPS configuration, then click GPS&amp;gt;&amp;gt;file.  This file can be re-loaded in a similar manner to configure additional identical receivers.  Be sure the box 'Store configuration into BBR/Flash' is checked when reloading a configuration file to make the changes permanent.&lt;br /&gt;
* To update the firmware on a LEA-5H get u-center &amp;gt;= 5.03, revert the GPS receiver to the default configuration, get an appropriate image from u-Blox (fitting your receivers serial number), find the flash identification flash.txt file in the u-center install directory and be prepared to wait a long time.&lt;br /&gt;
&lt;br /&gt;
#NOTE: If you have a Tiny with LEA-5H module you must use u-center and manually setup the parameters as shown above (at least switch to 38400 baud manually before transferring the configuration file).&lt;br /&gt;
#NOTE: POSUTM is not available on LEA-5H. Instead, use POSLLH.&lt;br /&gt;
&lt;br /&gt;
====LEA-6H====&lt;br /&gt;
&lt;br /&gt;
We use the same configuration as for version 5&lt;br /&gt;
&lt;br /&gt;
# Right Click on the '''NMEA''' Text on top of the tree and choose '''disable child messages'''&lt;br /&gt;
# Choose UBX-&amp;gt;CFG-&amp;gt;NAV5(Navigation 5) - set it to use '''Airborne 8 &amp;lt;4G'''. This tells the Kalman filter to expect significant changes in direction. &amp;lt;p&amp;gt; Note that this setting is only good for faster moving airplanes. For a fixed position hovering heli, 'pedestrian' setting is better &amp;lt;/p&amp;gt;&lt;br /&gt;
# UBX-&amp;gt;CFG-&amp;gt;PRT - set '''USART1''' to '''38400bps''' (must match the value in your [[Airframe_Configuration#GPS|Airframe file]])&lt;br /&gt;
# Change the baudrate of U-Center to 38400bps if the connection is lost at this point&lt;br /&gt;
# UBX-&amp;gt;CFG-&amp;gt;RATE(Rates) - change the '''Measurement Period''' to '''250ms''' This gives a 4 Hz position update since 4 x 250ms is one second.&lt;br /&gt;
# UBX-&amp;gt;CFG-&amp;gt;SBAS : '''Disable''' (SBAS appears to cause occasional severe altitude calcuation errors)&lt;br /&gt;
# UBX-&amp;gt;NAV (not UBX-&amp;gt;CFG-&amp;gt;NAV): double click on '''POSLLH, SOL, STATUS, SVINFO, VELNED.''' They should change from grey to black&lt;br /&gt;
# UBX-&amp;gt;CFG-&amp;gt;CFG : '''save current config''', click '''&amp;quot;send&amp;quot;''' in the lower left corner to permanently save these settings to the receiver.&amp;lt;p&amp;gt;    Make sure you activate '''&amp;quot;2 - I2C-EEPROM&amp;quot;''' if using a ROM-based NEO chipset with external EEPROM (like [http://www.hobbyking.com/hobbyking/store/__31135__neo_6m_gps_module.html HK 31135])&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Cycle the power and verify that the new configuration was saved&lt;br /&gt;
* To reset the receiver to the factory defaults go to ''UBX-&amp;gt;CFG-&amp;gt;CFG'', select 'Revert to default configuration', and click ''Send'' at the bottom left corner.  To permanently save these values choose 'Save current configuration' and click ''Send''.&lt;br /&gt;
* To backup the configuration to a file on your PC: under the tools menu, choose GPS configuration, then click GPS&amp;gt;&amp;gt;file.  This file can be re-loaded in a similar manner to configure additional identical receivers.  Be sure the box 'Store configuration into BBR/Flash' is checked when reloading a configuration file to make the changes permanent.&lt;br /&gt;
* To update the firmware on a LEA-6H get u-center &amp;gt;= 6.21, revert the GPS receiver to the default configuration, get an appropriate firmaware file from u-Blox, find the flash identification flash.txt file in the u-center install directory and be prepared to wait a long time.(seriously)&lt;br /&gt;
&lt;br /&gt;
==uBlox Tips==&lt;br /&gt;
&lt;br /&gt;
===Reset to Default Settings===&lt;br /&gt;
&lt;br /&gt;
The GPS module can be reset to its original default settings by pulling BOOT_INT high(3.3V) during a power cycle ([http://www.u-blox.com/customersupport/gps.g4/ANTARIS4_Modules_SIM(GPS.G4-MS4-05007).pdf Antaris Manual, p. 122]). It may be required after a wrong firmware upgrade or a bad configuration change.&lt;br /&gt;
&lt;br /&gt;
===Invalid argument===&lt;br /&gt;
&lt;br /&gt;
Problem:  I keep getting this error with my nice shiny Tiny v2.1 with a LEA-5H: Invalid_argument (&amp;quot;Latlong.of_utm&amp;quot;)&lt;br /&gt;
Solution: Select the correct [[Subsystem/gps|GPS subsystem]].&lt;br /&gt;
&lt;br /&gt;
===WAAS issues===&lt;br /&gt;
&lt;br /&gt;
WAAS has been officially operational and &amp;quot;suitable for safety-of-life applications&amp;quot; since 2003.  The default setting of all u-blox receivers ignores WAAS correction data and only uses the WAAS satellites for regular navigation like any other satellite.  U-blox recommends further limiting this setting to exclude any stray EGNOS/MSAS satellites in North America, and completely disabling all SBAS functions for use outside North America.  In 2006 one formerly reliable Paparazzi aircraft began having great GPS problems and displaying very erratic altitude calculations, disabling WAAS immediately resolved the issue and this phenomenon was recreated several times for verification. Turns out a new WAAS satellite was being added to the system and the others were being moved that week for better distribution. Our advice is to first test if WAAS works well in your region.&lt;br /&gt;
&lt;br /&gt;
===Antenna options for the Tiny and Paparazzi GPS units===&lt;br /&gt;
See [[GPS/Antenna]].&lt;br /&gt;
&lt;br /&gt;
=Tips=&lt;br /&gt;
&lt;br /&gt;
There is a huge amount of good information on the internet about GPS specifics that gives some good insight into GPS. This Paparazzi wiki is not intended to repeat already available information, some is added here.&lt;br /&gt;
&lt;br /&gt;
==EGNOS==&lt;br /&gt;
&lt;br /&gt;
EGNOS augments the GPS satellite navigation system and makes it suitable for safety critical UAS applications. EGNOS became operational on 1 October 2009. ESA claims that it can determine position to within 2 meters compared with about 20 meters for GPS alone. Note that the service is currently provided only in western Europe. For further information take a look on the [http://www.esa.int/esaNA/egnos.html ESA EGNOS website].&lt;br /&gt;
&lt;br /&gt;
For the latest update about functionality of EGNOS please check the website: [http://www.gsa.europa.eu European GNSS Supervisory Authority]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==DGPS (Differential GPS)==&lt;br /&gt;
&lt;br /&gt;
Differential GPS is any method of improving GPS accuracy by comparing the GPS-indicated position of a nearby location to the known value and transmitting any error to the mobile unit.  DGPS was originally created as a means of bypassing the deliberately introduced inaccuracies in civilian GPS signals.  The original method used low frequency ground radios to relay correction data to the mobile unit and is still used today at airports, shipping ports, and even individual farms.  Satellite Based Augmentation System (SBAS) is a modern form of DGPS where the ground stations relay correction data to a GEO-Stationary satellite, which then relays it to the mobile unit on standard GPS frequencies eliminating the need for a separate radio reciever.  SBAS is currently available in 3 regions, [http://www.esa.int/esaNA/ESAF530VMOC_egnos_1.html WAAS, EGNOS, and MSAS regions]. U-blox receivers support all common varieties of DGPS [http://www.u-blox.com/customersupport/gps.g3/ENGOS_Issues(GPS.G3-CS-04009).pdf read the u-blox SBAS application note].&lt;br /&gt;
* It is important to note that DGPS methods only improve the ''accuracy'' of the position calculation, not the ''precision''.  Since Paparazzi navigation is typically performed relative to the power-on location, any static error that could be corrected with DGPS is irrelevant.&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]] [[Category:Sensors]] [[Category:User_Documentation]]&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Installation/Linux&amp;diff=19052</id>
		<title>Installation/Linux</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Installation/Linux&amp;diff=19052"/>
		<updated>2014-10-06T23:19:55Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: add instructions on manual configuration of gcc-arm-embedded for Debian hosts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;categorytree style=&amp;quot;float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;&amp;quot; mode=pages&amp;gt;Installation&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;This page only describes the installation of the prerequisite tools and dependencies on Debian/Ubuntu needed for Paparazzi.&amp;lt;/span&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
'''See the general [[Installation]] page for how to [[Installation#Getting_the_Source_Code|download Paparazzi]] and [[Installation#Launching_the_Software|launching it]] after you followed the instructions here.'''&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Paparazzi is very easily installed on any laptop or workstation running [http://www.ubuntu.com/ Ubuntu], [http://www.debian.org/ Debian] (or any of their derivatives).&lt;br /&gt;
&lt;br /&gt;
The steps required to install the software needed to be able to let your UAS fly &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Installation/Linux#Installation_of_dependencies|Install the basic Paparazzi dependencies]] and the [[Installation/Linux#ARM_embedded_toolchain|ARM cross compiling toolchain.]]&lt;br /&gt;
&amp;lt;li&amp;gt;[[Installation#Getting_the_Source_Code|Download the source code from the source repository.]]&lt;br /&gt;
&amp;lt;li&amp;gt;Allow access to your PC hardware connection by adding appropriate [[Udev]] rules.&lt;br /&gt;
&amp;lt;li&amp;gt;[[Installation#Launching_the_Software|Compile the binaries from the sources and launch the software.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users of other Linux flavors than a recent Ubuntu or Debian and anyone needing manual control of each individual package can [[Installation/Manual|install them independently]].&lt;br /&gt;
&lt;br /&gt;
===For the impatient===&lt;br /&gt;
&lt;br /&gt;
For Ubuntu add the [https://launchpad.net/~paparazzi-uav/+archive/ppa paparazzi-uav ppa] &amp;lt;tt&amp;gt;sudo add-apt-repository ppa:paparazzi-uav/ppa&amp;lt;/tt&amp;gt; and install the &amp;lt;tt&amp;gt;paparazzi-dev&amp;lt;/tt&amp;gt; package.&lt;br /&gt;
&lt;br /&gt;
Since Paparazzi v5.0 the [https://launchpad.net/gcc-arm-embedded/ gcc-arm-embedded toolchain] is recommended.&lt;br /&gt;
Available as of Ubuntu 14.04, on older versions it can be [[Installation/Linux#ARM_embedded_toolchain|installed via tarball]].&lt;br /&gt;
&lt;br /&gt;
Or just use the [[Installation#Quickstart_on_Ubuntu_12.04|Quickstart for Ubuntu 12.04 LTS]].&lt;br /&gt;
&lt;br /&gt;
== Installation video Tutorials ==&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtubehd|SshFJrBuku8}} {{#ev:youtubehd|eW0PCSjrP78}}&lt;br /&gt;
&lt;br /&gt;
== Installation of dependencies ==&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu ===&lt;br /&gt;
&lt;br /&gt;
Add the installation sources for the Paparazzi software packages. Run from a terminal:&lt;br /&gt;
 sudo add-apt-repository ppa:paparazzi-uav/ppa&lt;br /&gt;
&lt;br /&gt;
Then update the systems package inventory and install the main Paparazzi software dependencies. This will take some time.&lt;br /&gt;
 sudo apt-get update &lt;br /&gt;
 sudo apt-get install paparazzi-dev&lt;br /&gt;
&lt;br /&gt;
=== Debian ===&lt;br /&gt;
&lt;br /&gt;
For Debian Squeeze (6.0) and Wheezy (7.0) packages are built using the [http://openbuildservice.org/ Open Build Service (OBS)] on [https://build.opensuse.org/project/show?project=home%3Aflixr%3Apaparazzi-uav OpenSUSE Build Service project home:flixr:paparazzi-uav]&lt;br /&gt;
&lt;br /&gt;
First add the key:&lt;br /&gt;
 wget -q &amp;quot;http://download.opensuse.org/repositories/home:/flixr:/paparazzi-uav/Debian_7.0/Release.key&amp;quot; -O- | apt-key add -&lt;br /&gt;
&lt;br /&gt;
Add the appropriate repo, depending on your Debian version to sources.list&lt;br /&gt;
 echo &amp;quot;deb http://download.opensuse.org/repositories/home:/flixr:/paparazzi-uav/Debian_6.0/ ./&amp;quot; | tee -a /etc/apt/sources.list&lt;br /&gt;
 echo &amp;quot;deb http://download.opensuse.org/repositories/home:/flixr:/paparazzi-uav/Debian_7.0/ ./&amp;quot; | tee -a /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
Update the systems package inventory and install the main Paparazzi software dependencies.&lt;br /&gt;
 sudo apt-get update &lt;br /&gt;
 sudo apt-get install paparazzi-dev&lt;br /&gt;
&lt;br /&gt;
== ARM embedded toolchain ==&lt;br /&gt;
&lt;br /&gt;
For current Paparazzi versions (v5.0 and above) the [https://launchpad.net/gcc-arm-embedded/ gcc-arm-embedded toolchain] is recommended, which also supports the STM32F4 with FPU (hardware floating point).&lt;br /&gt;
&lt;br /&gt;
The most common way is to download and unpack the tarball and add it to your PATH:&lt;br /&gt;
&lt;br /&gt;
[http://pixhawk.org/dev/toolchain_installation_lin The Pixhawk Devs have mentioned the 4.8 as buggy.]&lt;br /&gt;
&lt;br /&gt;
 cd ~&lt;br /&gt;
 wget https://launchpad.net/gcc-arm-embedded/4.7/4.7-2013-q2-update/+download/gcc-arm-none-eabi-4_7-2013q2-20130614-linux.tar.bz2&lt;br /&gt;
 tar -vjxf gcc-arm-none-eabi-4_7-2013q2-20130614-linux.tar.bz2 -C /opt&lt;br /&gt;
 rm -r gcc-arm-none-eabi-4_7-2013q2-20130614-linux.tar.bz2&lt;br /&gt;
 exportline=&amp;quot;PATH=$PATH:/opt/gcc-arm-none-eabi-4_7-2013q2/bin&amp;quot;&lt;br /&gt;
 if grep -Fxq &amp;quot;$exportline&amp;quot; ~/.profile; then echo nothing to do ; else echo $exportline &amp;gt;&amp;gt; ~/.profile; fi&lt;br /&gt;
 source ~/.profile&lt;br /&gt;
&lt;br /&gt;
The file .profile will be sourced in every bash after logging out and in again. Until then,&lt;br /&gt;
 source ~/.profile&lt;br /&gt;
can be used for every bash individually.&lt;br /&gt;
&lt;br /&gt;
If you can not access your toolchain with PATH working, look a the [[Installation/Linux#Troubleshooting]].&lt;br /&gt;
&lt;br /&gt;
=== gcc-arm-none-eabi as Debian/Ubuntu package ===&lt;br /&gt;
&lt;br /&gt;
Note that there are actually two '''different''' toolchains available that unfortunately have the same package name!&lt;br /&gt;
* [https://launchpad.net/gcc-arm-embedded/ ARM gcc-arm-embedded toolchain]&lt;br /&gt;
** includes libstdc++ and newlib-nano&lt;br /&gt;
* [https://packages.debian.org/jessie/gcc-arm-none-eabi Debian gcc-arm-none-eabi toolchain]&lt;br /&gt;
** does not include libstdc++&lt;br /&gt;
** does not include newlib-nano&lt;br /&gt;
&lt;br /&gt;
Both toolchains ''should'' work for most use-cases (if you don't need C++ or nano specs), although the [https://launchpad.net/gcc-arm-embedded/ ARM gcc-arm-embedded toolchain] is better tested.&lt;br /&gt;
&lt;br /&gt;
==== ARM gcc-arm-embedded toolchain (from launchpad) - Debian Quick (Manual) Install Process ====&lt;br /&gt;
&lt;br /&gt;
This approach is quick and low risk as it does not rely on any packages or make modifications to the system.&lt;br /&gt;
&lt;br /&gt;
* Download latest gcc-arm-none-eabi-*-*-linux.tar.bz2 from [https://launchpad.net/gcc-arm-embedded/+download External Downloads] section of ARM gcc-arm-embedded project&lt;br /&gt;
* Create /opt/paparazzi folder if it does not exist&lt;br /&gt;
 sudo mkdir /opt/paparazzi&lt;br /&gt;
* Decompress file to /opt/&lt;br /&gt;
 sudo tar -xvf [name_of_downloaded_bz2_file] /opt/&lt;br /&gt;
* Create symlink so Paparazzi Makefile can find the library&lt;br /&gt;
 sudo ln -s /opt/[gcc-arm-xxxxxxx_name_of_folder] /opt/paparazzi/arm-multilib&lt;br /&gt;
* Attempt to build paparazzi autopilot firmware (example, Paparazzi Center build target ap)&lt;br /&gt;
&lt;br /&gt;
==== gcc-arm-embedded toolchain ====&lt;br /&gt;
&lt;br /&gt;
On ''most'' Ubuntu versions (currently lucid, precise, raring, saucy and trusty) the [https://launchpad.net/gcc-arm-embedded/ gcc-arm-embedded toolchain] can be installed as a debian package from the [https://launchpad.net/~terry.guo/+archive/gcc-arm-embedded ppa]:&lt;br /&gt;
 sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get install gcc-arm-none-eabi&lt;br /&gt;
&lt;br /&gt;
Note [https://bugs.launchpad.net/gcc-arm-embedded/+bug/1309060 bug1309060] on Ubuntu 14.04 you have to explicitly install the gcc-arm-embedded version.&lt;br /&gt;
You can list the available versions with &amp;lt;tt&amp;gt;apt-cache policy gcc-arm-none-eabi&amp;lt;/tt&amp;gt;&lt;br /&gt;
 sudo apt-get remove binutils-arm-none-eabi gcc-arm-none-eabi&lt;br /&gt;
 sudo apt-get install gcc-arm-none-eabi=4-8-2014q2-0trusty9&lt;br /&gt;
&lt;br /&gt;
==== gcc-arm-none-eabi Debian toolchain ====&lt;br /&gt;
&lt;br /&gt;
Debian testing ('''jessie''') and Ubuntu 14.04 ('''trusty''') have the gcc-arm-none-eabi package in the official repositories ('''universe'''), and can be installed with:&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get install gcc-arm-none-eabi&lt;br /&gt;
&lt;br /&gt;
=== Old toolchain for Paparazzi v4.x and earlier ===&lt;br /&gt;
&lt;br /&gt;
'''For Paparazzi v4.x''' and earlier you need to install the &amp;lt;tt&amp;gt;paparazzi-arm-multilib&amp;lt;/tt&amp;gt; package. It has support for both ARM7 (i.e. Tiny,TWOG,YAPA autopilot boards) as well as STM32F1 (i.e. LISA boards).&amp;lt;br&amp;gt;&lt;br /&gt;
'''This toolchain does not properly support STM32F4 based autopilots!!'''&lt;br /&gt;
&lt;br /&gt;
You can install it explicitly with:&lt;br /&gt;
 sudo apt-get install paparazzi-arm-multilib&lt;br /&gt;
&lt;br /&gt;
== Optional Packages ==&lt;br /&gt;
&lt;br /&gt;
The packages &amp;lt;b&amp;gt;lpc21isp&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;openocd&amp;lt;/b&amp;gt; are normally '''automatically installed''' as they are recommended packages of paparazzi-dev, '''if not''' you can manually install them via:&lt;br /&gt;
 &lt;br /&gt;
 sudo apt-get install lpc21isp openocd&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;lpc21isp&amp;lt;/tt&amp;gt; is needed to serially flash the LPC2148 based autopilots (e.g. bootloader for tiny, twog, umarim), &amp;lt;tt&amp;gt;openocd&amp;lt;/tt&amp;gt; is for flashing via JTAG (e.g. for Lisa boards) and debugging.&lt;br /&gt;
&lt;br /&gt;
== Installing and running Paparazzi ==&lt;br /&gt;
&lt;br /&gt;
Please see [[Installation#Getting_the_Source_Code|Getting the Source Code on the general Installation page]] for details on downloading the Paparazzi source code, compiling and running it.&lt;br /&gt;
&lt;br /&gt;
== Udev rules ==&lt;br /&gt;
&lt;br /&gt;
Add the appropriate [[Udev]] rule (available in fhe file ''50-paparazzi.rules'') to the USB handler.  Simply copy as root &amp;lt;tt&amp;gt;conf/system/udev/rules/50-paparazzi.rules&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;/etc/udev/rules.d/&amp;lt;/tt&amp;gt;, e.g in a terminal:&lt;br /&gt;
&lt;br /&gt;
 cd &amp;lt;your paparazzi directory&amp;gt;&lt;br /&gt;
 sudo cp conf/system/udev/rules/50-paparazzi.rules /etc/udev/rules.d/&lt;br /&gt;
&lt;br /&gt;
See the [[Udev]] page for more details.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== No access rights for USB devices ===&lt;br /&gt;
&lt;br /&gt;
Some Linux distributions, don't allow standard (non admin) users to directly access the USB bus by default. On recent Ubuntu/Debian versions the first/main user is already a member of the ''plugdev'' group which should be sufficient for most cases.&amp;lt;br&amp;gt;&lt;br /&gt;
If you have problems, make yourself a member of the ''plugdev'' and ''dialout'' groups:&lt;br /&gt;
&lt;br /&gt;
 sudo adduser &amp;lt;your login&amp;gt; plugdev&lt;br /&gt;
 sudo adduser &amp;lt;your login&amp;gt; dialout&lt;br /&gt;
&lt;br /&gt;
Logout and login again.&lt;br /&gt;
&lt;br /&gt;
=== arm-none-eabi-gcc: Command not found ===&lt;br /&gt;
Appeared on Debian Wheezy 7 (gcc-arm-none-eabi-4_8-2013q4 installed via tarball)&amp;lt;br/&amp;gt;&lt;br /&gt;
If this error occurs, maybe the [https://packages.debian.org/de/wheezy/ia32-libs ia32-libs] are missing.&lt;br /&gt;
&lt;br /&gt;
Enable multiarch and install ia32-libs:&lt;br /&gt;
 dpkg --add-architecture i386&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get install ia32-libs&lt;br /&gt;
&lt;br /&gt;
===arm-none-eabi-gdb: error with libncurses.so.5===&lt;br /&gt;
Appeared on Xubuntu 14.04 LTS (gcc-arm-none-eabi-4_8-2013q4 installed via tarball)&amp;lt;br/&amp;gt;&lt;br /&gt;
Terminal output: arm-none-eabi-gdb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory&lt;br /&gt;
&lt;br /&gt;
If this error occours, maybe [http://packages.ubuntu.com/search?keywords=lib32ncurses5 lib32ncurses5] is missing. &amp;lt;br/&amp;gt;&lt;br /&gt;
Found on [https://answers.launchpad.net/gcc-arm-embedded/+question/226680 launchpad q&amp;amp;a]&lt;br /&gt;
&lt;br /&gt;
=== FTDI serial adapter not working on old Ubuntu version ===&lt;br /&gt;
&lt;br /&gt;
On older Linux distributions (not needed for lucid and later), the Braille TTY driver interferes with FTDI USB Serial adapters. If somehow your FTDI serial adapter does not work, remove the package via:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get remove brltty&lt;br /&gt;
&lt;br /&gt;
=== Code not starting on autopilot after changing gcc ===&lt;br /&gt;
&lt;br /&gt;
If you changed the toolchain (e.g. installed a new one for having FPU-Support for the F4), you need to run&lt;br /&gt;
&lt;br /&gt;
 make clean &amp;amp;&amp;amp; make&lt;br /&gt;
&lt;br /&gt;
in sw/ext in order to rebuild the libs. Otherwise the embedded code can behave strange (most likely not start)&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]] [[Category:User_Documentation]] [[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Talk:OSAMTuning&amp;diff=15743</id>
		<title>Talk:OSAMTuning</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Talk:OSAMTuning&amp;diff=15743"/>
		<updated>2013-08-19T20:08:20Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: moved Talk:OSAMTuning to Talk:OSAM Tuning Procedure&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Talk:OSAM Tuning Procedure]]&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Talk:OSAM_Tuning_Procedure&amp;diff=15742</id>
		<title>Talk:OSAM Tuning Procedure</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Talk:OSAM_Tuning_Procedure&amp;diff=15742"/>
		<updated>2013-08-19T20:08:20Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: moved Talk:OSAMTuning to Talk:OSAM Tuning Procedure&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Placed a copy of this OSAMTuning guide on our wiki so I could re-structure the formatting to get it to work with our booklet creator ~ Matthew Currie 19 Aug 2013&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=OSAMTuning&amp;diff=15741</id>
		<title>OSAMTuning</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=OSAMTuning&amp;diff=15741"/>
		<updated>2013-08-19T20:08:20Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: moved OSAMTuning to OSAM Tuning Procedure&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[OSAM Tuning Procedure]]&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=OSAM_Tuning_Procedure&amp;diff=15740</id>
		<title>OSAM Tuning Procedure</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=OSAM_Tuning_Procedure&amp;diff=15740"/>
		<updated>2013-08-19T20:08:20Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: moved OSAMTuning to OSAM Tuning Procedure&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
==Variable Explanation==&lt;br /&gt;
&lt;br /&gt;
===HORIZ_SENSOR_TILTED===&lt;br /&gt;
&lt;br /&gt;
This Describes whether the IR sensor is titled at a 90 degree angle or 45 degree angle. This meaning if the nose of the plane is facing north when the sensor is at 45 degrees (equals a 1 in the airframe config) the thermopile's do not point north south east and west but rather at a 45 degree offset from those directions. This is the recommended way to configure the IR sensors.&lt;br /&gt;
&lt;br /&gt;
===IR_360_Lateral_Correction &amp;amp; IR_360_Longitudinal_Correction===&lt;br /&gt;
&lt;br /&gt;
Coefficient that corrects the outputs of the IR sensor and is proportional meaning that it is simply multiplied by the sensor reading.&lt;br /&gt;
Longitudinal is the pitch and Lateral is the roll.&lt;br /&gt;
&lt;br /&gt;
===ADC_ROLL_NEUTRAL &amp;amp; ADC_PITCH_NEUTRAL &amp;amp; ADC_TOP_NEUTRAL===&lt;br /&gt;
&lt;br /&gt;
These are the readings from the sensor when it is in a neutral state. This is also characterized by having no temperature difference across each pair of sensors.&lt;br /&gt;
&lt;br /&gt;
===PITCH_NEUTRAL_DEFAULT &amp;amp; ROLL_NEUTRAL_DEFAULT===&lt;br /&gt;
&lt;br /&gt;
The angles which are output when the plane is in the “flat” position. This flat is also known as the angles necessary to make the plane fly flat and straight.&lt;br /&gt;
&lt;br /&gt;
===ROLL_PGAIN &amp;amp; PITCH_PGAIN===&lt;br /&gt;
&lt;br /&gt;
This is the proportional variable in the pitch and roll control loops. &lt;br /&gt;
&lt;br /&gt;
===ROLL_MAX_SETPOINT &amp;amp; PITCH_MAX_SETPOINT &amp;amp; PITCH_MIN_SETPOINT===&lt;br /&gt;
&lt;br /&gt;
These set the maximum and minimum of the roll and pitch. This means that the plane will not be able to roll or pitch past the maximum or minimum angle.&lt;br /&gt;
&lt;br /&gt;
===ALTITIUDE_PGAIN &amp;amp; COURSE_PGAIN===&lt;br /&gt;
&lt;br /&gt;
These are the proportional control variables of the altitude and course loops.&lt;br /&gt;
&lt;br /&gt;
===MAX_ROLL &amp;amp; MAX_PITCH===&lt;br /&gt;
&lt;br /&gt;
These are set in the AUTO1 section of the airframe file and are the maximum allowed pitch and roll in auto1 mode.. These are by default in radians.&lt;br /&gt;
&lt;br /&gt;
===ROLL_MAX_SETPOINT &amp;amp; PITCH_MAX_SETPOINT &amp;amp; PITCH_MIN_SETPOINT===&lt;br /&gt;
&lt;br /&gt;
These are set in the HORIZONTAL CONTROL section of the airframe file and are the maximum and minimum allowed pitch and roll in auto2 mode.. These are by default in radians.&lt;br /&gt;
&lt;br /&gt;
==Tuning Procedure==&lt;br /&gt;
&lt;br /&gt;
===Step 1===&lt;br /&gt;
&lt;br /&gt;
Align measured and real angles from the IR sensors. The first step is to take the IR sensors and the fully encase them in foam. Then you must change the ADC neutrals to zero in the airframe file. Once this has been done the user must flash the board then get a connection to the ground station computer and the GUI. Once this has been completed launch the messages agent and view the tab called IR, record the raw sensor values shown. After that disconnect the board and power it down. Finally change the ADC neutrals in the airframe file to the recorded values and re-flash the board. &lt;br /&gt;
&lt;br /&gt;
===Step 2===&lt;br /&gt;
&lt;br /&gt;
First you must set the ROLL and PITCH neutrals to zero in the airframe file and then flash the board. Next take the airframe outside with all the necessary &lt;br /&gt;
electronics inside that are needed to fly autonomously. The area which should be used to tune is one without any buildings or large man made objects within 500-1000 ft. This will make the variables far more accurate and save time due to lack of tuning needed in the air. Now place the plane “flat” on a surface so that all the sensors have clear views (aka no man made objects), the vertical sensors should be able to see both the ground and sky. Next connect the plane to the ground station GUI and record the attitude values, once these have been found power down and add the values recorded into the ROLL and PITCH neutrals in the airframe file.&lt;br /&gt;
&lt;br /&gt;
Next, place the pane at an angle of the users choosing and measure the real angle. Remember the IR sensors must have unobstructed views. Now connect the airplane to the GUI and look to see if the reported angle in the messages agent matches the recorded real angle. If these do no match the user must change the 360_Lateral and Longitudinal variables as well as the neutral values, remember the neutral values can only shift the readings so use those for asymmetrical errors.  The user must changes these variables until the angles match, it should be noted however that these variables are independent of each other so they should be adjusted one at a time. In addition make sure that the D gain of the Pitch loop is set to zero. &lt;br /&gt;
&lt;br /&gt;
Once the users has done this on ground stuff a couple times it may be possible to use their eye to judge angles in the sky and do all the tuning that way. Remember all of the variables can be changed in real time by utilizing the tuning.xml for the settings of the aircraft&lt;br /&gt;
&lt;br /&gt;
===Step3===&lt;br /&gt;
&lt;br /&gt;
Once the plane is at a safe height and in sight turn on the AUTO1 mode. Next look for oscillations in the roll. If there are oscillations in the roll lower the ROLL_PGAIN coefficient until these no longer exist. If there are no oscillations start to raise to coefficients until the point right before oscillations. The point of this process is to maximize the coefficient value to the point right before oscillations occur.  This is the same process that is used to tune the pitch loop except for the coefficient changed is PITCH_PGAIN. However it should be noted that the pitch is far more damped than the roll so it may harder to spot oscillations. The PITCH_PGAIN value is expressed in negative terms so a -10,000 would “higher” than a -6000 variable.&lt;br /&gt;
&lt;br /&gt;
The next step is to test your roll and pitch neutrals. To do this the user must turn on auto1 mode and set the throttle to the nominal throttle value in the airframe file after this is set let go of all sticks and watch to see if the plane flies flat and straight. If this is the case then all is well but if not the user must once again tune the PITCH_ NUETRAL _DEFAULT &amp;amp; ROLL_ NUETRAL _DEFAULT values until the plane flys straight and flat. Next the user must test the maximum and minimum set points of the pitch and roll. This is done by testing in AUTO1, the user must make the plane pitch and roll to maximum and minimum amount that the RC controller allows, this is done by pushing the right stick to its maximum's. These angles however can only be recorded by looking at the plane in the air and guessing. This is not very exact but should give a good value to compare with the user written set points.  The IR_360 variables will probably have to be retuned in air during this last part due to bad sensor data on the ground.&lt;br /&gt;
&lt;br /&gt;
===Step 4===&lt;br /&gt;
&lt;br /&gt;
The final step is to put the plane into auto2 mode and determine if the plane is flying its desired course and altitude correctly. If this is not the case the PGAIN variables of each must be changed to take out oscillations and maximize to right before oscillations. Remember to check your max angle set points to make sure your plane will not over pitch or roll causing instability.&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=OSAM_Tuning_Procedure&amp;diff=15739</id>
		<title>OSAM Tuning Procedure</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=OSAM_Tuning_Procedure&amp;diff=15739"/>
		<updated>2013-08-19T20:08:08Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
==Variable Explanation==&lt;br /&gt;
&lt;br /&gt;
===HORIZ_SENSOR_TILTED===&lt;br /&gt;
&lt;br /&gt;
This Describes whether the IR sensor is titled at a 90 degree angle or 45 degree angle. This meaning if the nose of the plane is facing north when the sensor is at 45 degrees (equals a 1 in the airframe config) the thermopile's do not point north south east and west but rather at a 45 degree offset from those directions. This is the recommended way to configure the IR sensors.&lt;br /&gt;
&lt;br /&gt;
===IR_360_Lateral_Correction &amp;amp; IR_360_Longitudinal_Correction===&lt;br /&gt;
&lt;br /&gt;
Coefficient that corrects the outputs of the IR sensor and is proportional meaning that it is simply multiplied by the sensor reading.&lt;br /&gt;
Longitudinal is the pitch and Lateral is the roll.&lt;br /&gt;
&lt;br /&gt;
===ADC_ROLL_NEUTRAL &amp;amp; ADC_PITCH_NEUTRAL &amp;amp; ADC_TOP_NEUTRAL===&lt;br /&gt;
&lt;br /&gt;
These are the readings from the sensor when it is in a neutral state. This is also characterized by having no temperature difference across each pair of sensors.&lt;br /&gt;
&lt;br /&gt;
===PITCH_NEUTRAL_DEFAULT &amp;amp; ROLL_NEUTRAL_DEFAULT===&lt;br /&gt;
&lt;br /&gt;
The angles which are output when the plane is in the “flat” position. This flat is also known as the angles necessary to make the plane fly flat and straight.&lt;br /&gt;
&lt;br /&gt;
===ROLL_PGAIN &amp;amp; PITCH_PGAIN===&lt;br /&gt;
&lt;br /&gt;
This is the proportional variable in the pitch and roll control loops. &lt;br /&gt;
&lt;br /&gt;
===ROLL_MAX_SETPOINT &amp;amp; PITCH_MAX_SETPOINT &amp;amp; PITCH_MIN_SETPOINT===&lt;br /&gt;
&lt;br /&gt;
These set the maximum and minimum of the roll and pitch. This means that the plane will not be able to roll or pitch past the maximum or minimum angle.&lt;br /&gt;
&lt;br /&gt;
===ALTITIUDE_PGAIN &amp;amp; COURSE_PGAIN===&lt;br /&gt;
&lt;br /&gt;
These are the proportional control variables of the altitude and course loops.&lt;br /&gt;
&lt;br /&gt;
===MAX_ROLL &amp;amp; MAX_PITCH===&lt;br /&gt;
&lt;br /&gt;
These are set in the AUTO1 section of the airframe file and are the maximum allowed pitch and roll in auto1 mode.. These are by default in radians.&lt;br /&gt;
&lt;br /&gt;
===ROLL_MAX_SETPOINT &amp;amp; PITCH_MAX_SETPOINT &amp;amp; PITCH_MIN_SETPOINT===&lt;br /&gt;
&lt;br /&gt;
These are set in the HORIZONTAL CONTROL section of the airframe file and are the maximum and minimum allowed pitch and roll in auto2 mode.. These are by default in radians.&lt;br /&gt;
&lt;br /&gt;
==Tuning Procedure==&lt;br /&gt;
&lt;br /&gt;
===Step 1===&lt;br /&gt;
&lt;br /&gt;
Align measured and real angles from the IR sensors. The first step is to take the IR sensors and the fully encase them in foam. Then you must change the ADC neutrals to zero in the airframe file. Once this has been done the user must flash the board then get a connection to the ground station computer and the GUI. Once this has been completed launch the messages agent and view the tab called IR, record the raw sensor values shown. After that disconnect the board and power it down. Finally change the ADC neutrals in the airframe file to the recorded values and re-flash the board. &lt;br /&gt;
&lt;br /&gt;
===Step 2===&lt;br /&gt;
&lt;br /&gt;
First you must set the ROLL and PITCH neutrals to zero in the airframe file and then flash the board. Next take the airframe outside with all the necessary &lt;br /&gt;
electronics inside that are needed to fly autonomously. The area which should be used to tune is one without any buildings or large man made objects within 500-1000 ft. This will make the variables far more accurate and save time due to lack of tuning needed in the air. Now place the plane “flat” on a surface so that all the sensors have clear views (aka no man made objects), the vertical sensors should be able to see both the ground and sky. Next connect the plane to the ground station GUI and record the attitude values, once these have been found power down and add the values recorded into the ROLL and PITCH neutrals in the airframe file.&lt;br /&gt;
&lt;br /&gt;
Next, place the pane at an angle of the users choosing and measure the real angle. Remember the IR sensors must have unobstructed views. Now connect the airplane to the GUI and look to see if the reported angle in the messages agent matches the recorded real angle. If these do no match the user must change the 360_Lateral and Longitudinal variables as well as the neutral values, remember the neutral values can only shift the readings so use those for asymmetrical errors.  The user must changes these variables until the angles match, it should be noted however that these variables are independent of each other so they should be adjusted one at a time. In addition make sure that the D gain of the Pitch loop is set to zero. &lt;br /&gt;
&lt;br /&gt;
Once the users has done this on ground stuff a couple times it may be possible to use their eye to judge angles in the sky and do all the tuning that way. Remember all of the variables can be changed in real time by utilizing the tuning.xml for the settings of the aircraft&lt;br /&gt;
&lt;br /&gt;
===Step3===&lt;br /&gt;
&lt;br /&gt;
Once the plane is at a safe height and in sight turn on the AUTO1 mode. Next look for oscillations in the roll. If there are oscillations in the roll lower the ROLL_PGAIN coefficient until these no longer exist. If there are no oscillations start to raise to coefficients until the point right before oscillations. The point of this process is to maximize the coefficient value to the point right before oscillations occur.  This is the same process that is used to tune the pitch loop except for the coefficient changed is PITCH_PGAIN. However it should be noted that the pitch is far more damped than the roll so it may harder to spot oscillations. The PITCH_PGAIN value is expressed in negative terms so a -10,000 would “higher” than a -6000 variable.&lt;br /&gt;
&lt;br /&gt;
The next step is to test your roll and pitch neutrals. To do this the user must turn on auto1 mode and set the throttle to the nominal throttle value in the airframe file after this is set let go of all sticks and watch to see if the plane flies flat and straight. If this is the case then all is well but if not the user must once again tune the PITCH_ NUETRAL _DEFAULT &amp;amp; ROLL_ NUETRAL _DEFAULT values until the plane flys straight and flat. Next the user must test the maximum and minimum set points of the pitch and roll. This is done by testing in AUTO1, the user must make the plane pitch and roll to maximum and minimum amount that the RC controller allows, this is done by pushing the right stick to its maximum's. These angles however can only be recorded by looking at the plane in the air and guessing. This is not very exact but should give a good value to compare with the user written set points.  The IR_360 variables will probably have to be retuned in air during this last part due to bad sensor data on the ground.&lt;br /&gt;
&lt;br /&gt;
===Step 4===&lt;br /&gt;
&lt;br /&gt;
The final step is to put the plane into auto2 mode and determine if the plane is flying its desired course and altitude correctly. If this is not the case the PGAIN variables of each must be changed to take out oscillations and maximize to right before oscillations. Remember to check your max angle set points to make sure your plane will not over pitch or roll causing instability.&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=OSAM_Tuning_Procedure&amp;diff=15738</id>
		<title>OSAM Tuning Procedure</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=OSAM_Tuning_Procedure&amp;diff=15738"/>
		<updated>2013-08-19T20:06:55Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* Step2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Airframe Tuning Procedure=&lt;br /&gt;
&lt;br /&gt;
==Variable Explanation==&lt;br /&gt;
&lt;br /&gt;
===HORIZ_SENSOR_TILTED===&lt;br /&gt;
&lt;br /&gt;
This Describes whether the IR sensor is titled at a 90 degree angle or 45 degree angle. This meaning if the nose of the plane is facing north when the sensor is at 45 degrees (equals a 1 in the airframe config) the thermopile's do not point north south east and west but rather at a 45 degree offset from those directions. This is the recommended way to configure the IR sensors.&lt;br /&gt;
&lt;br /&gt;
===IR_360_Lateral_Correction &amp;amp; IR_360_Longitudinal_Correction===&lt;br /&gt;
&lt;br /&gt;
Coefficient that corrects the outputs of the IR sensor and is proportional meaning that it is simply multiplied by the sensor reading.&lt;br /&gt;
Longitudinal is the pitch and Lateral is the roll.&lt;br /&gt;
&lt;br /&gt;
===ADC_ROLL_NEUTRAL &amp;amp; ADC_PITCH_NEUTRAL &amp;amp; ADC_TOP_NEUTRAL===&lt;br /&gt;
&lt;br /&gt;
These are the readings from the sensor when it is in a neutral state. This is also characterized by having no temperature difference across each pair of sensors.&lt;br /&gt;
&lt;br /&gt;
===PITCH_NEUTRAL_DEFAULT &amp;amp; ROLL_NEUTRAL_DEFAULT===&lt;br /&gt;
&lt;br /&gt;
The angles which are output when the plane is in the “flat” position. This flat is also known as the angles necessary to make the plane fly flat and straight.&lt;br /&gt;
&lt;br /&gt;
===ROLL_PGAIN &amp;amp; PITCH_PGAIN===&lt;br /&gt;
&lt;br /&gt;
This is the proportional variable in the pitch and roll control loops. &lt;br /&gt;
&lt;br /&gt;
===ROLL_MAX_SETPOINT &amp;amp; PITCH_MAX_SETPOINT &amp;amp; PITCH_MIN_SETPOINT===&lt;br /&gt;
&lt;br /&gt;
These set the maximum and minimum of the roll and pitch. This means that the plane will not be able to roll or pitch past the maximum or minimum angle.&lt;br /&gt;
&lt;br /&gt;
===ALTITIUDE_PGAIN &amp;amp; COURSE_PGAIN===&lt;br /&gt;
&lt;br /&gt;
These are the proportional control variables of the altitude and course loops.&lt;br /&gt;
&lt;br /&gt;
===MAX_ROLL &amp;amp; MAX_PITCH===&lt;br /&gt;
&lt;br /&gt;
These are set in the AUTO1 section of the airframe file and are the maximum allowed pitch and roll in auto1 mode.. These are by default in radians.&lt;br /&gt;
&lt;br /&gt;
===ROLL_MAX_SETPOINT &amp;amp; PITCH_MAX_SETPOINT &amp;amp; PITCH_MIN_SETPOINT===&lt;br /&gt;
&lt;br /&gt;
These are set in the HORIZONTAL CONTROL section of the airframe file and are the maximum and minimum allowed pitch and roll in auto2 mode.. These are by default in radians.&lt;br /&gt;
&lt;br /&gt;
==Procedure==&lt;br /&gt;
&lt;br /&gt;
===Step 1===&lt;br /&gt;
&lt;br /&gt;
Align measured and real angles from the IR sensors. The first step is to take the IR sensors and the fully encase them in foam. Then you must change the ADC neutrals to zero in the airframe file. Once this has been done the user must flash the board then get a connection to the ground station computer and the GUI. Once this has been completed launch the messages agent and view the tab called IR, record the raw sensor values shown. After that disconnect the board and power it down. Finally change the ADC neutrals in the airframe file to the recorded values and re-flash the board. &lt;br /&gt;
&lt;br /&gt;
===Step 2===&lt;br /&gt;
&lt;br /&gt;
First you must set the ROLL and PITCH neutrals to zero in the airframe file and then flash the board. Next take the airframe outside with all the necessary &lt;br /&gt;
electronics inside that are needed to fly autonomously. The area which should be used to tune is one without any buildings or large man made objects within 500-1000 ft. This will make the variables far more accurate and save time due to lack of tuning needed in the air. Now place the plane “flat” on a surface so that all the sensors have clear views (aka no man made objects), the vertical sensors should be able to see both the ground and sky. Next connect the plane to the ground station GUI and record the attitude values, once these have been found power down and add the values recorded into the ROLL and PITCH neutrals in the airframe file.&lt;br /&gt;
&lt;br /&gt;
Next, place the pane at an angle of the users choosing and measure the real angle. Remember the IR sensors must have unobstructed views. Now connect the airplane to the GUI and look to see if the reported angle in the messages agent matches the recorded real angle. If these do no match the user must change the 360_Lateral and Longitudinal variables as well as the neutral values, remember the neutral values can only shift the readings so use those for asymmetrical errors.  The user must changes these variables until the angles match, it should be noted however that these variables are independent of each other so they should be adjusted one at a time. In addition make sure that the D gain of the Pitch loop is set to zero. &lt;br /&gt;
&lt;br /&gt;
Once the users has done this on ground stuff a couple times it may be possible to use their eye to judge angles in the sky and do all the tuning that way. Remember all of the variables can be changed in real time by utilizing the tuning.xml for the settings of the aircraft&lt;br /&gt;
&lt;br /&gt;
===Step3===&lt;br /&gt;
&lt;br /&gt;
Once the plane is at a safe height and in sight turn on the AUTO1 mode. Next look for oscillations in the roll. If there are oscillations in the roll lower the ROLL_PGAIN coefficient until these no longer exist. If there are no oscillations start to raise to coefficients until the point right before oscillations. The point of this process is to maximize the coefficient value to the point right before oscillations occur.  This is the same process that is used to tune the pitch loop except for the coefficient changed is PITCH_PGAIN. However it should be noted that the pitch is far more damped than the roll so it may harder to spot oscillations. The PITCH_PGAIN value is expressed in negative terms so a -10,000 would “higher” than a -6000 variable.&lt;br /&gt;
&lt;br /&gt;
The next step is to test your roll and pitch neutrals. To do this the user must turn on auto1 mode and set the throttle to the nominal throttle value in the airframe file after this is set let go of all sticks and watch to see if the plane flies flat and straight. If this is the case then all is well but if not the user must once again tune the PITCH_ NUETRAL _DEFAULT &amp;amp; ROLL_ NUETRAL _DEFAULT values until the plane flys straight and flat. Next the user must test the maximum and minimum set points of the pitch and roll. This is done by testing in AUTO1, the user must make the plane pitch and roll to maximum and minimum amount that the RC controller allows, this is done by pushing the right stick to its maximum's. These angles however can only be recorded by looking at the plane in the air and guessing. This is not very exact but should give a good value to compare with the user written set points.  The IR_360 variables will probably have to be retuned in air during this last part due to bad sensor data on the ground.&lt;br /&gt;
&lt;br /&gt;
===Step 4===&lt;br /&gt;
&lt;br /&gt;
The final step is to put the plane into auto2 mode and determine if the plane is flying its desired course and altitude correctly. If this is not the case the PGAIN variables of each must be changed to take out oscillations and maximize to right before oscillations. Remember to check your max angle set points to make sure your plane will not over pitch or roll causing instability.&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Talk:OSAM_Tuning_Procedure&amp;diff=15737</id>
		<title>Talk:OSAM Tuning Procedure</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Talk:OSAM_Tuning_Procedure&amp;diff=15737"/>
		<updated>2013-08-19T20:06:37Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: Created page with &amp;quot;Placed a copy of this OSAMTuning guide on our wiki so I could re-structure the formatting to get it to work with our booklet creator ~ Matthew Currie 19 Aug 2013&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Placed a copy of this OSAMTuning guide on our wiki so I could re-structure the formatting to get it to work with our booklet creator ~ Matthew Currie 19 Aug 2013&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=OSAM_Tuning_Procedure&amp;diff=15736</id>
		<title>OSAM Tuning Procedure</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=OSAM_Tuning_Procedure&amp;diff=15736"/>
		<updated>2013-08-19T20:05:29Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* Step3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Airframe Tuning Procedure=&lt;br /&gt;
&lt;br /&gt;
==Variable Explanation==&lt;br /&gt;
&lt;br /&gt;
===HORIZ_SENSOR_TILTED===&lt;br /&gt;
&lt;br /&gt;
This Describes whether the IR sensor is titled at a 90 degree angle or 45 degree angle. This meaning if the nose of the plane is facing north when the sensor is at 45 degrees (equals a 1 in the airframe config) the thermopile's do not point north south east and west but rather at a 45 degree offset from those directions. This is the recommended way to configure the IR sensors.&lt;br /&gt;
&lt;br /&gt;
===IR_360_Lateral_Correction &amp;amp; IR_360_Longitudinal_Correction===&lt;br /&gt;
&lt;br /&gt;
Coefficient that corrects the outputs of the IR sensor and is proportional meaning that it is simply multiplied by the sensor reading.&lt;br /&gt;
Longitudinal is the pitch and Lateral is the roll.&lt;br /&gt;
&lt;br /&gt;
===ADC_ROLL_NEUTRAL &amp;amp; ADC_PITCH_NEUTRAL &amp;amp; ADC_TOP_NEUTRAL===&lt;br /&gt;
&lt;br /&gt;
These are the readings from the sensor when it is in a neutral state. This is also characterized by having no temperature difference across each pair of sensors.&lt;br /&gt;
&lt;br /&gt;
===PITCH_NEUTRAL_DEFAULT &amp;amp; ROLL_NEUTRAL_DEFAULT===&lt;br /&gt;
&lt;br /&gt;
The angles which are output when the plane is in the “flat” position. This flat is also known as the angles necessary to make the plane fly flat and straight.&lt;br /&gt;
&lt;br /&gt;
===ROLL_PGAIN &amp;amp; PITCH_PGAIN===&lt;br /&gt;
&lt;br /&gt;
This is the proportional variable in the pitch and roll control loops. &lt;br /&gt;
&lt;br /&gt;
===ROLL_MAX_SETPOINT &amp;amp; PITCH_MAX_SETPOINT &amp;amp; PITCH_MIN_SETPOINT===&lt;br /&gt;
&lt;br /&gt;
These set the maximum and minimum of the roll and pitch. This means that the plane will not be able to roll or pitch past the maximum or minimum angle.&lt;br /&gt;
&lt;br /&gt;
===ALTITIUDE_PGAIN &amp;amp; COURSE_PGAIN===&lt;br /&gt;
&lt;br /&gt;
These are the proportional control variables of the altitude and course loops.&lt;br /&gt;
&lt;br /&gt;
===MAX_ROLL &amp;amp; MAX_PITCH===&lt;br /&gt;
&lt;br /&gt;
These are set in the AUTO1 section of the airframe file and are the maximum allowed pitch and roll in auto1 mode.. These are by default in radians.&lt;br /&gt;
&lt;br /&gt;
===ROLL_MAX_SETPOINT &amp;amp; PITCH_MAX_SETPOINT &amp;amp; PITCH_MIN_SETPOINT===&lt;br /&gt;
&lt;br /&gt;
These are set in the HORIZONTAL CONTROL section of the airframe file and are the maximum and minimum allowed pitch and roll in auto2 mode.. These are by default in radians.&lt;br /&gt;
&lt;br /&gt;
==Procedure==&lt;br /&gt;
&lt;br /&gt;
===Step 1===&lt;br /&gt;
&lt;br /&gt;
Align measured and real angles from the IR sensors. The first step is to take the IR sensors and the fully encase them in foam. Then you must change the ADC neutrals to zero in the airframe file. Once this has been done the user must flash the board then get a connection to the ground station computer and the GUI. Once this has been completed launch the messages agent and view the tab called IR, record the raw sensor values shown. After that disconnect the board and power it down. Finally change the ADC neutrals in the airframe file to the recorded values and re-flash the board. &lt;br /&gt;
&lt;br /&gt;
===Step2===&lt;br /&gt;
&lt;br /&gt;
First you must set the ROLL and PITCH neutrals to zero in the airframe file and then flash the board. Next take the airframe outside with all the necessary &lt;br /&gt;
electronics inside that are needed to fly autonomously. The area which should be used to tune is one without any buildings or large man made objects within 500-1000 ft. This will make the variables far more accurate and save time due to lack of tuning needed in the air. Now place the plane “flat” on a surface so that all the sensors have clear views (aka no man made objects), the vertical sensors should be able to see both the ground and sky. Next connect the plane to the ground station GUI and record the attitude values, once these have been found power down and add the values recorded into the ROLL and PITCH neutrals in the airframe file.&lt;br /&gt;
&lt;br /&gt;
Next, place the pane at an angle of the users choosing and measure the real angle. Remember the IR sensors must have unobstructed views. Now connect the airplane to the GUI and look to see if the reported angle in the messages agent matches the recorded real angle. If these do no match the user must change the 360_Lateral and Longitudinal variables as well as the neutral values, remember the neutral values can only shift the readings so use those for asymmetrical errors.  The user must changes these variables until the angles match, it should be noted however that these variables are independent of each other so they should be adjusted one at a time. In addition make sure that the D gain of the Pitch loop is set to zero. &lt;br /&gt;
&lt;br /&gt;
Once the users has done this on ground stuff a couple times it may be possible to use their eye to judge angles in the sky and do all the tuning that way. Remember all of the variables can be changed in real time by utilizing the tuning.xml for the settings of the aircraft&lt;br /&gt;
&lt;br /&gt;
===Step3===&lt;br /&gt;
&lt;br /&gt;
Once the plane is at a safe height and in sight turn on the AUTO1 mode. Next look for oscillations in the roll. If there are oscillations in the roll lower the ROLL_PGAIN coefficient until these no longer exist. If there are no oscillations start to raise to coefficients until the point right before oscillations. The point of this process is to maximize the coefficient value to the point right before oscillations occur.  This is the same process that is used to tune the pitch loop except for the coefficient changed is PITCH_PGAIN. However it should be noted that the pitch is far more damped than the roll so it may harder to spot oscillations. The PITCH_PGAIN value is expressed in negative terms so a -10,000 would “higher” than a -6000 variable.&lt;br /&gt;
&lt;br /&gt;
The next step is to test your roll and pitch neutrals. To do this the user must turn on auto1 mode and set the throttle to the nominal throttle value in the airframe file after this is set let go of all sticks and watch to see if the plane flies flat and straight. If this is the case then all is well but if not the user must once again tune the PITCH_ NUETRAL _DEFAULT &amp;amp; ROLL_ NUETRAL _DEFAULT values until the plane flys straight and flat. Next the user must test the maximum and minimum set points of the pitch and roll. This is done by testing in AUTO1, the user must make the plane pitch and roll to maximum and minimum amount that the RC controller allows, this is done by pushing the right stick to its maximum's. These angles however can only be recorded by looking at the plane in the air and guessing. This is not very exact but should give a good value to compare with the user written set points.  The IR_360 variables will probably have to be retuned in air during this last part due to bad sensor data on the ground.&lt;br /&gt;
&lt;br /&gt;
===Step 4===&lt;br /&gt;
&lt;br /&gt;
The final step is to put the plane into auto2 mode and determine if the plane is flying its desired course and altitude correctly. If this is not the case the PGAIN variables of each must be changed to take out oscillations and maximize to right before oscillations. Remember to check your max angle set points to make sure your plane will not over pitch or roll causing instability.&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=OSAM_Tuning_Procedure&amp;diff=15735</id>
		<title>OSAM Tuning Procedure</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=OSAM_Tuning_Procedure&amp;diff=15735"/>
		<updated>2013-08-19T20:05:11Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* Step2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Airframe Tuning Procedure=&lt;br /&gt;
&lt;br /&gt;
==Variable Explanation==&lt;br /&gt;
&lt;br /&gt;
===HORIZ_SENSOR_TILTED===&lt;br /&gt;
&lt;br /&gt;
This Describes whether the IR sensor is titled at a 90 degree angle or 45 degree angle. This meaning if the nose of the plane is facing north when the sensor is at 45 degrees (equals a 1 in the airframe config) the thermopile's do not point north south east and west but rather at a 45 degree offset from those directions. This is the recommended way to configure the IR sensors.&lt;br /&gt;
&lt;br /&gt;
===IR_360_Lateral_Correction &amp;amp; IR_360_Longitudinal_Correction===&lt;br /&gt;
&lt;br /&gt;
Coefficient that corrects the outputs of the IR sensor and is proportional meaning that it is simply multiplied by the sensor reading.&lt;br /&gt;
Longitudinal is the pitch and Lateral is the roll.&lt;br /&gt;
&lt;br /&gt;
===ADC_ROLL_NEUTRAL &amp;amp; ADC_PITCH_NEUTRAL &amp;amp; ADC_TOP_NEUTRAL===&lt;br /&gt;
&lt;br /&gt;
These are the readings from the sensor when it is in a neutral state. This is also characterized by having no temperature difference across each pair of sensors.&lt;br /&gt;
&lt;br /&gt;
===PITCH_NEUTRAL_DEFAULT &amp;amp; ROLL_NEUTRAL_DEFAULT===&lt;br /&gt;
&lt;br /&gt;
The angles which are output when the plane is in the “flat” position. This flat is also known as the angles necessary to make the plane fly flat and straight.&lt;br /&gt;
&lt;br /&gt;
===ROLL_PGAIN &amp;amp; PITCH_PGAIN===&lt;br /&gt;
&lt;br /&gt;
This is the proportional variable in the pitch and roll control loops. &lt;br /&gt;
&lt;br /&gt;
===ROLL_MAX_SETPOINT &amp;amp; PITCH_MAX_SETPOINT &amp;amp; PITCH_MIN_SETPOINT===&lt;br /&gt;
&lt;br /&gt;
These set the maximum and minimum of the roll and pitch. This means that the plane will not be able to roll or pitch past the maximum or minimum angle.&lt;br /&gt;
&lt;br /&gt;
===ALTITIUDE_PGAIN &amp;amp; COURSE_PGAIN===&lt;br /&gt;
&lt;br /&gt;
These are the proportional control variables of the altitude and course loops.&lt;br /&gt;
&lt;br /&gt;
===MAX_ROLL &amp;amp; MAX_PITCH===&lt;br /&gt;
&lt;br /&gt;
These are set in the AUTO1 section of the airframe file and are the maximum allowed pitch and roll in auto1 mode.. These are by default in radians.&lt;br /&gt;
&lt;br /&gt;
===ROLL_MAX_SETPOINT &amp;amp; PITCH_MAX_SETPOINT &amp;amp; PITCH_MIN_SETPOINT===&lt;br /&gt;
&lt;br /&gt;
These are set in the HORIZONTAL CONTROL section of the airframe file and are the maximum and minimum allowed pitch and roll in auto2 mode.. These are by default in radians.&lt;br /&gt;
&lt;br /&gt;
==Procedure==&lt;br /&gt;
&lt;br /&gt;
===Step 1===&lt;br /&gt;
&lt;br /&gt;
Align measured and real angles from the IR sensors. The first step is to take the IR sensors and the fully encase them in foam. Then you must change the ADC neutrals to zero in the airframe file. Once this has been done the user must flash the board then get a connection to the ground station computer and the GUI. Once this has been completed launch the messages agent and view the tab called IR, record the raw sensor values shown. After that disconnect the board and power it down. Finally change the ADC neutrals in the airframe file to the recorded values and re-flash the board. &lt;br /&gt;
&lt;br /&gt;
===Step2===&lt;br /&gt;
&lt;br /&gt;
First you must set the ROLL and PITCH neutrals to zero in the airframe file and then flash the board. Next take the airframe outside with all the necessary &lt;br /&gt;
electronics inside that are needed to fly autonomously. The area which should be used to tune is one without any buildings or large man made objects within 500-1000 ft. This will make the variables far more accurate and save time due to lack of tuning needed in the air. Now place the plane “flat” on a surface so that all the sensors have clear views (aka no man made objects), the vertical sensors should be able to see both the ground and sky. Next connect the plane to the ground station GUI and record the attitude values, once these have been found power down and add the values recorded into the ROLL and PITCH neutrals in the airframe file.&lt;br /&gt;
&lt;br /&gt;
Next, place the pane at an angle of the users choosing and measure the real angle. Remember the IR sensors must have unobstructed views. Now connect the airplane to the GUI and look to see if the reported angle in the messages agent matches the recorded real angle. If these do no match the user must change the 360_Lateral and Longitudinal variables as well as the neutral values, remember the neutral values can only shift the readings so use those for asymmetrical errors.  The user must changes these variables until the angles match, it should be noted however that these variables are independent of each other so they should be adjusted one at a time. In addition make sure that the D gain of the Pitch loop is set to zero. &lt;br /&gt;
&lt;br /&gt;
Once the users has done this on ground stuff a couple times it may be possible to use their eye to judge angles in the sky and do all the tuning that way. Remember all of the variables can be changed in real time by utilizing the tuning.xml for the settings of the aircraft&lt;br /&gt;
&lt;br /&gt;
===Step3===&lt;br /&gt;
&lt;br /&gt;
Once the plane is at a safe height and in sight turn on the AUTO1 mode. Next look for oscillations in the roll. If there are oscillations in the roll lower the ROLL_PGAIN coefficient until these no longer exist. If there are no oscillations start to raise to coefficients until the point right before oscillations. The point of this process is to maximize the coefficient value to the point right before oscillations occur.  This is the same process that is used to tune the pitch loop except for the coefficient changed is PITCH_PGAIN. However it should be noted that the pitch is far more damped than the roll so it may harder to spot oscillations. The PITCH_PGAIN value is expressed in negative terms so a -10,000 would “higher” than a -6000 variable.&lt;br /&gt;
&amp;lt;br&amp;gt;The next step is to test your roll and pitch neutrals. To do this the user must turn on auto1 mode and set the throttle to the nominal throttle value in the airframe file after this is set let go of all sticks and watch to see if the plane flies flat and straight. If this is the case then all is well but if not the user must once again tune the PITCH_ NUETRAL _DEFAULT &amp;amp; ROLL_ NUETRAL _DEFAULT values until the plane flys straight and flat. Next the user must test the maximum and minimum set points of the pitch and roll. This is done by testing in AUTO1, the user must make the plane pitch and roll to maximum and minimum amount that the RC controller allows, this is done by pushing the right stick to its maximum's. These angles however can only be recorded by looking at the plane in the air and guessing. This is not very exact but should give a good value to compare with the user written set points.  The IR_360 variables will probably have to be retuned in air during this last part due to bad sensor data on the ground.&lt;br /&gt;
&lt;br /&gt;
===Step 4===&lt;br /&gt;
&lt;br /&gt;
The final step is to put the plane into auto2 mode and determine if the plane is flying its desired course and altitude correctly. If this is not the case the PGAIN variables of each must be changed to take out oscillations and maximize to right before oscillations. Remember to check your max angle set points to make sure your plane will not over pitch or roll causing instability.&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=OSAM_Tuning_Procedure&amp;diff=15734</id>
		<title>OSAM Tuning Procedure</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=OSAM_Tuning_Procedure&amp;diff=15734"/>
		<updated>2013-08-19T20:04:48Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* ROLL_MAX_SETPOINT &amp;amp; PITCH_MAX_SETPOINT &amp;amp; PITCH_MIN_SETPOINT */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Airframe Tuning Procedure=&lt;br /&gt;
&lt;br /&gt;
==Variable Explanation==&lt;br /&gt;
&lt;br /&gt;
===HORIZ_SENSOR_TILTED===&lt;br /&gt;
&lt;br /&gt;
This Describes whether the IR sensor is titled at a 90 degree angle or 45 degree angle. This meaning if the nose of the plane is facing north when the sensor is at 45 degrees (equals a 1 in the airframe config) the thermopile's do not point north south east and west but rather at a 45 degree offset from those directions. This is the recommended way to configure the IR sensors.&lt;br /&gt;
&lt;br /&gt;
===IR_360_Lateral_Correction &amp;amp; IR_360_Longitudinal_Correction===&lt;br /&gt;
&lt;br /&gt;
Coefficient that corrects the outputs of the IR sensor and is proportional meaning that it is simply multiplied by the sensor reading.&lt;br /&gt;
Longitudinal is the pitch and Lateral is the roll.&lt;br /&gt;
&lt;br /&gt;
===ADC_ROLL_NEUTRAL &amp;amp; ADC_PITCH_NEUTRAL &amp;amp; ADC_TOP_NEUTRAL===&lt;br /&gt;
&lt;br /&gt;
These are the readings from the sensor when it is in a neutral state. This is also characterized by having no temperature difference across each pair of sensors.&lt;br /&gt;
&lt;br /&gt;
===PITCH_NEUTRAL_DEFAULT &amp;amp; ROLL_NEUTRAL_DEFAULT===&lt;br /&gt;
&lt;br /&gt;
The angles which are output when the plane is in the “flat” position. This flat is also known as the angles necessary to make the plane fly flat and straight.&lt;br /&gt;
&lt;br /&gt;
===ROLL_PGAIN &amp;amp; PITCH_PGAIN===&lt;br /&gt;
&lt;br /&gt;
This is the proportional variable in the pitch and roll control loops. &lt;br /&gt;
&lt;br /&gt;
===ROLL_MAX_SETPOINT &amp;amp; PITCH_MAX_SETPOINT &amp;amp; PITCH_MIN_SETPOINT===&lt;br /&gt;
&lt;br /&gt;
These set the maximum and minimum of the roll and pitch. This means that the plane will not be able to roll or pitch past the maximum or minimum angle.&lt;br /&gt;
&lt;br /&gt;
===ALTITIUDE_PGAIN &amp;amp; COURSE_PGAIN===&lt;br /&gt;
&lt;br /&gt;
These are the proportional control variables of the altitude and course loops.&lt;br /&gt;
&lt;br /&gt;
===MAX_ROLL &amp;amp; MAX_PITCH===&lt;br /&gt;
&lt;br /&gt;
These are set in the AUTO1 section of the airframe file and are the maximum allowed pitch and roll in auto1 mode.. These are by default in radians.&lt;br /&gt;
&lt;br /&gt;
===ROLL_MAX_SETPOINT &amp;amp; PITCH_MAX_SETPOINT &amp;amp; PITCH_MIN_SETPOINT===&lt;br /&gt;
&lt;br /&gt;
These are set in the HORIZONTAL CONTROL section of the airframe file and are the maximum and minimum allowed pitch and roll in auto2 mode.. These are by default in radians.&lt;br /&gt;
&lt;br /&gt;
==Procedure==&lt;br /&gt;
&lt;br /&gt;
===Step 1===&lt;br /&gt;
&lt;br /&gt;
Align measured and real angles from the IR sensors. The first step is to take the IR sensors and the fully encase them in foam. Then you must change the ADC neutrals to zero in the airframe file. Once this has been done the user must flash the board then get a connection to the ground station computer and the GUI. Once this has been completed launch the messages agent and view the tab called IR, record the raw sensor values shown. After that disconnect the board and power it down. Finally change the ADC neutrals in the airframe file to the recorded values and re-flash the board. &lt;br /&gt;
&lt;br /&gt;
===Step2===&lt;br /&gt;
&lt;br /&gt;
First you must set the ROLL and PITCH neutrals to zero in the airframe file and then flash the board. Next take the airframe outside with all the necessary &lt;br /&gt;
electronics inside that are needed to fly autonomously. The area which should be used to tune is one without any buildings or large man made objects within 500-1000 ft. This will make the variables far more accurate and save time due to lack of tuning needed in the air. Now place the plane “flat” on a surface so that all the sensors have clear views (aka no man made objects), the vertical sensors should be able to see both the ground and sky. Next connect the plane to the ground station GUI and record the attitude values, once these have been found power down and add the values recorded into the ROLL and PITCH neutrals in the airframe file.&amp;lt;br&amp;gt; &lt;br /&gt;
Next, place the pane at an angle of the users choosing and measure the real angle. Remember the IR sensors must have unobstructed views. Now connect the airplane to the GUI and look to see if the reported angle in the messages agent matches the recorded real angle. If these do no match the user must change the 360_Lateral and Longitudinal variables as well as the neutral values, remember the neutral values can only shift the readings so use those for asymmetrical errors.  The user must changes these variables until the angles match, it should be noted however that these variables are independent of each other so they should be adjusted one at a time. In addition make sure that the D gain of the Pitch loop is set to zero. &lt;br /&gt;
&amp;lt;br&amp;gt;Once the users has done this on ground stuff a couple times it may be possible to use their eye to judge angles in the sky and do all the tuning that way. Remember all of the variables can be changed in real time by utilizing the tuning.xml for the settings of the aircraft&lt;br /&gt;
&lt;br /&gt;
===Step3===&lt;br /&gt;
&lt;br /&gt;
Once the plane is at a safe height and in sight turn on the AUTO1 mode. Next look for oscillations in the roll. If there are oscillations in the roll lower the ROLL_PGAIN coefficient until these no longer exist. If there are no oscillations start to raise to coefficients until the point right before oscillations. The point of this process is to maximize the coefficient value to the point right before oscillations occur.  This is the same process that is used to tune the pitch loop except for the coefficient changed is PITCH_PGAIN. However it should be noted that the pitch is far more damped than the roll so it may harder to spot oscillations. The PITCH_PGAIN value is expressed in negative terms so a -10,000 would “higher” than a -6000 variable.&lt;br /&gt;
&amp;lt;br&amp;gt;The next step is to test your roll and pitch neutrals. To do this the user must turn on auto1 mode and set the throttle to the nominal throttle value in the airframe file after this is set let go of all sticks and watch to see if the plane flies flat and straight. If this is the case then all is well but if not the user must once again tune the PITCH_ NUETRAL _DEFAULT &amp;amp; ROLL_ NUETRAL _DEFAULT values until the plane flys straight and flat. Next the user must test the maximum and minimum set points of the pitch and roll. This is done by testing in AUTO1, the user must make the plane pitch and roll to maximum and minimum amount that the RC controller allows, this is done by pushing the right stick to its maximum's. These angles however can only be recorded by looking at the plane in the air and guessing. This is not very exact but should give a good value to compare with the user written set points.  The IR_360 variables will probably have to be retuned in air during this last part due to bad sensor data on the ground.&lt;br /&gt;
&lt;br /&gt;
===Step 4===&lt;br /&gt;
&lt;br /&gt;
The final step is to put the plane into auto2 mode and determine if the plane is flying its desired course and altitude correctly. If this is not the case the PGAIN variables of each must be changed to take out oscillations and maximize to right before oscillations. Remember to check your max angle set points to make sure your plane will not over pitch or roll causing instability.&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=OSAM_Tuning_Procedure&amp;diff=15733</id>
		<title>OSAM Tuning Procedure</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=OSAM_Tuning_Procedure&amp;diff=15733"/>
		<updated>2013-08-19T20:04:36Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* HORIZ_SENSOR_TILTED */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Airframe Tuning Procedure=&lt;br /&gt;
&lt;br /&gt;
==Variable Explanation==&lt;br /&gt;
&lt;br /&gt;
===HORIZ_SENSOR_TILTED===&lt;br /&gt;
&lt;br /&gt;
This Describes whether the IR sensor is titled at a 90 degree angle or 45 degree angle. This meaning if the nose of the plane is facing north when the sensor is at 45 degrees (equals a 1 in the airframe config) the thermopile's do not point north south east and west but rather at a 45 degree offset from those directions. This is the recommended way to configure the IR sensors.&lt;br /&gt;
&lt;br /&gt;
===IR_360_Lateral_Correction &amp;amp; IR_360_Longitudinal_Correction===&lt;br /&gt;
&lt;br /&gt;
Coefficient that corrects the outputs of the IR sensor and is proportional meaning that it is simply multiplied by the sensor reading.&lt;br /&gt;
Longitudinal is the pitch and Lateral is the roll.&lt;br /&gt;
&lt;br /&gt;
===ADC_ROLL_NEUTRAL &amp;amp; ADC_PITCH_NEUTRAL &amp;amp; ADC_TOP_NEUTRAL===&lt;br /&gt;
&lt;br /&gt;
These are the readings from the sensor when it is in a neutral state. This is also characterized by having no temperature difference across each pair of sensors.&lt;br /&gt;
&lt;br /&gt;
===PITCH_NEUTRAL_DEFAULT &amp;amp; ROLL_NEUTRAL_DEFAULT===&lt;br /&gt;
&lt;br /&gt;
The angles which are output when the plane is in the “flat” position. This flat is also known as the angles necessary to make the plane fly flat and straight.&lt;br /&gt;
&lt;br /&gt;
===ROLL_PGAIN &amp;amp; PITCH_PGAIN===&lt;br /&gt;
&lt;br /&gt;
This is the proportional variable in the pitch and roll control loops. &lt;br /&gt;
&lt;br /&gt;
===ROLL_MAX_SETPOINT &amp;amp; PITCH_MAX_SETPOINT &amp;amp; PITCH_MIN_SETPOINT===&lt;br /&gt;
&lt;br /&gt;
These set the maximum and minimum of the roll and pitch. This means that the plane will not be able to roll or pitch past the maximum&amp;lt;br&amp;gt;or minimum angle.&lt;br /&gt;
&lt;br /&gt;
===ALTITIUDE_PGAIN &amp;amp; COURSE_PGAIN===&lt;br /&gt;
&lt;br /&gt;
These are the proportional control variables of the altitude and course loops.&lt;br /&gt;
&lt;br /&gt;
===MAX_ROLL &amp;amp; MAX_PITCH===&lt;br /&gt;
&lt;br /&gt;
These are set in the AUTO1 section of the airframe file and are the maximum allowed pitch and roll in auto1 mode.. These are by default in radians.&lt;br /&gt;
&lt;br /&gt;
===ROLL_MAX_SETPOINT &amp;amp; PITCH_MAX_SETPOINT &amp;amp; PITCH_MIN_SETPOINT===&lt;br /&gt;
&lt;br /&gt;
These are set in the HORIZONTAL CONTROL section of the airframe file and are the maximum and minimum allowed pitch and roll in auto2 mode.. These are by default in radians.&lt;br /&gt;
&lt;br /&gt;
==Procedure==&lt;br /&gt;
&lt;br /&gt;
===Step 1===&lt;br /&gt;
&lt;br /&gt;
Align measured and real angles from the IR sensors. The first step is to take the IR sensors and the fully encase them in foam. Then you must change the ADC neutrals to zero in the airframe file. Once this has been done the user must flash the board then get a connection to the ground station computer and the GUI. Once this has been completed launch the messages agent and view the tab called IR, record the raw sensor values shown. After that disconnect the board and power it down. Finally change the ADC neutrals in the airframe file to the recorded values and re-flash the board. &lt;br /&gt;
&lt;br /&gt;
===Step2===&lt;br /&gt;
&lt;br /&gt;
First you must set the ROLL and PITCH neutrals to zero in the airframe file and then flash the board. Next take the airframe outside with all the necessary &lt;br /&gt;
electronics inside that are needed to fly autonomously. The area which should be used to tune is one without any buildings or large man made objects within 500-1000 ft. This will make the variables far more accurate and save time due to lack of tuning needed in the air. Now place the plane “flat” on a surface so that all the sensors have clear views (aka no man made objects), the vertical sensors should be able to see both the ground and sky. Next connect the plane to the ground station GUI and record the attitude values, once these have been found power down and add the values recorded into the ROLL and PITCH neutrals in the airframe file.&amp;lt;br&amp;gt; &lt;br /&gt;
Next, place the pane at an angle of the users choosing and measure the real angle. Remember the IR sensors must have unobstructed views. Now connect the airplane to the GUI and look to see if the reported angle in the messages agent matches the recorded real angle. If these do no match the user must change the 360_Lateral and Longitudinal variables as well as the neutral values, remember the neutral values can only shift the readings so use those for asymmetrical errors.  The user must changes these variables until the angles match, it should be noted however that these variables are independent of each other so they should be adjusted one at a time. In addition make sure that the D gain of the Pitch loop is set to zero. &lt;br /&gt;
&amp;lt;br&amp;gt;Once the users has done this on ground stuff a couple times it may be possible to use their eye to judge angles in the sky and do all the tuning that way. Remember all of the variables can be changed in real time by utilizing the tuning.xml for the settings of the aircraft&lt;br /&gt;
&lt;br /&gt;
===Step3===&lt;br /&gt;
&lt;br /&gt;
Once the plane is at a safe height and in sight turn on the AUTO1 mode. Next look for oscillations in the roll. If there are oscillations in the roll lower the ROLL_PGAIN coefficient until these no longer exist. If there are no oscillations start to raise to coefficients until the point right before oscillations. The point of this process is to maximize the coefficient value to the point right before oscillations occur.  This is the same process that is used to tune the pitch loop except for the coefficient changed is PITCH_PGAIN. However it should be noted that the pitch is far more damped than the roll so it may harder to spot oscillations. The PITCH_PGAIN value is expressed in negative terms so a -10,000 would “higher” than a -6000 variable.&lt;br /&gt;
&amp;lt;br&amp;gt;The next step is to test your roll and pitch neutrals. To do this the user must turn on auto1 mode and set the throttle to the nominal throttle value in the airframe file after this is set let go of all sticks and watch to see if the plane flies flat and straight. If this is the case then all is well but if not the user must once again tune the PITCH_ NUETRAL _DEFAULT &amp;amp; ROLL_ NUETRAL _DEFAULT values until the plane flys straight and flat. Next the user must test the maximum and minimum set points of the pitch and roll. This is done by testing in AUTO1, the user must make the plane pitch and roll to maximum and minimum amount that the RC controller allows, this is done by pushing the right stick to its maximum's. These angles however can only be recorded by looking at the plane in the air and guessing. This is not very exact but should give a good value to compare with the user written set points.  The IR_360 variables will probably have to be retuned in air during this last part due to bad sensor data on the ground.&lt;br /&gt;
&lt;br /&gt;
===Step 4===&lt;br /&gt;
&lt;br /&gt;
The final step is to put the plane into auto2 mode and determine if the plane is flying its desired course and altitude correctly. If this is not the case the PGAIN variables of each must be changed to take out oscillations and maximize to right before oscillations. Remember to check your max angle set points to make sure your plane will not over pitch or roll causing instability.&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=OSAM_Tuning_Procedure&amp;diff=15732</id>
		<title>OSAM Tuning Procedure</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=OSAM_Tuning_Procedure&amp;diff=15732"/>
		<updated>2013-08-19T20:00:12Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* PITCH_NEUTRAL_DEFAULT &amp;amp; ROLL_NUETRAL_DEFAULT */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Airframe Tuning Procedure=&lt;br /&gt;
&lt;br /&gt;
==Variable Explanation==&lt;br /&gt;
&lt;br /&gt;
===HORIZ_SENSOR_TILTED===&lt;br /&gt;
&lt;br /&gt;
This Describes whether the IR sensor is titled at a 90 degree angle or 45 degree angle. This meaning if the nose of the plane is&amp;lt;br&amp;gt;facing north when the sensor is at 45 degrees (equals a 1 in the airframe config) the thermopile's do not point north south east and west but rather at a 45 degree offset from those directions. This is the recommended way to configure the IR sensors.&lt;br /&gt;
&lt;br /&gt;
===IR_360_Lateral_Correction &amp;amp; IR_360_Longitudinal_Correction===&lt;br /&gt;
&lt;br /&gt;
Coefficient that corrects the outputs of the IR sensor and is proportional meaning that it is simply multiplied by the sensor reading.&lt;br /&gt;
Longitudinal is the pitch and Lateral is the roll.&lt;br /&gt;
&lt;br /&gt;
===ADC_ROLL_NEUTRAL &amp;amp; ADC_PITCH_NEUTRAL &amp;amp; ADC_TOP_NEUTRAL===&lt;br /&gt;
&lt;br /&gt;
These are the readings from the sensor when it is in a neutral state. This is also characterized by having no temperature difference across each pair of sensors.&lt;br /&gt;
&lt;br /&gt;
===PITCH_NEUTRAL_DEFAULT &amp;amp; ROLL_NEUTRAL_DEFAULT===&lt;br /&gt;
&lt;br /&gt;
The angles which are output when the plane is in the “flat” position. This flat is also known as the angles necessary to make the plane fly flat and straight.&lt;br /&gt;
&lt;br /&gt;
===ROLL_PGAIN &amp;amp; PITCH_PGAIN===&lt;br /&gt;
&lt;br /&gt;
This is the proportional variable in the pitch and roll control loops. &lt;br /&gt;
&lt;br /&gt;
===ROLL_MAX_SETPOINT &amp;amp; PITCH_MAX_SETPOINT &amp;amp; PITCH_MIN_SETPOINT===&lt;br /&gt;
&lt;br /&gt;
These set the maximum and minimum of the roll and pitch. This means that the plane will not be able to roll or pitch past the maximum&amp;lt;br&amp;gt;or minimum angle.&lt;br /&gt;
&lt;br /&gt;
===ALTITIUDE_PGAIN &amp;amp; COURSE_PGAIN===&lt;br /&gt;
&lt;br /&gt;
These are the proportional control variables of the altitude and course loops.&lt;br /&gt;
&lt;br /&gt;
===MAX_ROLL &amp;amp; MAX_PITCH===&lt;br /&gt;
&lt;br /&gt;
These are set in the AUTO1 section of the airframe file and are the maximum allowed pitch and roll in auto1 mode.. These are by default in radians.&lt;br /&gt;
&lt;br /&gt;
===ROLL_MAX_SETPOINT &amp;amp; PITCH_MAX_SETPOINT &amp;amp; PITCH_MIN_SETPOINT===&lt;br /&gt;
&lt;br /&gt;
These are set in the HORIZONTAL CONTROL section of the airframe file and are the maximum and minimum allowed pitch and roll in auto2 mode.. These are by default in radians.&lt;br /&gt;
&lt;br /&gt;
==Procedure==&lt;br /&gt;
&lt;br /&gt;
===Step 1===&lt;br /&gt;
&lt;br /&gt;
Align measured and real angles from the IR sensors. The first step is to take the IR sensors and the fully encase them in foam. Then you must change the ADC neutrals to zero in the airframe file. Once this has been done the user must flash the board then get a connection to the ground station computer and the GUI. Once this has been completed launch the messages agent and view the tab called IR, record the raw sensor values shown. After that disconnect the board and power it down. Finally change the ADC neutrals in the airframe file to the recorded values and re-flash the board. &lt;br /&gt;
&lt;br /&gt;
===Step2===&lt;br /&gt;
&lt;br /&gt;
First you must set the ROLL and PITCH neutrals to zero in the airframe file and then flash the board. Next take the airframe outside with all the necessary &lt;br /&gt;
electronics inside that are needed to fly autonomously. The area which should be used to tune is one without any buildings or large man made objects within 500-1000 ft. This will make the variables far more accurate and save time due to lack of tuning needed in the air. Now place the plane “flat” on a surface so that all the sensors have clear views (aka no man made objects), the vertical sensors should be able to see both the ground and sky. Next connect the plane to the ground station GUI and record the attitude values, once these have been found power down and add the values recorded into the ROLL and PITCH neutrals in the airframe file.&amp;lt;br&amp;gt; &lt;br /&gt;
Next, place the pane at an angle of the users choosing and measure the real angle. Remember the IR sensors must have unobstructed views. Now connect the airplane to the GUI and look to see if the reported angle in the messages agent matches the recorded real angle. If these do no match the user must change the 360_Lateral and Longitudinal variables as well as the neutral values, remember the neutral values can only shift the readings so use those for asymmetrical errors.  The user must changes these variables until the angles match, it should be noted however that these variables are independent of each other so they should be adjusted one at a time. In addition make sure that the D gain of the Pitch loop is set to zero. &lt;br /&gt;
&amp;lt;br&amp;gt;Once the users has done this on ground stuff a couple times it may be possible to use their eye to judge angles in the sky and do all the tuning that way. Remember all of the variables can be changed in real time by utilizing the tuning.xml for the settings of the aircraft&lt;br /&gt;
&lt;br /&gt;
===Step3===&lt;br /&gt;
&lt;br /&gt;
Once the plane is at a safe height and in sight turn on the AUTO1 mode. Next look for oscillations in the roll. If there are oscillations in the roll lower the ROLL_PGAIN coefficient until these no longer exist. If there are no oscillations start to raise to coefficients until the point right before oscillations. The point of this process is to maximize the coefficient value to the point right before oscillations occur.  This is the same process that is used to tune the pitch loop except for the coefficient changed is PITCH_PGAIN. However it should be noted that the pitch is far more damped than the roll so it may harder to spot oscillations. The PITCH_PGAIN value is expressed in negative terms so a -10,000 would “higher” than a -6000 variable.&lt;br /&gt;
&amp;lt;br&amp;gt;The next step is to test your roll and pitch neutrals. To do this the user must turn on auto1 mode and set the throttle to the nominal throttle value in the airframe file after this is set let go of all sticks and watch to see if the plane flies flat and straight. If this is the case then all is well but if not the user must once again tune the PITCH_ NUETRAL _DEFAULT &amp;amp; ROLL_ NUETRAL _DEFAULT values until the plane flys straight and flat. Next the user must test the maximum and minimum set points of the pitch and roll. This is done by testing in AUTO1, the user must make the plane pitch and roll to maximum and minimum amount that the RC controller allows, this is done by pushing the right stick to its maximum's. These angles however can only be recorded by looking at the plane in the air and guessing. This is not very exact but should give a good value to compare with the user written set points.  The IR_360 variables will probably have to be retuned in air during this last part due to bad sensor data on the ground.&lt;br /&gt;
&lt;br /&gt;
===Step 4===&lt;br /&gt;
&lt;br /&gt;
The final step is to put the plane into auto2 mode and determine if the plane is flying its desired course and altitude correctly. If this is not the case the PGAIN variables of each must be changed to take out oscillations and maximize to right before oscillations. Remember to check your max angle set points to make sure your plane will not over pitch or roll causing instability.&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=OSAM_Tuning_Procedure&amp;diff=15731</id>
		<title>OSAM Tuning Procedure</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=OSAM_Tuning_Procedure&amp;diff=15731"/>
		<updated>2013-08-19T19:59:58Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* Variable Explanation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Airframe Tuning Procedure=&lt;br /&gt;
&lt;br /&gt;
==Variable Explanation==&lt;br /&gt;
&lt;br /&gt;
===HORIZ_SENSOR_TILTED===&lt;br /&gt;
&lt;br /&gt;
This Describes whether the IR sensor is titled at a 90 degree angle or 45 degree angle. This meaning if the nose of the plane is&amp;lt;br&amp;gt;facing north when the sensor is at 45 degrees (equals a 1 in the airframe config) the thermopile's do not point north south east and west but rather at a 45 degree offset from those directions. This is the recommended way to configure the IR sensors.&lt;br /&gt;
&lt;br /&gt;
===IR_360_Lateral_Correction &amp;amp; IR_360_Longitudinal_Correction===&lt;br /&gt;
&lt;br /&gt;
Coefficient that corrects the outputs of the IR sensor and is proportional meaning that it is simply multiplied by the sensor reading.&lt;br /&gt;
Longitudinal is the pitch and Lateral is the roll.&lt;br /&gt;
&lt;br /&gt;
===ADC_ROLL_NEUTRAL &amp;amp; ADC_PITCH_NEUTRAL &amp;amp; ADC_TOP_NEUTRAL===&lt;br /&gt;
&lt;br /&gt;
These are the readings from the sensor when it is in a neutral state. This is also characterized by having no temperature difference across each pair of sensors.&lt;br /&gt;
&lt;br /&gt;
===PITCH_NEUTRAL_DEFAULT &amp;amp; ROLL_NUETRAL_DEFAULT===&lt;br /&gt;
&lt;br /&gt;
The angles which are output when the plane is in the “flat” position. This flat is also known as the angles necessary to make the plane fly flat and straight.&lt;br /&gt;
&lt;br /&gt;
===ROLL_PGAIN &amp;amp; PITCH_PGAIN===&lt;br /&gt;
&lt;br /&gt;
This is the proportional variable in the pitch and roll control loops. &lt;br /&gt;
&lt;br /&gt;
===ROLL_MAX_SETPOINT &amp;amp; PITCH_MAX_SETPOINT &amp;amp; PITCH_MIN_SETPOINT===&lt;br /&gt;
&lt;br /&gt;
These set the maximum and minimum of the roll and pitch. This means that the plane will not be able to roll or pitch past the maximum&amp;lt;br&amp;gt;or minimum angle.&lt;br /&gt;
&lt;br /&gt;
===ALTITIUDE_PGAIN &amp;amp; COURSE_PGAIN===&lt;br /&gt;
&lt;br /&gt;
These are the proportional control variables of the altitude and course loops.&lt;br /&gt;
&lt;br /&gt;
===MAX_ROLL &amp;amp; MAX_PITCH===&lt;br /&gt;
&lt;br /&gt;
These are set in the AUTO1 section of the airframe file and are the maximum allowed pitch and roll in auto1 mode.. These are by default in radians.&lt;br /&gt;
&lt;br /&gt;
===ROLL_MAX_SETPOINT &amp;amp; PITCH_MAX_SETPOINT &amp;amp; PITCH_MIN_SETPOINT===&lt;br /&gt;
&lt;br /&gt;
These are set in the HORIZONTAL CONTROL section of the airframe file and are the maximum and minimum allowed pitch and roll in auto2 mode.. These are by default in radians.&lt;br /&gt;
&lt;br /&gt;
==Procedure==&lt;br /&gt;
&lt;br /&gt;
===Step 1===&lt;br /&gt;
&lt;br /&gt;
Align measured and real angles from the IR sensors. The first step is to take the IR sensors and the fully encase them in foam. Then you must change the ADC neutrals to zero in the airframe file. Once this has been done the user must flash the board then get a connection to the ground station computer and the GUI. Once this has been completed launch the messages agent and view the tab called IR, record the raw sensor values shown. After that disconnect the board and power it down. Finally change the ADC neutrals in the airframe file to the recorded values and re-flash the board. &lt;br /&gt;
&lt;br /&gt;
===Step2===&lt;br /&gt;
&lt;br /&gt;
First you must set the ROLL and PITCH neutrals to zero in the airframe file and then flash the board. Next take the airframe outside with all the necessary &lt;br /&gt;
electronics inside that are needed to fly autonomously. The area which should be used to tune is one without any buildings or large man made objects within 500-1000 ft. This will make the variables far more accurate and save time due to lack of tuning needed in the air. Now place the plane “flat” on a surface so that all the sensors have clear views (aka no man made objects), the vertical sensors should be able to see both the ground and sky. Next connect the plane to the ground station GUI and record the attitude values, once these have been found power down and add the values recorded into the ROLL and PITCH neutrals in the airframe file.&amp;lt;br&amp;gt; &lt;br /&gt;
Next, place the pane at an angle of the users choosing and measure the real angle. Remember the IR sensors must have unobstructed views. Now connect the airplane to the GUI and look to see if the reported angle in the messages agent matches the recorded real angle. If these do no match the user must change the 360_Lateral and Longitudinal variables as well as the neutral values, remember the neutral values can only shift the readings so use those for asymmetrical errors.  The user must changes these variables until the angles match, it should be noted however that these variables are independent of each other so they should be adjusted one at a time. In addition make sure that the D gain of the Pitch loop is set to zero. &lt;br /&gt;
&amp;lt;br&amp;gt;Once the users has done this on ground stuff a couple times it may be possible to use their eye to judge angles in the sky and do all the tuning that way. Remember all of the variables can be changed in real time by utilizing the tuning.xml for the settings of the aircraft&lt;br /&gt;
&lt;br /&gt;
===Step3===&lt;br /&gt;
&lt;br /&gt;
Once the plane is at a safe height and in sight turn on the AUTO1 mode. Next look for oscillations in the roll. If there are oscillations in the roll lower the ROLL_PGAIN coefficient until these no longer exist. If there are no oscillations start to raise to coefficients until the point right before oscillations. The point of this process is to maximize the coefficient value to the point right before oscillations occur.  This is the same process that is used to tune the pitch loop except for the coefficient changed is PITCH_PGAIN. However it should be noted that the pitch is far more damped than the roll so it may harder to spot oscillations. The PITCH_PGAIN value is expressed in negative terms so a -10,000 would “higher” than a -6000 variable.&lt;br /&gt;
&amp;lt;br&amp;gt;The next step is to test your roll and pitch neutrals. To do this the user must turn on auto1 mode and set the throttle to the nominal throttle value in the airframe file after this is set let go of all sticks and watch to see if the plane flies flat and straight. If this is the case then all is well but if not the user must once again tune the PITCH_ NUETRAL _DEFAULT &amp;amp; ROLL_ NUETRAL _DEFAULT values until the plane flys straight and flat. Next the user must test the maximum and minimum set points of the pitch and roll. This is done by testing in AUTO1, the user must make the plane pitch and roll to maximum and minimum amount that the RC controller allows, this is done by pushing the right stick to its maximum's. These angles however can only be recorded by looking at the plane in the air and guessing. This is not very exact but should give a good value to compare with the user written set points.  The IR_360 variables will probably have to be retuned in air during this last part due to bad sensor data on the ground.&lt;br /&gt;
&lt;br /&gt;
===Step 4===&lt;br /&gt;
&lt;br /&gt;
The final step is to put the plane into auto2 mode and determine if the plane is flying its desired course and altitude correctly. If this is not the case the PGAIN variables of each must be changed to take out oscillations and maximize to right before oscillations. Remember to check your max angle set points to make sure your plane will not over pitch or roll causing instability.&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=OSAM_Tuning_Procedure&amp;diff=15730</id>
		<title>OSAM Tuning Procedure</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=OSAM_Tuning_Procedure&amp;diff=15730"/>
		<updated>2013-08-19T19:58:38Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Airframe Tuning Procedure=&lt;br /&gt;
&lt;br /&gt;
==Variable Explanation==&lt;br /&gt;
&lt;br /&gt;
===HORIZ_SENSOR_TILTED===&lt;br /&gt;
&lt;br /&gt;
This Describes whether the IR sensor is titled at a 90 degree angle or 45 degree angle. This meaning if the nose of the plane is&amp;lt;br&amp;gt;facing north when the sensor is at 45 degrees (equals a 1 in the airframe config) the thermopile's do not point north south east and&amp;lt;br&amp;gt;west but rather at a 45 degree offset from those directions. This is the recommended way to configure the IR sensors.&lt;br /&gt;
&lt;br /&gt;
===IR_360_Lateral_Correction &amp;amp; IR_360_ Longitudinal_Correction===&lt;br /&gt;
&lt;br /&gt;
Coefficient that corrects the outputs of the IR sensor and is proportional meaning that it is simply multiplied by the sensor reading.&amp;lt;br&amp;gt;Longitudinal is the pitch and Lateral is the roll.&lt;br /&gt;
&lt;br /&gt;
===ADC_ROLL_NUETRAL &amp;amp; ADC_PITCH_NUETRAL &amp;amp; ADC_TOP_NUETRAL===&lt;br /&gt;
&lt;br /&gt;
These are the readings from the sensor when it is in a neutral state. This is also characterized by having no temperature difference&amp;lt;br&amp;gt;across each pair of sensors.&lt;br /&gt;
&lt;br /&gt;
===PITCH_ NUETRAL _DEFAULT &amp;amp; ROLL_ NUETRAL _DEFAULT===&lt;br /&gt;
&lt;br /&gt;
The angles which are output when the plane is in the “flat” position. This flat is also known as the angles necessary to make the&amp;lt;br&amp;gt;plane fly flat and straight.&lt;br /&gt;
&lt;br /&gt;
===ROLL_PGAIN &amp;amp; PITCH_PGAIN===&lt;br /&gt;
&lt;br /&gt;
This is the proportional variable in the pitch and roll control loops. &lt;br /&gt;
&lt;br /&gt;
===ROLL_MAX_SETPOINT &amp;amp; PITCH_MAX_SETPOINT &amp;amp; PITCH_MIN_SETPOINT===&lt;br /&gt;
&lt;br /&gt;
These set the maximum and minimum of the roll and pitch. This means that the plane will not be able to roll or pitch past the maximum&amp;lt;br&amp;gt;or minimum angle.&lt;br /&gt;
&lt;br /&gt;
===ALTITIUDE_PGAIN &amp;amp; COURSE_PGAIN===&lt;br /&gt;
&lt;br /&gt;
These are the proportional control variables of the altitude and course loops.&lt;br /&gt;
&lt;br /&gt;
===MAX_ROLL &amp;amp; MAX_PITCH===&lt;br /&gt;
&lt;br /&gt;
These are set in the AUTO1 section of the airframe file and are the maximum allowed pitch and roll in auto1 mode.. These are by&amp;lt;br&amp;gt;default in radians.&lt;br /&gt;
&lt;br /&gt;
===ROLL_MAX_SETPOINT &amp;amp; PITCH_MAX_SETPOINT &amp;amp; PITCH_MIN_SETPOINT===&lt;br /&gt;
&lt;br /&gt;
These are set in the HORIZONTAL CONTROL section of the airframe file and are the maximum and minimum allowed pitch and roll in auto2&amp;lt;br&amp;gt;mode.. These are by default in radians.&lt;br /&gt;
&lt;br /&gt;
==Procedure==&lt;br /&gt;
&lt;br /&gt;
===Step 1===&lt;br /&gt;
&lt;br /&gt;
Align measured and real angles from the IR sensors. The first step is to take the IR sensors and the fully encase them in foam. Then you must change the ADC neutrals to zero in the airframe file. Once this has been done the user must flash the board then get a connection to the ground station computer and the GUI. Once this has been completed launch the messages agent and view the tab called IR, record the raw sensor values shown. After that disconnect the board and power it down. Finally change the ADC neutrals in the airframe file to the recorded values and re-flash the board. &lt;br /&gt;
&lt;br /&gt;
===Step2===&lt;br /&gt;
&lt;br /&gt;
First you must set the ROLL and PITCH neutrals to zero in the airframe file and then flash the board. Next take the airframe outside with all the necessary &lt;br /&gt;
electronics inside that are needed to fly autonomously. The area which should be used to tune is one without any buildings or large man made objects within 500-1000 ft. This will make the variables far more accurate and save time due to lack of tuning needed in the air. Now place the plane “flat” on a surface so that all the sensors have clear views (aka no man made objects), the vertical sensors should be able to see both the ground and sky. Next connect the plane to the ground station GUI and record the attitude values, once these have been found power down and add the values recorded into the ROLL and PITCH neutrals in the airframe file.&amp;lt;br&amp;gt; &lt;br /&gt;
Next, place the pane at an angle of the users choosing and measure the real angle. Remember the IR sensors must have unobstructed views. Now connect the airplane to the GUI and look to see if the reported angle in the messages agent matches the recorded real angle. If these do no match the user must change the 360_Lateral and Longitudinal variables as well as the neutral values, remember the neutral values can only shift the readings so use those for asymmetrical errors.  The user must changes these variables until the angles match, it should be noted however that these variables are independent of each other so they should be adjusted one at a time. In addition make sure that the D gain of the Pitch loop is set to zero. &lt;br /&gt;
&amp;lt;br&amp;gt;Once the users has done this on ground stuff a couple times it may be possible to use their eye to judge angles in the sky and do all the tuning that way. Remember all of the variables can be changed in real time by utilizing the tuning.xml for the settings of the aircraft&lt;br /&gt;
&lt;br /&gt;
===Step3===&lt;br /&gt;
&lt;br /&gt;
Once the plane is at a safe height and in sight turn on the AUTO1 mode. Next look for oscillations in the roll. If there are oscillations in the roll lower the ROLL_PGAIN coefficient until these no longer exist. If there are no oscillations start to raise to coefficients until the point right before oscillations. The point of this process is to maximize the coefficient value to the point right before oscillations occur.  This is the same process that is used to tune the pitch loop except for the coefficient changed is PITCH_PGAIN. However it should be noted that the pitch is far more damped than the roll so it may harder to spot oscillations. The PITCH_PGAIN value is expressed in negative terms so a -10,000 would “higher” than a -6000 variable.&lt;br /&gt;
&amp;lt;br&amp;gt;The next step is to test your roll and pitch neutrals. To do this the user must turn on auto1 mode and set the throttle to the nominal throttle value in the airframe file after this is set let go of all sticks and watch to see if the plane flies flat and straight. If this is the case then all is well but if not the user must once again tune the PITCH_ NUETRAL _DEFAULT &amp;amp; ROLL_ NUETRAL _DEFAULT values until the plane flys straight and flat. Next the user must test the maximum and minimum set points of the pitch and roll. This is done by testing in AUTO1, the user must make the plane pitch and roll to maximum and minimum amount that the RC controller allows, this is done by pushing the right stick to its maximum's. These angles however can only be recorded by looking at the plane in the air and guessing. This is not very exact but should give a good value to compare with the user written set points.  The IR_360 variables will probably have to be retuned in air during this last part due to bad sensor data on the ground.&lt;br /&gt;
&lt;br /&gt;
===Step 4===&lt;br /&gt;
&lt;br /&gt;
The final step is to put the plane into auto2 mode and determine if the plane is flying its desired course and altitude correctly. If this is not the case the PGAIN variables of each must be changed to take out oscillations and maximize to right before oscillations. Remember to check your max angle set points to make sure your plane will not over pitch or roll causing instability.&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=OSAM_Tuning_Procedure&amp;diff=15729</id>
		<title>OSAM Tuning Procedure</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=OSAM_Tuning_Procedure&amp;diff=15729"/>
		<updated>2013-08-19T19:53:41Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;padding:6px;&amp;quot;&amp;gt;{{OSAMHeader}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Airframe Tuning Procedure&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Variable Explanation&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;HORIZ_SENSOR_TILTED&amp;lt;/h3&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
 This Describes whether the IR sensor is titled at a 90 degree angle or 45 degree angle. This meaning if the nose of the plane is&amp;lt;br&amp;gt;facing north when the sensor is at 45 degrees (equals a 1 in the airframe config) the thermopile's do not point north south east and&amp;lt;br&amp;gt;west but rather at a 45 degree offset from those directions. This is the recommended way to configure the IR sensors.&lt;br /&gt;
&lt;br /&gt;
'''IR_360_Lateral_Correction &amp;amp; IR_360_ Longitudinal_Correction'''&lt;br /&gt;
&lt;br /&gt;
Coefficient that corrects the outputs of the IR sensor and is proportional meaning that it is simply multiplied by the sensor reading.&amp;lt;br&amp;gt;Longitudinal is the pitch and Lateral is the roll.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;ADC_ROLL_NUETRAL &amp;amp; ADC_PITCH_NUETRAL &amp;amp; ADC_TOP_NUETRAL&amp;lt;/h3&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
 These are the readings from the sensor when it is in a neutral state. This is also characterized by having no temperature difference&amp;lt;br&amp;gt;across each pair of sensors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;PITCH_ NUETRAL _DEFAULT &amp;amp; ROLL_ NUETRAL _DEFAULT&amp;lt;/h3&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
 The angles which are output when the plane is in the “flat” position. This flat is also known as the angles necessary to make the&amp;lt;br&amp;gt;plane fly flat and straight.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;ROLL_PGAIN &amp;amp; PITCH_PGAIN&amp;lt;/h3&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
 This is the proportional variable in the pitch and roll control loops. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;ROLL_MAX_SETPOINT &amp;amp; PITCH_MAX_SETPOINT &amp;amp; PITCH_MIN_SETPOINT&amp;lt;/h3&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
 These set the maximum and minimum of the roll and pitch. This means that the plane will not be able to roll or pitch past the maximum&amp;lt;br&amp;gt;or minimum angle.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;ALTITIUDE_PGAIN &amp;amp; COURSE_PGAIN&amp;lt;/h3&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
 These are the proportional control variables of the altitude and course loops.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;MAX_ROLL &amp;amp; MAX_PITCH&amp;lt;/h3&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
 These are set in the AUTO1 section of the airframe file and are the maximum allowed pitch and roll in auto1 mode.. These are by&amp;lt;br&amp;gt;default in radians.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;ROLL_MAX_SETPOINT &amp;amp; PITCH_MAX_SETPOINT &amp;amp; PITCH_MIN_SETPOINT&amp;lt;/h3&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
 These are set in the HORIZONTAL CONTROL section of the airframe file and are the maximum and minimum allowed pitch and roll in auto2&amp;lt;br&amp;gt;mode.. These are by default in radians.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Step 1&amp;lt;/h2&amp;gt;&lt;br /&gt;
Align measured and real angles from the IR sensors. The first step is to take the IR sensors and the fully encase them in foam. Then you must change the ADC neutrals to zero in the airframe file. Once this has been done the user must flash the board then get a connection to the ground station computer and the GUI. Once this has been completed launch the messages agent and view the tab called IR, record the raw sensor values shown. After that disconnect the board and power it down. Finally change the ADC neutrals in the airframe file to the recorded values and re-flash the board. &lt;br /&gt;
&amp;lt;h2&amp;gt; Step2&amp;lt;/h2&amp;gt;First you must set the ROLL and PITCH neutrals to zero in the airframe file and then flash the board. Next take the airframe outside with all the necessary electronics inside that are needed to fly autonomously. The area which should be used to tune is one without any buildings or large man made objects within 500-1000 ft. This will make the variables far more accurate and save time due to lack of tuning needed in the air. Now place the plane “flat” on a surface so that all the sensors have clear views (aka no man made objects), the vertical sensors should be able to see both the ground and sky. Next connect the plane to the ground station GUI and record the attitude values, once these have been found power down and add the values recorded into the ROLL and PITCH neutrals in the airframe file.&amp;lt;br&amp;gt; &lt;br /&gt;
Next, place the pane at an angle of the users choosing and measure the real angle. Remember the IR sensors must have unobstructed views. Now connect the airplane to the GUI and look to see if the reported angle in the messages agent matches the recorded real angle. If these do no match the user must change the 360_Lateral and Longitudinal variables as well as the neutral values, remember the neutral values can only shift the readings so use those for asymmetrical errors.  The user must changes these variables until the angles match, it should be noted however that these variables are independent of each other so they should be adjusted one at a time. In addition make sure that the D gain of the Pitch loop is set to zero. &lt;br /&gt;
&amp;lt;br&amp;gt;Once the users has done this on ground stuff a couple times it may be possible to use their eye to judge angles in the sky and do all the tuning that way. Remember all of the variables can be changed in real time by utilizing the tuning.xml for the settings of the aircraft&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Step3&amp;lt;/h2&amp;gt;&lt;br /&gt;
Once the plane is at a safe height and in sight turn on the AUTO1 mode. Next look for oscillations in the roll. If there are oscillations in the roll lower the ROLL_PGAIN coefficient until these no longer exist. If there are no oscillations start to raise to coefficients until the point right before oscillations. The point of this process is to maximize the coefficient value to the point right before oscillations occur.  This is the same process that is used to tune the pitch loop except for the coefficient changed is PITCH_PGAIN. However it should be noted that the pitch is far more damped than the roll so it may harder to spot oscillations. The PITCH_PGAIN value is expressed in negative terms so a -10,000 would “higher” than a -6000 variable.&lt;br /&gt;
&amp;lt;br&amp;gt;The next step is to test your roll and pitch neutrals. To do this the user must turn on auto1 mode and set the throttle to the nominal throttle value in the airframe file after this is set let go of all sticks and watch to see if the plane flies flat and straight. If this is the case then all is well but if not the user must once again tune the PITCH_ NUETRAL _DEFAULT &amp;amp; ROLL_ NUETRAL _DEFAULT values until the plane flys straight and flat. Next the user must test the maximum and minimum set points of the pitch and roll. This is done by testing in AUTO1, the user must make the plane pitch and roll to maximum and minimum amount that the RC controller allows, this is done by pushing the right stick to its maximum's. These angles however can only be recorded by looking at the plane in the air and guessing. This is not very exact but should give a good value to compare with the user written set points.  The IR_360 variables will probably have to be retuned in air during this last part due to bad sensor data on the ground.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Step 4&amp;lt;/h2&amp;gt;The final step is to put the plane into auto2 mode and determine if the plane is flying its desired course and altitude correctly. If this is not the case the PGAIN variables of each must be changed to take out oscillations and maximize to right before oscillations. Remember to check your max angle set points to make sure your plane will not over pitch or roll causing instability.&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=OSAM_Tuning_Procedure&amp;diff=15728</id>
		<title>OSAM Tuning Procedure</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=OSAM_Tuning_Procedure&amp;diff=15728"/>
		<updated>2013-08-19T19:49:31Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: Created page with &amp;quot;&amp;lt;div style=&amp;quot;padding:6px;&amp;quot;&amp;gt;{{OSAMHeader}}&amp;lt;/div&amp;gt; &amp;lt;h1&amp;gt;Airframe Tuning Procedure&amp;lt;/h1&amp;gt; &amp;lt;h2&amp;gt;Variable Explanation&amp;lt;/h2&amp;gt; &amp;lt;h3&amp;gt;HORIZ_SENSOR_TILTED&amp;lt;/h3&amp;gt; ----  This Describes whether the IR s…&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;padding:6px;&amp;quot;&amp;gt;{{OSAMHeader}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Airframe Tuning Procedure&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;Variable Explanation&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;HORIZ_SENSOR_TILTED&amp;lt;/h3&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
 This Describes whether the IR sensor is titled at a 90 degree angle or 45 degree angle. This meaning if the nose of the plane is&amp;lt;br&amp;gt;facing north when the sensor is at 45 degrees (equals a 1 in the airframe config) the thermopile's do not point north south east and&amp;lt;br&amp;gt;west but rather at a 45 degree offset from those directions. This is the recommended way to configure the IR sensors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;IR_360_Lateral_Correction &amp;amp; IR_360_ Longitudinal_Correction&amp;lt;/h3&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
 Coefficient that corrects the outputs of the IR sensor and is proportional meaning that it is simply multiplied by the sensor reading.&amp;lt;br&amp;gt;Longitudinal is the pitch and Lateral is the roll.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;ADC_ROLL_NUETRAL &amp;amp; ADC_PITCH_NUETRAL &amp;amp; ADC_TOP_NUETRAL&amp;lt;/h3&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
 These are the readings from the sensor when it is in a neutral state. This is also characterized by having no temperature difference&amp;lt;br&amp;gt;across each pair of sensors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;PITCH_ NUETRAL _DEFAULT &amp;amp; ROLL_ NUETRAL _DEFAULT&amp;lt;/h3&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
 The angles which are output when the plane is in the “flat” position. This flat is also known as the angles necessary to make the&amp;lt;br&amp;gt;plane fly flat and straight.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;ROLL_PGAIN &amp;amp; PITCH_PGAIN&amp;lt;/h3&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
 This is the proportional variable in the pitch and roll control loops. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;ROLL_MAX_SETPOINT &amp;amp; PITCH_MAX_SETPOINT &amp;amp; PITCH_MIN_SETPOINT&amp;lt;/h3&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
 These set the maximum and minimum of the roll and pitch. This means that the plane will not be able to roll or pitch past the maximum&amp;lt;br&amp;gt;or minimum angle.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;ALTITIUDE_PGAIN &amp;amp; COURSE_PGAIN&amp;lt;/h3&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
 These are the proportional control variables of the altitude and course loops.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;MAX_ROLL &amp;amp; MAX_PITCH&amp;lt;/h3&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
 These are set in the AUTO1 section of the airframe file and are the maximum allowed pitch and roll in auto1 mode.. These are by&amp;lt;br&amp;gt;default in radians.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;ROLL_MAX_SETPOINT &amp;amp; PITCH_MAX_SETPOINT &amp;amp; PITCH_MIN_SETPOINT&amp;lt;/h3&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
 These are set in the HORIZONTAL CONTROL section of the airframe file and are the maximum and minimum allowed pitch and roll in auto2&amp;lt;br&amp;gt;mode.. These are by default in radians.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Step 1&amp;lt;/h2&amp;gt;&lt;br /&gt;
Align measured and real angles from the IR sensors. The first step is to take the IR sensors and the fully encase them in foam. Then you must change the ADC neutrals to zero in the airframe file. Once this has been done the user must flash the board then get a connection to the ground station computer and the GUI. Once this has been completed launch the messages agent and view the tab called IR, record the raw sensor values shown. After that disconnect the board and power it down. Finally change the ADC neutrals in the airframe file to the recorded values and re-flash the board. &lt;br /&gt;
&amp;lt;h2&amp;gt; Step2&amp;lt;/h2&amp;gt;First you must set the ROLL and PITCH neutrals to zero in the airframe file and then flash the board. Next take the airframe outside with all the necessary electronics inside that are needed to fly autonomously. The area which should be used to tune is one without any buildings or large man made objects within 500-1000 ft. This will make the variables far more accurate and save time due to lack of tuning needed in the air. Now place the plane “flat” on a surface so that all the sensors have clear views (aka no man made objects), the vertical sensors should be able to see both the ground and sky. Next connect the plane to the ground station GUI and record the attitude values, once these have been found power down and add the values recorded into the ROLL and PITCH neutrals in the airframe file.&amp;lt;br&amp;gt; &lt;br /&gt;
Next, place the pane at an angle of the users choosing and measure the real angle. Remember the IR sensors must have unobstructed views. Now connect the airplane to the GUI and look to see if the reported angle in the messages agent matches the recorded real angle. If these do no match the user must change the 360_Lateral and Longitudinal variables as well as the neutral values, remember the neutral values can only shift the readings so use those for asymmetrical errors.  The user must changes these variables until the angles match, it should be noted however that these variables are independent of each other so they should be adjusted one at a time. In addition make sure that the D gain of the Pitch loop is set to zero. &lt;br /&gt;
&amp;lt;br&amp;gt;Once the users has done this on ground stuff a couple times it may be possible to use their eye to judge angles in the sky and do all the tuning that way. Remember all of the variables can be changed in real time by utilizing the tuning.xml for the settings of the aircraft&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Step3&amp;lt;/h2&amp;gt;&lt;br /&gt;
Once the plane is at a safe height and in sight turn on the AUTO1 mode. Next look for oscillations in the roll. If there are oscillations in the roll lower the ROLL_PGAIN coefficient until these no longer exist. If there are no oscillations start to raise to coefficients until the point right before oscillations. The point of this process is to maximize the coefficient value to the point right before oscillations occur.  This is the same process that is used to tune the pitch loop except for the coefficient changed is PITCH_PGAIN. However it should be noted that the pitch is far more damped than the roll so it may harder to spot oscillations. The PITCH_PGAIN value is expressed in negative terms so a -10,000 would “higher” than a -6000 variable.&lt;br /&gt;
&amp;lt;br&amp;gt;The next step is to test your roll and pitch neutrals. To do this the user must turn on auto1 mode and set the throttle to the nominal throttle value in the airframe file after this is set let go of all sticks and watch to see if the plane flies flat and straight. If this is the case then all is well but if not the user must once again tune the PITCH_ NUETRAL _DEFAULT &amp;amp; ROLL_ NUETRAL _DEFAULT values until the plane flys straight and flat. Next the user must test the maximum and minimum set points of the pitch and roll. This is done by testing in AUTO1, the user must make the plane pitch and roll to maximum and minimum amount that the RC controller allows, this is done by pushing the right stick to its maximum's. These angles however can only be recorded by looking at the plane in the air and guessing. This is not very exact but should give a good value to compare with the user written set points.  The IR_360 variables will probably have to be retuned in air during this last part due to bad sensor data on the ground.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Step 4&amp;lt;/h2&amp;gt;The final step is to put the plane into auto2 mode and determine if the plane is flying its desired course and altitude correctly. If this is not the case the PGAIN variables of each must be changed to take out oscillations and maximize to right before oscillations. Remember to check your max angle set points to make sure your plane will not over pitch or roll causing instability.&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Autopilots&amp;diff=11083</id>
		<title>Autopilots</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Autopilots&amp;diff=11083"/>
		<updated>2011-12-17T19:29:10Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;border-spacing:8px;margin:0px -8px&amp;quot; class=&amp;quot;MainPageBG&amp;quot; style=&amp;quot;width:100%;border:1px solid #9999bf;background-color:#f5fffa;vertical-align:top;color:#000; text-align: left;&amp;quot;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;h3 style=&amp;quot;-moz-border-radius-topright: 0.7em;&lt;br /&gt;
background:#cedff2;margin:-2px;padding:4px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:favicon32.png|32px]] Autopilots&lt;br /&gt;
&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding:6px;&amp;quot;&amp;gt;&lt;br /&gt;
{{Autopilots}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- Start of right-column --&amp;gt;&lt;br /&gt;
| class=&amp;quot;MainPageBG&amp;quot; style=&amp;quot;width:70%;border:1px solid #cedff2;background-color:#f5fffa;vertical-align:top&amp;quot;|&lt;br /&gt;
{|width=&amp;quot;100%&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;5&amp;quot; style=&amp;quot;vertical-align:top;background-color:#f5fffa&amp;quot;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &amp;lt;h2 style=&amp;quot;margin:0;background-color:#cef2e0;font-size:120%;font-weight:bold;border:1px solid #a3bfb1;text-align:left;color:#000;padding:0.2em 0.4em;&amp;quot;&amp;gt;Paparazzi Autopilots&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Hardware support for Autopilot versions currently in use. &lt;br /&gt;
|-&lt;br /&gt;
|[[Image:tiny13_family_top_sm.jpg|center|400px|Tiny 1.1 autopilots on the &amp;quot;assembly line&amp;quot;]]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;h2&amp;gt;When will the Schematics, CAD files, Gerber files, BOM be released?&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;h3&amp;gt;The hardware development and release process.&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;P&amp;gt;8 June 2011 13:25:47 Antoine Drouin wrote on the mailing list:&amp;lt;/P&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Schematics will be released ASAP, CAD files will come later. When ? I don't know.... Worst case would be when Joby Robotics releases a new version of the board, but I hope it will be sooner than that. &lt;br /&gt;
&lt;br /&gt;
Lisa/L CAD files have been released (http://svn.savannah.nongnu.org/viewvc/paparazzi-hardware/trunk/lisa/v1.1/?root=paparazzi ) 3 month ago. (...)&lt;br /&gt;
&lt;br /&gt;
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... &amp;quot;gcc tiny.brd&amp;quot; is not going to make a board magically appear on your desktop. &lt;br /&gt;
&lt;br /&gt;
I'll list here some of my arguments in favor of releasing CAD files after the board is mature.&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]] [[Category:User_Documentation]]&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Sensors/GPS&amp;diff=6293</id>
		<title>Sensors/GPS</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Sensors/GPS&amp;diff=6293"/>
		<updated>2010-03-02T19:04:16Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* u-Blox LEA Series Receivers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=right&lt;br /&gt;
|-&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
[[Image:U-blox_color_warm_60.gif|100px]]&lt;br /&gt;
&lt;br /&gt;
Paparazzi autopilots are designed around the popular [http://www.u-blox.com u-blox] brand of receivers.&lt;br /&gt;
&lt;br /&gt;
*Features:&lt;br /&gt;
**Small size&lt;br /&gt;
**Excellent performance&lt;br /&gt;
**4Hz position update rate&lt;br /&gt;
&lt;br /&gt;
The '''[[Tiny]]''' features an onboard LEA series GPS receiver and patch antenna, while '''[[Classix]]''' and '''[[Previous_Autopilots|AVR-based]]''' boards require an external receiver+antenna such as the [[#Paparazzi_Stand-alone_GPS_Receivers|Paparazzi GPS]] or [[#u-Blox_SAM-LS_GPS_Smart_Antenna|SAM-LS]].  Please note that the receivers must be configured (prior to use with the autopilot) as indicated below. Both modules have proven reliable and robust. &lt;br /&gt;
&lt;br /&gt;
{|align = center&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:Lea big.jpg|200px|thumb|center|u-blox LEA GPS Receiver]]&lt;br /&gt;
|[[Image:Ublox_SAM-LS.jpg|200px|thumb|center|u-blox SAM-LS GPS receiver (w/built-in Smart Antenna)]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The proprietary UBX protocol is used as it offers more information and efficiency than the universal NMEA protocol.  The protocol is parsed in &amp;lt;tt&amp;gt;sw/airborne/gps_ubx.c&amp;lt;/tt&amp;gt;.  Other GPS brands would require a similar parsing file to be written for NMEA or other proprietary protocols.    &lt;br /&gt;
&lt;br /&gt;
==GPS Receivers==&lt;br /&gt;
&lt;br /&gt;
===u-Blox LEA Series Receivers===&lt;br /&gt;
[[Image:Lea big.jpg|100px|thumb|right|u-blox LEA]]&lt;br /&gt;
The '''[[TWOG_v1|TWOG]]''', '''[[Classix]]''' and '''[[Previous_Autopilots|AVR-based]]''' boards require an external GPS module and antenna.  The '''[[Tiny]]''' features an integrated receiver and antenna.  Either type is designed for [http://www.u-blox.com/ u-blox] 4 and 5 series GPS receivers and the proprietary UBX binary protocol.  An external battery or capacitor is typically used to enable the GPS to retain data while powered off for significantly faster signal re-aquisition.  Any of the LEA-4 and LEA-5 series receivers can be used including the less expensive LEA-4A, 4S, 5A and 5S models as the special boot configuration code required for these models is already written.&lt;br /&gt;
&lt;br /&gt;
*4Hz Position update rate&lt;br /&gt;
*Supports active or passive antennas&lt;br /&gt;
*Supports [http://en.wikipedia.org/wiki/DGPS DGPS], [http://en.wikipedia.org/wiki/WAAS WAAS], [http://en.wikipedia.org/wiki/EGNOS EGNOS], and [http://en.wikipedia.org/wiki/MSAS MSAS]&lt;br /&gt;
*Low position [http://paparazzi.enac.fr/wiki_images/Gps_rx_noise.pdf noise] figure&lt;br /&gt;
[[Image:TINY_1.3_MCU_BOTTOM.JPG|thumb|center|250px|LEA-4P installed on the Tiny]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Paparazzi Stand-alone GPS Receivers===&lt;br /&gt;
[[Image:Ppzgps13_800.jpg|100px|thumb|right|Paparazzi GPS13]]&lt;br /&gt;
&amp;lt;p&amp;gt;Paparazzi CVS provides a design for an external GPS board (required for TWOG and Classix Autopilots).&lt;br /&gt;
Programming it is similar to the Tiny2.11 GPS configuration. If you build your own you will want to upload the latest u-blox firmware before you configure. See &amp;quot;Getting Hardware&amp;quot; for sources of assembled boards.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The Paparazzi design in http://cvs.savannah.gnu.org/viewcvs/paparazzi/paparazzi3/hw/sensors/gps_13.brd is based on a u-blox LEA-4P however an LEA-5H seems to work just fine as well. The board is very small and light as it has only the components required. It is powered from the 5v line on the &amp;quot;downloads&amp;quot; connector of a TWOG. Also note it is a 4-layer PCB that means better noise resistance. The board has pins for USB connection but requires a different cable and a solder jumper to be move from the ground (default) to 3.3v input to enable the USB port on the module. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
[http://paparazzi.enac.fr/wiki_images/Gps_13_BOM.xls V1 BOM.xls]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://paparazzi.enac.fr/wiki_images/TinygpsBOM.txt Eagle Parts List Output.txt]&amp;lt;br&amp;gt;&lt;br /&gt;
See [[Get_Hardware|Get Hardware]] page for suppliers.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
==== Wiring Diagram ====&lt;br /&gt;
[[Image:TWOG to GPS.jpg|thumb|left]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===3rd Party u-blox reference design boards:===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
[[Image:LEA5HExternalModulePinout.jpg|100px|thumb|right|LEA-5H Full Board Pinout]]&lt;br /&gt;
The only other GPS board in use seems to be u-blox reference designs or similar to it. They have either LEA-4P or LEA-5H (typically) and several interfaces. Often a larger antenna as well. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this needs fixing don't be shy, fix away.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===NAVILOCK NL-507ETTL===&lt;br /&gt;
[[Image:Navilock NL-507ETTL.jpg|thumb|left|NAVILOCK NL-507TTL]]&lt;br /&gt;
The NAVILOCK NL-507TTL u-blox TTL Modul 60416 features an LEA-4 series receiver and 25mm patch antenna on a 30mm x 30mm board.&lt;br /&gt;
* Datasheet: [http://www.navilock.de/download/Dokumente_SLASH_Sonstiges/60415_-_Datenblatt_u-blox_GPS_Module/481 http://www.navilock.de/download/Dokumente_SLASH_Sonstiges/60415_-_Datenblatt_u-blox_GPS_Module/481]&lt;br /&gt;
* Purchase:  Available for 28€ at [http://www.amazon.de/Navilock-NL-507TTL-u-blox-TTL-Modul/dp/B0011E6VQG www.amazon.de]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===SPK GS406===&lt;br /&gt;
[[Image:GS406.jpg|thumb|left|SPK GS406 with LEA-5]]&lt;br /&gt;
[http://www.sparkfun.com/commerce/product_info.php?products_id=8889 Sparkfun] sells a nice small module featuring the newer 5-series receiver and the highly rated Sarantel antenna for about $90.  The design is based around the active version of the Sarantel instead of the more appropriate passive model and there's some potentially tricky soldering involved to get around the ribbon cable but the price is great for this hardware.&lt;br /&gt;
&lt;br /&gt;
[http://store.diydrones.com/ProductDetails.asp?ProductCode=BR-0008-01 DIYDrones] has build a adapter board for this GPS module. It looks like a great solution to use this GPS module with Paparazzi.&lt;br /&gt;
&lt;br /&gt;
[http://ppzuav.com/osc/catalog/product_info.php?cPath=13_8&amp;amp;products_id=95 PPZUAV ] Also has the newer Active Sarantel Antenna model ready to connect to the TWOG (and programmed for Paparazzi). &lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===u-Blox C04-5H Reference Design===&lt;br /&gt;
[[Image:abavimage.jpg|100px|thumb|left|u-blox C04-5H]]&lt;br /&gt;
u-Blox sells a complete module with antenna for around $200 and will also provide complete schematics, BOM, and PCB files for free if you wish to make your own.  Two versions are offered, one with an 18mm patch antenna and the other with the Sarantel P2 helical antenna.&lt;br /&gt;
See [http://www.u-blox.com/products/c04_5h.html http://www.u-blox.com/products/c04_5h.html] for more info.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Connecting external receivers to Classix, 1.2.1, Lite, and RoboStix boards====&lt;br /&gt;
&lt;br /&gt;
The u-blox receivers require 3.3v power and all current models have 5V tolerant data lines. The best way to connect to the SAM-LS is to remove the bottom case and solder the 4 wires directly to the TIM-LL module (GND (pin 1) ,VCC (pin 2),TX (Pin 5),RX (pin 4)) check the TIM-LL datasheet for pinout diagrams.[http://www.u-blox.com/products/Data_Sheets/TIM-LL_Data_Sheet(GPS.G3-MS3-04035).pdf]  The Classix and Lite boards feature a 3.3V regulator to power the GPS.&lt;br /&gt;
To open the casing on a SAM-LS, remove the bottom of the casing by pulling gently, then work around popping off the solder joints (they are fairly weak) by pressing a small screwdriver against each tab in turn until it pops off.  You should then be able to access the GPS chip directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Sourcing from u-blox===&lt;br /&gt;
&lt;br /&gt;
u-blox keeps tight control over the distribution of their products.  They must be obtained DIRECTLY from their own reseller offices.  These offices may not be available in your area, for example Canada does not have a reseller.  Sample quantities can be obtained from uBlox but overnight or 2 day shipping is required which drives the cost up considerably.  While it is a large hassle obtaining these devices, it is undoubtedly worth it.&lt;br /&gt;
&lt;br /&gt;
Talking with ublox sale for two years, Confirmed, that Order is possiable Directly from ublox, by knowing what project it was for &amp;amp; how was it to be use.  After long reply waiting time, the answer was: - YES,  but at least 2K-3K in volume, otherwise they're not interested.  Like to share the order ?  It is 500pcs/Roll.&lt;br /&gt;
&lt;br /&gt;
===Other potential source of u-blox GPS===&lt;br /&gt;
&lt;br /&gt;
There seems to be a few alternative source of u-blox GPS out there. They are considerably cheaper then the samples u-blox offers (at least in america). We didn't buy from these sources yet. Do not take this as a recommandation, we do not know the level of service they offer, etc.&lt;br /&gt;
&lt;br /&gt;
If you do order from any of them, please update this page with your feedback.&lt;br /&gt;
&lt;br /&gt;
Here's a few link worth exploring:&lt;br /&gt;
*http://www.rfdesign.co.za/pages/5645456/Products/GPS-Products/Antaris-4-Modules.asp&lt;br /&gt;
*http://www.comet.srl.ro/shop/info.html?ID=6195 ( Link error )&lt;br /&gt;
*http://www.expedienttech.com/product.htm  ( Singapore )&lt;br /&gt;
&lt;br /&gt;
==GPS configuration using U-Center==&lt;br /&gt;
&lt;br /&gt;
[[Image:U-center_screencap.jpg|thumb|u-center configuration software]]&lt;br /&gt;
[http://www.u-blox.com/products/u_center.html U-Center] is a very comprehensive freeware program intended for the configuration and evaluation of u-blox receivers. &lt;br /&gt;
* [http://www.u-blox.com/en/evaluation-tools-a-software/u-center/u-center.html Download u-center]&lt;br /&gt;
&lt;br /&gt;
* Note 1: You must [[Compiling#USB_flashing|install the UART tunnel]] to enable direct access to the built-in GPS on the [[Tiny|Tiny]].&lt;br /&gt;
&lt;br /&gt;
* Note 2: You will need a driver for your FTDI cable if you run u-center on Windows, which can be found  [http://www.ftdichip.com/Drivers/D2XX.htm here].&lt;br /&gt;
&lt;br /&gt;
* Note 3: You can run u-center on Linux by installing &amp;quot;Wine&amp;quot; ([http://www.winehq.org/site/download-deb Installation of Wine]) and set up COM1 as /dev/ttyUSB0. You need to create a symbolic link from the COM device to TTY like this: &lt;br /&gt;
 ln -s /dev/ttyUSB0 ~/.wine/dosdevices/COM1 &lt;br /&gt;
This command will create the symbolic link from ttyUSB0 to COM1. See Info on Wine for &amp;quot;dosdevices&amp;quot; setup. Just download the u-setup.exe and run it with Wine, follow prompts. This has been tested with Ubuntu7.10 and Ubuntu 8.04 so far.&lt;br /&gt;
&lt;br /&gt;
The u-blox and Tiny UARTs both operate at 3.3V TTL levels and are 5V TTL tolerant.  You must use a level shifter such as the common MAX232 to connect these devices to a standard PC serial port.  The easiest and most recommended method is to connect to a USB port instead of serial with the $20 [http://www.ftdichip.com/Products/EvaluationKits/TTL-232R.htm FTDI USB-TTL converter cable] available from Digikey, Mouser, or direct from FTDI.  Other similar converters are available from [http://www.pololu.com/products/pololu/0391/ pololu] / [http://www.sparkfun.com/commerce/product_info.php?products_id=199 sparkfun].  A stand-alone GPS such as the SAM-LS will require clean 3.3V/50mA power and a common ground with the TTL converter.&lt;br /&gt;
&lt;br /&gt;
* U-blox occasionally releases firmware updates.  Log on to the u-blox website using ''paparazzi'' for username &amp;amp; password to view or download the latest firmware images.  There have 'never' been any updates released for the Antaris-4 series used in the Tiny.&lt;br /&gt;
&lt;br /&gt;
Start U-center and choose your com port from the pull down list under the connect button near the top left corner of the window. Choose your baudrate from the pull down box to the right of the connect button or select the auto-baud button to the right of that.  U-blox default is 9600 baud.  This must be changed to 19200 or higher to accomodate the 4Hz update rate.&lt;br /&gt;
&amp;lt;br&amp;gt;[[Image:U-center_buttons.jpg|connect, baud, and autobaud buttons]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Uploading the Configuration File===&lt;br /&gt;
Download the appropriate configuration file below and use u-center to load in onto your receiver. Under the ''Tools'' menu, choose ''GPS configuration''.  Be sure the box 'Store configuration into BBR/Flash' is checked and hit the button ''File&amp;gt;&amp;gt;GPS''.  A few errors and retries are normal, but a significant number of errors may indicate a poor connection and the software will notify you if it is unable to send all the data successfully.&lt;br /&gt;
* [[Media:Tiny_LEA-4P-v6.zip|LEA-4P]]&lt;br /&gt;
* [[Media:Tim-LL-V5.zip|TIM-LL]]&lt;br /&gt;
* [http://paparazzi.enac.fr/wiki_images/Tiny_LEA-5H-v5.zip LEA-5H (For Use w/ Firmware V5 ONLY!)]&lt;br /&gt;
&lt;br /&gt;
===Manual Configuration===&lt;br /&gt;
If you prefer to setup your receiver manually or have a model not listed above, here are instructions to configure your receiver in u-center.&lt;br /&gt;
Open the message window (menu View-&amp;gt;messages view) to start the configuration process by changing the following settings:&lt;br /&gt;
&lt;br /&gt;
====LEA-4P====&lt;br /&gt;
&lt;br /&gt;
 1. Right Click on the '''NMEA''' Icon and choose '''disable child'''&lt;br /&gt;
 2. Choose UBX-&amp;gt;CFG-&amp;gt;NAV2(Navigation 2) - set it to use '''Airborne 4G''' (tells the Kalman filter to expect significant changes in direction)&lt;br /&gt;
 3. UBX-&amp;gt;CFG-&amp;gt;PRT - set '''USART1''' to '''38400bps''' (must match the value in your [[Airframe_Configuration#Hardware_definitions_-_Makefile|Airframe file]])&lt;br /&gt;
 4. Change the baudrate of U-Center to 38400bps if the connection is lost at this point&lt;br /&gt;
 5. UBX-&amp;gt;CFG-&amp;gt;RXM(Receiver Manager) - change '''GPS Mode''' to '''3 - Auto''' (Enabling faster bootup only if signal levels are very good)&lt;br /&gt;
 6. UBX-&amp;gt;CFG-&amp;gt;RATE(Rates) - change the '''Measurement Period''' to '''250ms''' (4 Hz position updates)&lt;br /&gt;
 7. UBX-&amp;gt;CFG-&amp;gt;SBAS : '''Disable''' (SBAS appears to cause occasional severe altitude calcuation errors)&lt;br /&gt;
 8. UBX-&amp;gt;NAV (not UBX-&amp;gt;CFG-&amp;gt;NAV): double click on '''POSUTM, SOL, STATUS, SVINFO, VELNED.''' They should change from grey to black&lt;br /&gt;
 9. UBX-&amp;gt;CFG-&amp;gt;CFG : '''save current config''', click '''&amp;quot;send&amp;quot;''' in the lower left corner to permanently save these settings to the receiver &lt;br /&gt;
&lt;br /&gt;
====LEA-5H====&lt;br /&gt;
&lt;br /&gt;
 1. Right Click on the '''NMEA''' Text on top of the tree and choose '''disable child messages'''&lt;br /&gt;
 2. Choose UBX-&amp;gt;CFG-&amp;gt;NAV5(Navigation 5) - set it to use '''Airborne 8 &amp;lt;4G'''. This tells the Kalman filter to expect significant changes in direction. &lt;br /&gt;
    Note that this setting is only good for faster moving airplanes. For a fixed position hovering heli, 'pedestrian' setting is better&lt;br /&gt;
 3. UBX-&amp;gt;CFG-&amp;gt;PRT - set '''USART1''' to '''38400bps''' (must match the value in your [[Airframe_Configuration#Hardware_definitions_-_Makefile|Airframe file]])&lt;br /&gt;
 4. Change the baudrate of U-Center to 38400bps if the connection is lost at this point&lt;br /&gt;
 5. UBX-&amp;gt;CFG-&amp;gt;RATE(Rates) - change the '''Measurement Period''' to '''250ms''' This gives a 4 Hz position update since 4 x 250ms is one second.&lt;br /&gt;
 6. UBX-&amp;gt;CFG-&amp;gt;SBAS : '''Disable''' (SBAS appears to cause occasional severe altitude calcuation errors)&lt;br /&gt;
 7. UBX-&amp;gt;NAV (not UBX-&amp;gt;CFG-&amp;gt;NAV): double click on '''POSLLH, SOL, STATUS, SVINFO, VELNED.''' They should change from grey to black&lt;br /&gt;
 (add the flag -DGPS_USE_LATLONG in your [[Airframe_Configuration#Hardware_definitions_-_Makefile|Airframe file]]) also make sure you set tiny_2_1_1.h if you have the latest boards Tiny/TinyWOG)&lt;br /&gt;
 8. UBX-&amp;gt;CFG-&amp;gt;CFG : '''save current config''', click '''&amp;quot;send&amp;quot;''' in the lower left corner to permanently save these settings to the receiver &lt;br /&gt;
&lt;br /&gt;
* Cycle the power and verify that the new configuration was saved&lt;br /&gt;
* To reset the receiver to the factory defaults go to ''UBX-&amp;gt;CFG-&amp;gt;CFG'', select 'Revert to default configuration', and click ''Send'' at the bottom left corner.  To permanently save these values choose 'Save current configuration' and click ''Send''.&lt;br /&gt;
* To backup the configuration to a file on your PC: under the tools menu, choose GPS configuration, then click GPS&amp;gt;&amp;gt;file.  This file can be re-loaded in a similar manner to configure additional identical receivers.  Be sure the box 'Store configuration into BBR/Flash' is checked when reloading a configuration file to make the changes permanent.&lt;br /&gt;
* To update the firmware on a LEA-5H get u-center &amp;gt;= 5.03, revert the GPS receiver to the default configuration, get an appropriate image from u-blox (fitting your receivers serial number), find the flash identification flash.txt file in the u-center install directory and be prepared to wait a long time.&lt;br /&gt;
&lt;br /&gt;
#NOTE: If you have a Tiny with LEA-5H module you must use u-center and manually setup the parameters as shown above (at least switch to 38400 baud manually before transferring the configuration file).&lt;br /&gt;
#NOTE: POSUTM is not available on LEA-5H. Instead, use POSLLH. Additionally, add the flag -DGPS_USE_LATLONG in the makefile section of the airframe xml file.&lt;br /&gt;
&lt;br /&gt;
===Reset to Default Settings===&lt;br /&gt;
The GPS module can be reset to its original default settings by pulling BOOT_INT high(3.3V) during a power cycle ([http://www.u-blox.com/customersupport/gps.g4/ANTARIS4_Modules_SIM(GPS.G4-MS4-05007).pdf Antaris Manual, p. 122]). It may be required after a wrong firmware upgrade or a bad configuration change.&lt;br /&gt;
&lt;br /&gt;
===DGPS (Differential GPS)===&lt;br /&gt;
Differential GPS is any method of improving GPS accuracy by comparing the GPS-indicated position of a nearby location to the known value and transmitting any error to the mobile unit.  DGPS was originally created as a means of bypassing the deliberately introduced inaccuracies in civilian GPS signals.  The original method used low frequency ground radios to relay correction data to the mobile unit and is still used today at airports, shipping ports, and even individual farms.  Satellite Based Augmentation System (SBAS) is a modern form of DGPS where the ground stations relay correction data to a GEO-Stationary satellite, which then relays it to the mobile unit on standard GPS frequencies eliminating the need for a separate radio reciever.  SBAS is currently available in 3 regions, [http://www.esa.int/esaNA/ESAF530VMOC_egnos_1.html WAAS, EGNOS, and MSAS regions] though only WAAS and EGNOS are officially operational.  U-blox receivers support all common varieties of DGPS [http://www.u-blox.com/customersupport/gps.g3/ENGOS_Issues(GPS.G3-CS-04009).pdf read the u-blox SBAS application note].&lt;br /&gt;
* It is important to note that DGPS methods only improve the ''accuracy'' of the position calculation, not the ''precision''.  Since Paparazzi navigation is typically performed relative to the power-on location, any static error that could be corrected with DGPS is irrelevant.&lt;br /&gt;
&lt;br /&gt;
====WAAS issues====&lt;br /&gt;
WAAS has been officially operational and &amp;quot;suitable for safety-of-life applications&amp;quot; since 2003.  The default setting of all u-blox receivers ignores WAAS correction data and only uses the WAAS satellites for regular navigation like any other satellite.  U-blox recommends further limiting this setting to exclude any stray EGNOS/MSAS satellites in North America, and completely disabling all SBAS functions for use outside North America.  In 2006 one formerly reliable Paparazzi aircraft began having great GPS problems and displaying very erratic altitude calculations, disabling WAAS immediately resolved the issue and this phenomenon was recreated several times for verification.  Turns out a new WAAS satellite was being added to the system and the others were being moved that week for better distribution.  Our advice is to completely disable WAAS.&lt;br /&gt;
&lt;br /&gt;
====EGNOS issues====&lt;br /&gt;
EGNOS officially became operational on 1 October 2009. ESA claims that it can determine position to within 2 metres compared with about 20 metres for GPS alone. Note that the service is currently provided only in western Europe. For further information see [http://www.esa.int/esaNA/egnos.html ESA EGNOS website].&lt;br /&gt;
&lt;br /&gt;
According to the [http://ec.europa.eu/transport/egnos/programme/doc/2009_egnos_sdd_os_v1.pdf EC] the EGNOS transmission will keep the &amp;quot;Do not use&amp;quot; type0/2 flag until it is certified for safety of life operations in (hopfefully) mid 2010. So you will have to enable the &amp;quot;Allow test mode use (Msg 0)&amp;quot; switch in the u-center under UBX-CFG-SBAS together with the correction to try EGNOS.&lt;br /&gt;
&lt;br /&gt;
The [http://www.u-blox.com/en/faq.html u-blox FAQ] states the following:&lt;br /&gt;
* &amp;quot;Do you see issues with EGNOS?&amp;quot;&lt;br /&gt;
*:&amp;quot;Yes. The data transmitted by EGNOS in the past were usually good and valuable although sometimes unreliable, e.g. when system tests were performed. u-blox does not guarantee performance and status of EGNOS system. For the latest update about functionality of EGNOS please check the website: [http://www.gsa.europa.eu European GNSS Supervisory Authority]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
&lt;br /&gt;
Problem: I keep getting this error with my nice shiny Tiny v2.1 with a LEA-5H:&lt;br /&gt;
Invalid_argument(&amp;quot;Latlong.of_utm&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Solution: Add the flag -DGPS_USE_LATLONG to your airframe file.&lt;br /&gt;
&lt;br /&gt;
===Further Reading===&lt;br /&gt;
&lt;br /&gt;
The u-blox [http://www.u-blox.com/customersupport/antaris4_doc.html System Integration Manual] covers a lot of GPS theory as well as product specific topics.&lt;br /&gt;
&lt;br /&gt;
== Antenna options for the Tiny and Paparazzi GPS units ==&lt;br /&gt;
&lt;br /&gt;
The '''[[Tiny|Tiny 1.1]]''' features a 28mm square ground plane intended to be centered below the [[#Sangshin_13mm_Patch|Sangshin 13mm patch antenna]].  Much better performance has been seen with the 18mm antennas and an augmented ground plane.  The ground plane is a critical part of the antenna affecting not only the gain and polarization characteristics but also the center frequency of the system.  Users are advised to expand the ground plane to approximately 36mm square, centered on the ceramic portion of the antenna (not the pin).  This can be done with copper foil soldered to the vias of the existing ground plane.&lt;br /&gt;
[[image:gps_antenna_comparison.jpg|thumb|500px|left|SAM-LS 25mm / Emtac 20mm / Emtac 18mm / Sangshin 18mm / Sangshin 13mm / Sarantel P2]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sangshin 18mm Patch ===&lt;br /&gt;
[[image:Sangshin_18mm.jpg|thumb|Sangshin 18mm x 4mm 1580Mhz]]&lt;br /&gt;
The Sangshin KSA-ST1580MS18 antenna has proven to offer the best performance of the currently available options.  These are available from any Sanshin distributor such as [http://www.rfmw.com rfmw] ([http://www.rfmw.com/PortalProductDetail.aspx?ProdId=232436&amp;amp;fmt=1 here]) and cost approximately $6.50/ea. in small quantities.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== EMTAC 18mm Patch ===&lt;br /&gt;
[[image:Emtac_18mm.jpg|thumb|Emtac 18mm x 4mm 1580Mhz]]&lt;br /&gt;
Offering identical performance to the Sangshin in a less attractive package is the Emtac 18mm antenna.  The part number for the standard 1580MHz 18x18x4mm is ANA1580T18D40 and is not listed on their website.  Other frequencies are available on a special order basis and the 1584Mhz has proven to outperform all other frequencies when used with a 36mm ground plane and no radome.  The use of a radome (any material covering the antenna) or a larger ground plane should theoretically favor even higher frequencies.&lt;br /&gt;
&lt;br /&gt;
'''Availability'''&lt;br /&gt;
&lt;br /&gt;
* [http://www.transplantgps.com/modules.html TransplantGPS] in MN, USA.  The 1580Mhz models are usually available at a cost of $3.55ea but there may be a minimum order requirement of ~$50 USD.&lt;br /&gt;
&lt;br /&gt;
=== Sangshin 13mm Patch ===&lt;br /&gt;
&lt;br /&gt;
[[image:Sangshin_13mm_onboard.jpg|thumb|Sangshin 13mm x 4mm 1580Mhz]]&lt;br /&gt;
Part of interest: '''[http://www.sangshinec.com/eng/patch_spec.htm KSA-ST1580MS13]'''&lt;br /&gt;
&lt;br /&gt;
The Tiny 0.99 (not 0.9) and 1.1 were designed around this antenna but users are advised to install 18mm units for better performance.&lt;br /&gt;
&lt;br /&gt;
Size: 13 x 13 mm&amp;lt;br/&amp;gt;&lt;br /&gt;
Center Frequency: 1580 MHz&amp;lt;br/&amp;gt;&lt;br /&gt;
Bandwidth: 5 MHz&amp;lt;br/&amp;gt;&lt;br /&gt;
@Fo: -15 dB&amp;lt;br/&amp;gt;&lt;br /&gt;
GAIN (dBi): 0 dBi&amp;lt;br/&amp;gt;&lt;br /&gt;
Ground Plane: 50 x 50 mm&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Available From'''&lt;br /&gt;
&lt;br /&gt;
[http://www.systroninc.com/ Systronic INC.] - Alberta, Canada&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Emtac 20mm Patch ===&lt;br /&gt;
&lt;br /&gt;
[[image:Salvaged_20mm_onboard.jpg|thumb|Emtac 20mm x 4mm]]&lt;br /&gt;
The Tiny 0.9 was designed around this 1583Mhz antenna and performed extremely well.  Emtac has replaced this with an 18mm model that they claim offers even better performance.&lt;br /&gt;
&lt;br /&gt;
* Obsolete&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Spectrum Control Patch ===&lt;br /&gt;
&lt;br /&gt;
[[image:PDC_Tiny21_S1.jpg|thumb|Spectrum Control 25mm]]&lt;br /&gt;
25mm patch testing on Tiny v2.1. Manufacturer Part Number [http://www.specemc.com/docs/antenna_catalog.pdf PA251575008SALF]. These are available from Mouser for about $3: [http://www.mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMukjKvgqb7HxzmcutVCLrkxFUj/3HCdKwE%3d 657-PA251575008SALF]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sarantel GeoHelix-P2 ===&lt;br /&gt;
&lt;br /&gt;
[[image:Geohelix-p2.jpg|thumb|Sarantel Geohelix P-2 1575Mhz]]&lt;br /&gt;
&lt;br /&gt;
This antenna is popular among UAV designers due to it's natural rejection of other radio frequencies such as those originating from the modem or video system as well as it's improved rejection of signals reflected from the ground.  U-blox recommends this antenna and features it in their [http://www.u-blox.com/news/sarantel.html reference design].  Frequency and polarization are not dependent upon ground plane geometry so this antenna is sold only in the true GPS frequency of 1575Mhz.&lt;br /&gt;
The geometry makes this antenna very inconvenient to mount, especially in an airplane.  Some very non-scientific testing has been done with one of these antennas connected to a Tiny with a short length of 50 Ohm coax above a 120mm square of ungrounded aluminum foil and performance was adequate.  The helical design should theoretically outperform a patch in the air, but not on the ground, so any organized comparison will be difficult.  Possibly the most important aspect of this antenna is it's natural RFI filtering, which should be evaluated further.&lt;br /&gt;
&lt;br /&gt;
* [http://www.sarantel.com/products/geohelix-p2 GeoHelix-P2] Passive GPS Antenna [[http://www.sarantel.com/downloads/specifications/geohelix-p2.pdf datasheet]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Availability'''&lt;br /&gt;
&lt;br /&gt;
* Sarantel @ cost of approx $18 USD each (active versions available for ~$40)&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=User:Mcurrie&amp;diff=5615</id>
		<title>User:Mcurrie</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=User:Mcurrie&amp;diff=5615"/>
		<updated>2009-10-11T21:51:09Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* WIKI Contributions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Matthew Currie ==&lt;br /&gt;
&lt;br /&gt;
* IRC Nick: dc3&amp;lt;br/&amp;gt;&lt;br /&gt;
* Location: Nanaimo, British Columbia, Canada&lt;br /&gt;
* Member Since: November 2006&lt;br /&gt;
&lt;br /&gt;
Built 13+ Tiny 13 v1.1 autopilot boards in-house.  Distributed boards into the group to break-even.&lt;br /&gt;
&lt;br /&gt;
=Setup=&lt;br /&gt;
&lt;br /&gt;
==Airframe and Powerplant==&lt;br /&gt;
&lt;br /&gt;
* Multiplex Funjet&lt;br /&gt;
* AXI 2212/26 Brushless &amp;quot;outrunner&amp;quot; Motor&lt;br /&gt;
* LiPower Lites 3S1P 2100mAh 18C LiPo Batteries x 2&lt;br /&gt;
* APC 9x6E Propeller (checked to draw ~ 11.5A)&lt;br /&gt;
&lt;br /&gt;
==Electronics==&lt;br /&gt;
&lt;br /&gt;
* Castle Creations Phoenix 35 Brushless Speed Control&lt;br /&gt;
* Castle Creations USB Programming Harness&lt;br /&gt;
* Berg 4L Receiver modified for PPM stream&lt;br /&gt;
* 2x Hitec HS-55 Servos&lt;br /&gt;
* Maxstream (now digi) XBee 2.4GHz Pro modems + devkit&lt;br /&gt;
* Modified FMA CoPilot XY and Z IR Sensor Boards&lt;br /&gt;
* Hitec Eclipse 7 Radio with Spectra PLL Module (btw the Spectra module is HORRIBLE)&lt;br /&gt;
&lt;br /&gt;
==Production and Tooling==&lt;br /&gt;
&lt;br /&gt;
* Hot Air Reflow Rework Station&lt;br /&gt;
* SMT Soldering Station&lt;br /&gt;
* Molex PicoBlade Crimpers&lt;br /&gt;
* Molex Micro-Fit 3.0 Crimpers&lt;br /&gt;
* 10-20 of each of every PicoBlade and MicroFit connectors&lt;br /&gt;
* Various Alpha 26 AWG Teflon Hook-up Wire&lt;br /&gt;
&lt;br /&gt;
==Field==&lt;br /&gt;
&lt;br /&gt;
* 110Ah Marine Deep Cycle Battery&lt;br /&gt;
* Folding Picnic Table (yes, exactly the same as poines!)&lt;br /&gt;
* Great Planes Triton multi-chemistry charger&lt;br /&gt;
* Custom waterproof data modem enclosure with type-N connector and 25 foot RS232 cable&lt;br /&gt;
* Various Pelican transport cases&lt;br /&gt;
&lt;br /&gt;
==Current Progress==&lt;br /&gt;
&lt;br /&gt;
* Airframe / Ground Station Complete&lt;br /&gt;
* Basic AUTO1 tuning, not satisfactory, will continue&lt;br /&gt;
&lt;br /&gt;
==ToDo==&lt;br /&gt;
&lt;br /&gt;
* Order 12 dBi yagi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Members]]&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=User:Mcurrie&amp;diff=5614</id>
		<title>User:Mcurrie</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=User:Mcurrie&amp;diff=5614"/>
		<updated>2009-10-11T21:49:42Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* TODO / PROGRESS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Matthew Currie ==&lt;br /&gt;
&lt;br /&gt;
* IRC Nick: dc3&amp;lt;br/&amp;gt;&lt;br /&gt;
* Location: Nanaimo, British Columbia, Canada&lt;br /&gt;
* Member Since: November 2006&lt;br /&gt;
&lt;br /&gt;
Built 13+ Tiny 13 v1.1 autopilot boards in-house.  Distributed boards into the group to break-even.&lt;br /&gt;
&lt;br /&gt;
=Setup=&lt;br /&gt;
&lt;br /&gt;
==Airframe and Powerplant==&lt;br /&gt;
&lt;br /&gt;
* Multiplex Funjet&lt;br /&gt;
* AXI 2212/26 Brushless &amp;quot;outrunner&amp;quot; Motor&lt;br /&gt;
* LiPower Lites 3S1P 2100mAh 18C LiPo Batteries x 2&lt;br /&gt;
* APC 9x6E Propeller (checked to draw ~ 11.5A)&lt;br /&gt;
&lt;br /&gt;
==Electronics==&lt;br /&gt;
&lt;br /&gt;
* Castle Creations Phoenix 35 Brushless Speed Control&lt;br /&gt;
* Castle Creations USB Programming Harness&lt;br /&gt;
* Berg 4L Receiver modified for PPM stream&lt;br /&gt;
* 2x Hitec HS-55 Servos&lt;br /&gt;
* Maxstream (now digi) XBee 2.4GHz Pro modems + devkit&lt;br /&gt;
* Modified FMA CoPilot XY and Z IR Sensor Boards&lt;br /&gt;
* Hitec Eclipse 7 Radio with Spectra PLL Module (btw the Spectra module is HORRIBLE)&lt;br /&gt;
&lt;br /&gt;
==Production and Tooling==&lt;br /&gt;
&lt;br /&gt;
* Hot Air Reflow Rework Station&lt;br /&gt;
* SMT Soldering Station&lt;br /&gt;
* Molex PicoBlade Crimpers&lt;br /&gt;
* Molex Micro-Fit 3.0 Crimpers&lt;br /&gt;
* 10-20 of each of every PicoBlade and MicroFit connectors&lt;br /&gt;
* Various Alpha 26 AWG Teflon Hook-up Wire&lt;br /&gt;
&lt;br /&gt;
==Field==&lt;br /&gt;
&lt;br /&gt;
* 110Ah Marine Deep Cycle Battery&lt;br /&gt;
* Folding Picnic Table (yes, exactly the same as poines!)&lt;br /&gt;
* Great Planes Triton multi-chemistry charger&lt;br /&gt;
* Custom waterproof data modem enclosure with type-N connector and 25 foot RS232 cable&lt;br /&gt;
* Various Pelican transport cases&lt;br /&gt;
&lt;br /&gt;
==Current Progress==&lt;br /&gt;
&lt;br /&gt;
* Airframe / Ground Station Complete&lt;br /&gt;
* Basic AUTO1 tuning, not satisfactory, will continue&lt;br /&gt;
&lt;br /&gt;
==ToDo==&lt;br /&gt;
&lt;br /&gt;
* Order 12 dBi yagi&lt;br /&gt;
&lt;br /&gt;
=== WIKI Contributions ===&lt;br /&gt;
&lt;br /&gt;
this is just a scratch pad of notes, etc.. might as well put them on the wiki so other can drop in on them..&lt;br /&gt;
&lt;br /&gt;
Tiny13 1.1 draws 34mAh from the main supply when powered by 18V.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Q:''' [Tiny 1.1] I get error accessing USB when trying to load code to the Autopilot&lt;br /&gt;
&lt;br /&gt;
'''A:''' You need to copy a USB rules file following the instructions below '''update: this did not appear to solve the problem. not sure why I figured it did.'''&lt;br /&gt;
&lt;br /&gt;
 # cd ''[paparazzi3 folder]''&lt;br /&gt;
 # cp conf/system/udev/rules/10-paparazzi.rules /etc/udev/rules.d/&lt;br /&gt;
&lt;br /&gt;
'''Q:''' [Tiny 0.9-1.1] What is the command to compile the ARM7 code?&lt;br /&gt;
&lt;br /&gt;
A: the two relevant commands are below.  Replace [AIRCRAFT] with the name of your aircraft.&lt;br /&gt;
&lt;br /&gt;
 # cd ''[parazzi3 folder]'''&lt;br /&gt;
 # make AIRCRAFT=[AIRCRAFT] ap.compile&lt;br /&gt;
&lt;br /&gt;
to download code that has already been compiled&lt;br /&gt;
&lt;br /&gt;
 # cd ''[parazzi3 folder]'''&lt;br /&gt;
 # make AIRCRAFT=[AIRCRAFT] ap.upload&lt;br /&gt;
&lt;br /&gt;
'''Q:''' How do I get GCS to talk to the AP with straight serial and not a modem?&lt;br /&gt;
&lt;br /&gt;
'''A:''' Here is an example of a section of my paparazzi3/conf/control_panel.xml&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;session name=&amp;quot;4 Matt Flight&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;program name=&amp;quot;link&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-d&amp;quot; constant=&amp;quot;/dev/ttyUSB0&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-transport&amp;quot; constant=&amp;quot;pprz&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-uplink&amp;quot; constant=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/program&amp;gt;&lt;br /&gt;
   &amp;lt;program name=&amp;quot;server&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;program name=&amp;quot;gcs&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/session&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Q:''' How do I load the USB Bootloader onto the Tiny?&lt;br /&gt;
&lt;br /&gt;
'''A:''' Start by wiring up 3.3V RS232 from the PC to the Tiny.  &lt;br /&gt;
&lt;br /&gt;
The serial lines on the ARM7 micro are 5V tolerant so if it helps cut down on complexity/parts you could use 5V RS232 for this.  ''Optional: You could also form a basic resistor voltage divider on the PC TX -&amp;gt; AP RX''&lt;br /&gt;
&lt;br /&gt;
*PC SERIAL_TX -&amp;gt; LPC_RXD_0 (SERIAL_1-7)&lt;br /&gt;
*PC SERIAL_RX -&amp;gt; LPC_TXD_0 (SERIAL_1-8)&lt;br /&gt;
*PC SERIAL_GND -&amp;gt; GND (SERIAL_1-1)&lt;br /&gt;
*LPC_P0.14 (SERIAL_1-5) must be asserted low (held to ground) while the Tiny powers up in order to enter the Serial Boot Loader.  (You could also wire this to a pushbutton which ties it to ground, holding this button briefly while you power up the AP.  This pin does not need to stay low during the programming or any time afterwards)&lt;br /&gt;
&lt;br /&gt;
once these connections have been made, execute this command in a console&lt;br /&gt;
&lt;br /&gt;
 # make PROC=GENERIC upload_bl&lt;br /&gt;
&lt;br /&gt;
[[Category:Members]]&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=FunJet&amp;diff=5554</id>
		<title>FunJet</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=FunJet&amp;diff=5554"/>
		<updated>2009-10-03T19:51:24Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* Misc Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.recherche.enac.fr/paparazzi/wiki/index.php/Airframes &amp;lt;&amp;lt;] Back to Airframes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[Image:Funjet_flight_dawnron1.jpg|thumb|left|Multiplex FunJet]]&lt;br /&gt;
|&lt;br /&gt;
The MultiPlex FunJet is an electric pusher-prop jet made of very durable Elapor Particle Foam Construction.  It offers plenty of room internally for avionics in an attractive package.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
* Suggested Retail Price of $65 USD&lt;br /&gt;
* Elapor Particle Foam construction&lt;br /&gt;
* Assembles in minutes with only Medium CA glue&lt;br /&gt;
* Fiberglass Wing Spar&lt;br /&gt;
* Moderately priced&lt;br /&gt;
* Detachable canopy for access to internals&lt;br /&gt;
* Plastic Motor Mount&lt;br /&gt;
* Wide flight speed envelope (slow without stalling, through fast)&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
* Wingspan: 31.29&amp;quot; (795mm)&lt;br /&gt;
* Wing Area: 232 sq in (15 sq dm)&lt;br /&gt;
* Weight: 21oz (620g) _all up_&lt;br /&gt;
* Weight w/o powerplant (for estimation): 330g&lt;br /&gt;
* Bare weight: 165g&lt;br /&gt;
* Length: 29.52&amp;quot; (750mm)&lt;br /&gt;
* Airfoils: Airfoil: Semi-symmetrical, mid wing at the fuselage sides&lt;br /&gt;
&lt;br /&gt;
=== Payload Area ===&lt;br /&gt;
&lt;br /&gt;
* Fuselage is 1.60&amp;quot; (40.6mm) wide x 20&amp;quot; long&lt;br /&gt;
&lt;br /&gt;
== Recommended Setups ==&lt;br /&gt;
&lt;br /&gt;
=== Manufacturer Recommendation ===&lt;br /&gt;
&lt;br /&gt;
Remember this is a hot sport plane so the manufacturers recommendation reflects typical desired performance and may not be the best match for UAV operations.&lt;br /&gt;
&lt;br /&gt;
* Motor: Himax HB2815-3000 Brushless Motor&lt;br /&gt;
* Battery: 3S1P 2100-3200mah LiPo&lt;br /&gt;
* Servos: 2 Nano sized (HS-55)&lt;br /&gt;
&lt;br /&gt;
=== Group Member Setups ===&lt;br /&gt;
&lt;br /&gt;
'''Martin'''&lt;br /&gt;
&lt;br /&gt;
* Motor: AXI 2212/26&lt;br /&gt;
* Battery: 3S1P 2100mAh LiPo&lt;br /&gt;
* Prop: 9x6&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Matthew Currie'''&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:FJ_MC_ANGLE.jpg|thumb|left|Multiplex FunJet]]&lt;br /&gt;
|[[Image:FJ_MC_SIDE.jpg|thumb|left|Multiplex FunJet]]&lt;br /&gt;
|[[Image:FJ_UNDERSIDE.JPG|thumb|left|Multiplex FunJet]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Motor: AXI 2212/26&lt;br /&gt;
* Battery: LiPower Lites 3S1P 2100mAh 18C LiPo&lt;br /&gt;
* Prop: APC 9x6E (checked to draw ~ 11.5A)&lt;br /&gt;
* Receiver: Berg 4L&lt;br /&gt;
* Servos: 2x Hitec HS-55&lt;br /&gt;
&lt;br /&gt;
=== Servos ===&lt;br /&gt;
&lt;br /&gt;
Multiplex calls for 2 Hitec HS-55 or 2 HS-65 servos&lt;br /&gt;
&lt;br /&gt;
=== Hitec HS-55 ===&lt;br /&gt;
&lt;br /&gt;
* MSRP: $13 USD&lt;br /&gt;
* Torque: 13/16 oz/in @ 4.8/6.0v&lt;br /&gt;
* Speed: 0.09/0.08 seconds/ 60deg @ 4.8/6.0v&lt;br /&gt;
* Weight: 0.29 oz (7.8g)&lt;br /&gt;
* Size: 0.9 x 0.46 x 0.95&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Hitec HS-65HB ===&lt;br /&gt;
&lt;br /&gt;
* MSRP: &lt;br /&gt;
* Motor Type: 3 Pole Ferrite&lt;br /&gt;
* Bearing Type: Top Ball Bearing&lt;br /&gt;
* Torque 4.8/6.0v: 22 / 26 oz (1.6 / 1.9 kg.)&lt;br /&gt;
* Speed 4.8/6.0v: 0.16 / 0.13 second&lt;br /&gt;
* Size: 0.9&amp;quot;x 0.5&amp;quot;x 0.9&amp;quot; (24 x 12 x 24m)&lt;br /&gt;
* Weigh : 0.39oz. 11.2 g.&lt;br /&gt;
&lt;br /&gt;
== Recommended Motors ==&lt;br /&gt;
'''Himax HB2815-3000 Brushless Motor'''&lt;br /&gt;
&lt;br /&gt;
[http://www.maxxprod.com/pdf/HB2815-xx00.pdf PDF Datasheet]&lt;br /&gt;
&lt;br /&gt;
* MSRP $69.95 USD&lt;br /&gt;
* Dimensions: 27mm x 38mm&lt;br /&gt;
* Weight: 86g&lt;br /&gt;
* KV: 3000&lt;br /&gt;
* Max Amps: 30A&lt;br /&gt;
* Max Watts: 275W&lt;br /&gt;
&lt;br /&gt;
'''AXI 2212/26'''&lt;br /&gt;
&lt;br /&gt;
http://www.modelmotors.cz/index.php?page=61&amp;amp;product=2212&amp;amp;serie=26&amp;amp;line=GOLD&lt;br /&gt;
&lt;br /&gt;
MSRP $69.95 USD&lt;br /&gt;
* Dimensions: 1-3/32&amp;quot; diameter, 1-3/16&amp;quot; case length, 3.17mm (1/8&amp;quot;) shaft&lt;br /&gt;
* Weight: 57 g&lt;br /&gt;
* KV: 920&lt;br /&gt;
* Max Amps: 12A&lt;br /&gt;
* Max Watts: 275W&lt;br /&gt;
* Prop's: &lt;br /&gt;
9x6, 24.5 ounce thrust, 14:12 full throttle.&lt;br /&gt;
&lt;br /&gt;
8x6, 19.5 ounce thrust, 19:38 full throttle.&lt;br /&gt;
&lt;br /&gt;
== Funjet Back Plate Construction ==&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Funjet_Back_Plate_Components.jpg|thumb|left|Funjet back plate construction components]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* A suitable precursor for the back plate is 5mmx75mmx75mm balsa sandwiched by 1mmx75mmx75mm plywood. The laminating adhesive used was PVA glue. The sandwich was left to dry overnight clamped by similar size wooden plates in a vice.&lt;br /&gt;
&lt;br /&gt;
* An outline of The 7mm elapor profile, cut from the back of the Funjet canopy, is drawn in a CAD/CAM program.    &lt;br /&gt;
:*download ''[[Media:Funjet_Back_Plate_CADopia.pdf|Funjet back plate CADopia drawing (pdf)]]''&lt;br /&gt;
&lt;br /&gt;
* A laser cutting firm transferred this outline to CorelDraw and cut an acrylic (Perspex) template.&lt;br /&gt;
:*download ''[[Media:Funjet_Back_Plate_CorelDraw .pdf|Funjet back plate CorelDraw drawing (pdf)]]''&lt;br /&gt;
&lt;br /&gt;
* The balsa/plywood sandwich was attached by double sided tape to the acrylic template and the correct outline achieved by routing around the acrylic border.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Funjet_Back_Plate_Fitted.jpg|thumb|left|Funjet back plate fitted]]&lt;br /&gt;
|[[Image:Tiny_v2_1_Funjet.jpg|thumb|left|Tiny v2.1 in a Funjet]]&lt;br /&gt;
|}&lt;br /&gt;
* The fitted plate looks remarkably similar to that displayed in the image on the right found on the main page of the wiki.&lt;br /&gt;
&lt;br /&gt;
== Online Discussion on FunJet topics ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.rcgroups.com/forums/showpost.php?p=7257031&amp;amp;postcount=2856 Modifying the motor cowling to increase airflow]&lt;br /&gt;
* [http://www.rcgroups.com/forums/showthread.php?p=7593625#post7593625 Adding prop spacers to move prop further back]&lt;br /&gt;
* [http://www.rcgroups.com/forums/showpost.php?p=7081811&amp;amp;postcount=2582 Mounting a MicroDan 2505 Brushless Outrunner]&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:Jet-motor-mount.jpg|thumb|Included Motor Mount]]&lt;br /&gt;
|[[Image:Funjet_highvis1_rycomm.jpg|thumb|Example of high visibility paint job]]&lt;br /&gt;
|[[Image:Funjet tipprotector sharkbyte.jpg|thumb|Idea for wing tip skid]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Misc Notes ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.recherche.enac.fr/paparazzi/wiki_images/FunJet_Manual_English.pdf Multiplex FunJet Instruction Manual - English]&lt;br /&gt;
* [http://www.recherche.enac.fr/paparazzi/wiki_images/FunJet_Manual_Multilanguage.pdf Multiplex FunJet Instruction Manual - Original Multilanguage]&lt;br /&gt;
* Painting Elapor should be primed [http://www.phillsmodels.com/acatalog/index.html?http%3A//www.phillsmodels.com/acatalog/Online_Catalogue_Paint_882.html&amp;amp;CatalogBody primer]&lt;br /&gt;
* Fiberglass wing spar: 22.5&amp;quot; (571mm) x .25&amp;quot; (6.35mm)&lt;br /&gt;
* Motor Screws (to hold plastic motor plate to plastic motor cowl) are slot head and appear to be 3.0mm x 0.5mm (thread) x 16mm long&lt;br /&gt;
* Screws for AXI &amp;quot;outrunner&amp;quot; motor are 3.0mm Diameter x 0.5mm Thread x 6 mm Length&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=FunJet&amp;diff=5553</id>
		<title>FunJet</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=FunJet&amp;diff=5553"/>
		<updated>2009-10-03T19:50:50Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* Misc Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.recherche.enac.fr/paparazzi/wiki/index.php/Airframes &amp;lt;&amp;lt;] Back to Airframes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[Image:Funjet_flight_dawnron1.jpg|thumb|left|Multiplex FunJet]]&lt;br /&gt;
|&lt;br /&gt;
The MultiPlex FunJet is an electric pusher-prop jet made of very durable Elapor Particle Foam Construction.  It offers plenty of room internally for avionics in an attractive package.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
* Suggested Retail Price of $65 USD&lt;br /&gt;
* Elapor Particle Foam construction&lt;br /&gt;
* Assembles in minutes with only Medium CA glue&lt;br /&gt;
* Fiberglass Wing Spar&lt;br /&gt;
* Moderately priced&lt;br /&gt;
* Detachable canopy for access to internals&lt;br /&gt;
* Plastic Motor Mount&lt;br /&gt;
* Wide flight speed envelope (slow without stalling, through fast)&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
* Wingspan: 31.29&amp;quot; (795mm)&lt;br /&gt;
* Wing Area: 232 sq in (15 sq dm)&lt;br /&gt;
* Weight: 21oz (620g) _all up_&lt;br /&gt;
* Weight w/o powerplant (for estimation): 330g&lt;br /&gt;
* Bare weight: 165g&lt;br /&gt;
* Length: 29.52&amp;quot; (750mm)&lt;br /&gt;
* Airfoils: Airfoil: Semi-symmetrical, mid wing at the fuselage sides&lt;br /&gt;
&lt;br /&gt;
=== Payload Area ===&lt;br /&gt;
&lt;br /&gt;
* Fuselage is 1.60&amp;quot; (40.6mm) wide x 20&amp;quot; long&lt;br /&gt;
&lt;br /&gt;
== Recommended Setups ==&lt;br /&gt;
&lt;br /&gt;
=== Manufacturer Recommendation ===&lt;br /&gt;
&lt;br /&gt;
Remember this is a hot sport plane so the manufacturers recommendation reflects typical desired performance and may not be the best match for UAV operations.&lt;br /&gt;
&lt;br /&gt;
* Motor: Himax HB2815-3000 Brushless Motor&lt;br /&gt;
* Battery: 3S1P 2100-3200mah LiPo&lt;br /&gt;
* Servos: 2 Nano sized (HS-55)&lt;br /&gt;
&lt;br /&gt;
=== Group Member Setups ===&lt;br /&gt;
&lt;br /&gt;
'''Martin'''&lt;br /&gt;
&lt;br /&gt;
* Motor: AXI 2212/26&lt;br /&gt;
* Battery: 3S1P 2100mAh LiPo&lt;br /&gt;
* Prop: 9x6&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Matthew Currie'''&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:FJ_MC_ANGLE.jpg|thumb|left|Multiplex FunJet]]&lt;br /&gt;
|[[Image:FJ_MC_SIDE.jpg|thumb|left|Multiplex FunJet]]&lt;br /&gt;
|[[Image:FJ_UNDERSIDE.JPG|thumb|left|Multiplex FunJet]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Motor: AXI 2212/26&lt;br /&gt;
* Battery: LiPower Lites 3S1P 2100mAh 18C LiPo&lt;br /&gt;
* Prop: APC 9x6E (checked to draw ~ 11.5A)&lt;br /&gt;
* Receiver: Berg 4L&lt;br /&gt;
* Servos: 2x Hitec HS-55&lt;br /&gt;
&lt;br /&gt;
=== Servos ===&lt;br /&gt;
&lt;br /&gt;
Multiplex calls for 2 Hitec HS-55 or 2 HS-65 servos&lt;br /&gt;
&lt;br /&gt;
=== Hitec HS-55 ===&lt;br /&gt;
&lt;br /&gt;
* MSRP: $13 USD&lt;br /&gt;
* Torque: 13/16 oz/in @ 4.8/6.0v&lt;br /&gt;
* Speed: 0.09/0.08 seconds/ 60deg @ 4.8/6.0v&lt;br /&gt;
* Weight: 0.29 oz (7.8g)&lt;br /&gt;
* Size: 0.9 x 0.46 x 0.95&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Hitec HS-65HB ===&lt;br /&gt;
&lt;br /&gt;
* MSRP: &lt;br /&gt;
* Motor Type: 3 Pole Ferrite&lt;br /&gt;
* Bearing Type: Top Ball Bearing&lt;br /&gt;
* Torque 4.8/6.0v: 22 / 26 oz (1.6 / 1.9 kg.)&lt;br /&gt;
* Speed 4.8/6.0v: 0.16 / 0.13 second&lt;br /&gt;
* Size: 0.9&amp;quot;x 0.5&amp;quot;x 0.9&amp;quot; (24 x 12 x 24m)&lt;br /&gt;
* Weigh : 0.39oz. 11.2 g.&lt;br /&gt;
&lt;br /&gt;
== Recommended Motors ==&lt;br /&gt;
'''Himax HB2815-3000 Brushless Motor'''&lt;br /&gt;
&lt;br /&gt;
[http://www.maxxprod.com/pdf/HB2815-xx00.pdf PDF Datasheet]&lt;br /&gt;
&lt;br /&gt;
* MSRP $69.95 USD&lt;br /&gt;
* Dimensions: 27mm x 38mm&lt;br /&gt;
* Weight: 86g&lt;br /&gt;
* KV: 3000&lt;br /&gt;
* Max Amps: 30A&lt;br /&gt;
* Max Watts: 275W&lt;br /&gt;
&lt;br /&gt;
'''AXI 2212/26'''&lt;br /&gt;
&lt;br /&gt;
http://www.modelmotors.cz/index.php?page=61&amp;amp;product=2212&amp;amp;serie=26&amp;amp;line=GOLD&lt;br /&gt;
&lt;br /&gt;
MSRP $69.95 USD&lt;br /&gt;
* Dimensions: 1-3/32&amp;quot; diameter, 1-3/16&amp;quot; case length, 3.17mm (1/8&amp;quot;) shaft&lt;br /&gt;
* Weight: 57 g&lt;br /&gt;
* KV: 920&lt;br /&gt;
* Max Amps: 12A&lt;br /&gt;
* Max Watts: 275W&lt;br /&gt;
* Prop's: &lt;br /&gt;
9x6, 24.5 ounce thrust, 14:12 full throttle.&lt;br /&gt;
&lt;br /&gt;
8x6, 19.5 ounce thrust, 19:38 full throttle.&lt;br /&gt;
&lt;br /&gt;
== Funjet Back Plate Construction ==&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Funjet_Back_Plate_Components.jpg|thumb|left|Funjet back plate construction components]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* A suitable precursor for the back plate is 5mmx75mmx75mm balsa sandwiched by 1mmx75mmx75mm plywood. The laminating adhesive used was PVA glue. The sandwich was left to dry overnight clamped by similar size wooden plates in a vice.&lt;br /&gt;
&lt;br /&gt;
* An outline of The 7mm elapor profile, cut from the back of the Funjet canopy, is drawn in a CAD/CAM program.    &lt;br /&gt;
:*download ''[[Media:Funjet_Back_Plate_CADopia.pdf|Funjet back plate CADopia drawing (pdf)]]''&lt;br /&gt;
&lt;br /&gt;
* A laser cutting firm transferred this outline to CorelDraw and cut an acrylic (Perspex) template.&lt;br /&gt;
:*download ''[[Media:Funjet_Back_Plate_CorelDraw .pdf|Funjet back plate CorelDraw drawing (pdf)]]''&lt;br /&gt;
&lt;br /&gt;
* The balsa/plywood sandwich was attached by double sided tape to the acrylic template and the correct outline achieved by routing around the acrylic border.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Funjet_Back_Plate_Fitted.jpg|thumb|left|Funjet back plate fitted]]&lt;br /&gt;
|[[Image:Tiny_v2_1_Funjet.jpg|thumb|left|Tiny v2.1 in a Funjet]]&lt;br /&gt;
|}&lt;br /&gt;
* The fitted plate looks remarkably similar to that displayed in the image on the right found on the main page of the wiki.&lt;br /&gt;
&lt;br /&gt;
== Online Discussion on FunJet topics ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.rcgroups.com/forums/showpost.php?p=7257031&amp;amp;postcount=2856 Modifying the motor cowling to increase airflow]&lt;br /&gt;
* [http://www.rcgroups.com/forums/showthread.php?p=7593625#post7593625 Adding prop spacers to move prop further back]&lt;br /&gt;
* [http://www.rcgroups.com/forums/showpost.php?p=7081811&amp;amp;postcount=2582 Mounting a MicroDan 2505 Brushless Outrunner]&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:Jet-motor-mount.jpg|thumb|Included Motor Mount]]&lt;br /&gt;
|[[Image:Funjet_highvis1_rycomm.jpg|thumb|Example of high visibility paint job]]&lt;br /&gt;
|[[Image:Funjet tipprotector sharkbyte.jpg|thumb|Idea for wing tip skid]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Misc Notes ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.recherche.enac.fr/paparazzi/wiki_images/FunJet_Manual_English.pdf Multiplex FunJet Instruction Manual - English]&lt;br /&gt;
* [http://www.recherche.enac.fr/paparazzi/wiki_images/FunJet_Manual_Multilanguage.pdf Multiplex FunJet Instruction Manual - Original Multilanguage]&lt;br /&gt;
* Painting Elapor should be primed [http://www.phillsmodels.com/acatalog/index.html?http%3A//www.phillsmodels.com/acatalog/Online_Catalogue_Paint_882.html&amp;amp;CatalogBody primer]&lt;br /&gt;
&lt;br /&gt;
* Fiberglass wing spar: 22.5&amp;quot; (571mm) x .25&amp;quot; (6.35mm)&lt;br /&gt;
* Motor Screws (to hold plastic motor plate to plastic motor cowl) are slot head and appear to be 3.0mm x 0.5mm (thread) x 16mm long&lt;br /&gt;
* Screws for AXI &amp;quot;outrunner&amp;quot; motor are 3.0mm Diameter x 0.5mm Thread x 6 mm Length&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Users&amp;diff=5472</id>
		<title>Users</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Users&amp;diff=5472"/>
		<updated>2009-09-19T04:41:35Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* North America */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please add yourself to this list if you wish to share who you are and what you are doing with Paparazzi&lt;br /&gt;
&lt;br /&gt;
==Need help adding your information?==&lt;br /&gt;
To have your information added by another paparazzi user, please send me an [http://www.rcgroups.com/forums/showpost.php?p=6575288&amp;amp;postcount=1 EMAIL] at with the &lt;br /&gt;
following:&lt;br /&gt;
&lt;br /&gt;
*Name&lt;br /&gt;
*Email&lt;br /&gt;
*Location&lt;br /&gt;
*Hardware&lt;br /&gt;
*Join date&lt;br /&gt;
*Current activities / project status&lt;br /&gt;
&lt;br /&gt;
== Wiki pages ==&lt;br /&gt;
add a link to your users wiki page.&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/User:Dconger Dconger]&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/User:MarcusWolschon MarcusWolschon]&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/User:Alfamyke Alfamyke]&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/User:Danstah Danstah]&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/User:Martinmm Martinmm]&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/User:John_Burt John Burt]&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/User:SilaS SilaS]&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/User:Mecevans Mecevans]&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/User:CSU-FCUAV CSU-FCUAV]&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/User:GPH Pierre-Selim]&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/User:Martinpi martinpi]&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/User:VAMK VAMK]&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/User:Rbdavison Bernard Davison]&lt;br /&gt;
&lt;br /&gt;
==Asia==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Asia&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:mnwxiaobao@gmail.com MNW]|| China || Tiny2.11 ||| 2009 || Just starting,having troubles with parts.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:shubhamearly@gmail.com Shubham]|| India || Tiny2.11 ||| 2009 || Writing the configuration code for airframe&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:mundhra@gmail.com M Mundhra] || India || Tiny 1.3 ||| 2007 || Gain tuning on a flying wing configuration airframe &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:ngkiangloong_at_hopetechnik.com Jianlun]|| Singapore || TWOG V1 ||| 2008 || trying to get TWOG onto an EasyStar. very much a newbie!&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:praxmail@gmail.com prashanth] || India || Tiny 2.11 ||| 2008 || 6 autonomous flights till now, currently build a new  wing like funjet  &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:spencerpangborn@gmail.com spencer] || Taipei, Taiwan || none ||| 2009 || research for now, hope to take aerial photos of Taipei City soon &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Europe==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:silas_at_silas.hu SilaS] || Budapest || Tiny 1.3 ||| 2007 || Applied tiny to GWS Estarter, finished long travels in AUTO2. Now transfert it to a Twinstar and working on pairing tiny with FPV.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:st.jr_at_gmx.at TomS] || Graz, Austria || Tiny 2.11 ||| 2008 || Starting to complete the wiring for the tiny and then trying to apply it to my TwinStar II.&lt;br /&gt;
 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:markggriffin_at_gmail.com MarkG] || Geneva, Switzerland || Modified Tiny 2.11, EeePC as GCS, Multiplex FunJet  ||| 2008 || Many successful flights. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:x-microdrones@2007.polytechnique.org X-MicroDrones] || Paris, France || Tiny 2.11, Quad-Tilt-Rotor VTOL  ||| 2008 || Wiring completed, first flights soon... We're trying to adapt Paparazzi to a Quad-Tilt-Rotor VTOL able to perform both airplane-like and helicopter-like flights. Working on inertial measurement units implementation. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:MarcusWolschon|Marcus Wolschon]] || Freiburg, Germany || Gumstix, Paraplane  ||| 2008 || Porting Paparazzi to Linux-Userland with UDP-communication using mesh-networking.&lt;br /&gt;
UDP-Downlink working, GPS via GPSD working, Pararazzi in Linux working, Hardware still RC-only due to sensor-soldering-issues&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:spam1_at_marzer.com CedricM] || Geneva, Switzerland || Tiny 2.11, Multiplex FunJet with video camera  ||| 2008 || Many successful flights working on an osd module and weather probes. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[ email = hendrix at vivodinet dot gr| Chris Efstathiou]] || Piraeus Hellas || tiny 2.11 on a Mpx EasyGlider, TWOG 1.3 on a Boomerang turbine jet ||| 2008 || The Easyglider is fully operational, still working on the jet which had his first flight with the TWOG at 25/1/2009  &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:Flixr|FelixR]] || Edinburgh, Scotland || Booz2 quadrotor ||| 2008 || remote controlled flight, working on Kalman Filter&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:azoreanuav_at_gmail.com Rui Costa] || Azores, Portugal || Outrunner Twinstar II with Tiny 2.11, Aerocomm datalink, 1W video tx ||| 2008 || Only ground test and software configuration.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:et@onyxnet.co.uk Alan K] || Middlesbrough, England || Tiny 2.11 &amp;amp; MaxStream ||| 2008 || Just starting.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:G R|Gareth R]] || Sheffield, UK || Tiny 2.11, video, bunch of helicopters, Multiplex Mentor, Multiplex Funjet, Multiplex Fox, GWS Formosa ||| 2008 || Several AUTO2 flights, currently debugging&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:sanarlab@yandex.ru Andrew Saenko] || Russia, St-Petersburg || Tiny 1.13, Tiny 2.11, 2.5 kg motorised glider, 800 g plane ||| 2007 || Automatic flight, adding own code.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:chebuzz_at_gmail.com David &amp;quot;Buzz&amp;quot; Carlson] || Cyprus || Tiny 2.11, Lynx EDF &amp;amp; GWS SloStick, 9XTend datalink ||| 2008 || Quite a few AUTO2 flights.  Plane currently grounded due to a TX run-in with a 1 year-old.  Currently working on getting new TX and completing CBP store setup.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:muralha_at_gmail.com Nuno Guedes] || Lamego, Portugal || Tiny 2.11 || 2008 || Starting&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Martinpi Martin Piehslinger] || Vienna, Austria || Tiny 2.11 || 2008 || just starting&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:kostalexis@ece.upatras.gr AneMos-Group] || Patras, Greece || Tiny 2.11, Quadrotor VTOL  ||| 2008 || Working on IMU, Trying to implement Constrained Control for the quadrotor trajectory flight&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:VAMK Allan Ojala (VAMK)] || Vaasa, Finland || TWOG, with AC4790 radio and LEA-5H GPS  ||| 2009 || Just constructed my own first RC airplane SIG KADET.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:maik.hoepfel_at_web.de Maik Hoepfel] || Berlin, Germany || TWOG, Graupner Elektro Trainer S, Futaba 9C 35 Mhz ||| August 2009 || Getting started, planning to eventually use Paparazzi for a powered parachute&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| New User || 1 || 2 ||| 3 || 4 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==North America==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Mcurrie Matthew Currie] || Nanaimo, BC Canada || Tiny 13 v1.1 (Self-built) ||| November 2006 || Funjet + XBee&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:pauldanielcox_at_gmail_dot_com Paul Cox]  &lt;br /&gt;
|Vancouver, WA [http://maps.google.com/maps?f=q&amp;amp;source=s_q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;q=98663&amp;amp;sll=37.0625,-95.677068&amp;amp;sspn=64.664844,101.953125&amp;amp;ie=UTF8&amp;amp;ll=45.606112,-122.643471&amp;amp;spn=0.222411,0.398254&amp;amp;z=12 &amp;lt;span title=&amp;quot;Google Map of 98663&amp;quot;&amp;gt;98663&amp;lt;/span&amp;gt;] &lt;br /&gt;
|    Tiny v2.11  ||  Nov. 2008 || GWS Slow Stick flying in AUTO2 reliably. Starting on stabilized video and payload drops Skype: pauldanielcox Gtalk: [use email] &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:quill_at_u.washington.edu John Burt] [http://paparazzi.enac.fr/wiki/User:John_Burt wiki page]|| Portland, Oregon || Tiny v2.11 + LEA-4H (PPZUAV), Multiplex Cularis/Easystar, 9Xtend modem, T7CAP TX, ground station: EEE PC701 and/or Nokia N810 ||| Jan 2009 || Initial flight tests w/ Easystar in AUTO1 &amp;amp; AUTO2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:ogar0007@umn.edu Pat O'Gara] || St. Paul, MN || Tiny 2.11 and TWOG (PPZUAV)  |||Oct. 2008 ||  Completed and flown FunJet and Minimag in Auto 2. Currently rebuilding MiniMag as an improved development platform. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:kochesj@gvsu.edu John Koches] || Muskegon, Michigan || Tiny 2.11 (PPZUAV)  ||| 2007 ||  currently flying a 48 inch zagi, 80 inch under construction.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:Stdeguir@gmail.com Steve Deguir] || New York,New York || Tiny2.11+LEA-5H (PPZUAV), XbeePro 2.4, Berg4L, JR FMA   ||| Feb 2009 || &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:bmw330i@me.com David Conger] || San Diego (Ramona), California || Tiny1.3 (PPZUAV)  ||| Sept 2007 || Flying Wing MAV with onboard video. Test platform for the new 900mhz XBPro 900 RF modems.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:mecevans@gmail.com Michael Evans] || Seaside(Monterey Bay), California || Tiny2.11 (PPZUAV)  ||| Feb 2009 ||http://www.rcgroups.com/forums/showthread.php?t=1000937. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| USU AggieAir Remote Sensing || Logan, UT || TWOG (PPZUAV)  ||| January 2009 || Building 72&amp;quot; Flying Wings which will be used for remote sensing. Routine autonomous flight.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://www.engr.usu.edu/wiki/index.php/OSAM USU OSAM-UAV] || Logan, UT || TWOG (PPZUAV)  ||| June 2007 || 2x72&amp;quot; 5x48&amp;quot; 1x60&amp;quot; Flying Wings. Research backyard for AggieAir Remote Sensing. Routine autonomous flight.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:CSU-FCUAV CSU Fuel Cell UAV] || Fort Collins, Co || Tiny 2.11 + LEA-5H (PPZUAV), 2.4Ghz XBPro ||| Mar 2009 || Maiden flight complete Feb 28.  New Airframe in development.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:armz12@gmail.com Armen Gharibans] || La Jolla, California || Tiny2.11 (PPZUAV)  ||| March 2009 || UCSD Project with Multiplex Mentor.  Completed August 2, 2009. Several Successful Auto2 Flights.  A LOT of help from David Conger.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| New User || 1 || 2 ||| 3 || 4 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Central America==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:joschau@comcast.net Joekadet] || David Panama' || Tiny v2.11/LEA-4P, RF Modems XBee Pro 2.4 GHz (PPZUAV).  Multiplex Mentor  ||| 2008 || Seven flights now. Flights 6 &amp;amp; 7 in Auto2. Now only a matter of fine tuning.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| New User || 1 || 2 ||| 3 || 4 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Australia==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:todd_soaring@yahoo.com.au Todd Sandercock] || Adelaide, SA || Tiny v2.11, Multiplex Twinjet, 9Xtend modems ||| Jan 2008 || Completed successful flight testing. Now designing new airframe.  &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:reubenb87@gmail.com Reuben Brown]|| Gawler, SA || Tiny v2.11 ||| May 2009 || Getting the autopilot set up &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Rbdavison Bernard Davison] || Neutral Bay, NSW || Tiny v2.11, Vertical + Horizontal IR sensors, XBee PRO modems, Futaba T6EXAP TX, Futaba R136F RX, Funjet,  MacBook laptop ||| August 2008 || Configuring before first flight.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Rufus Chris Gough] || Canberra || TWOG v2.11, EZ* || September 09 || not yet airborn &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Africa==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:w1_th@yahoo.com W1th] || South Africa KZN || TWOG V1 ,LEA-5H GPS , RF Modems XBee Pro 868 (CheBuzz) ||| July 2009  || New to this , Got TWOG,GPS etc interfacing with Laptop and working ..Made a website [http://www.best-bargains.co.za/scarf/paparazzi.html SCARF] of my struggle ...&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Links&amp;diff=5471</id>
		<title>Links</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Links&amp;diff=5471"/>
		<updated>2009-09-19T04:40:14Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* The IRC Chat Channel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== The Project Page ==&lt;br /&gt;
&lt;br /&gt;
The Paparazzi project is hosted at http://www.nongnu.org/paparazzi/ where the CVS repository is available.&lt;br /&gt;
&lt;br /&gt;
== The IRC Chat Channel ==&lt;br /&gt;
&lt;br /&gt;
  Network: Freenode&lt;br /&gt;
  Network Host: irc.freenode.net&lt;br /&gt;
  Channel: #paparazzi&lt;br /&gt;
&lt;br /&gt;
* Web Based:  You can use a [http://embed.mibbit.com/?server=irc.freenode.net&amp;amp;channel=%23paparazzi&amp;amp;noServerNotices=true web-based IRC portal] that makes it easy for people to jump in from any computer. Simply enter a unique ''nickname'', and '''say hello''' to the team!&lt;br /&gt;
* Client Software: Download one of the many freeware/shareware IRC clients and put [irc://irc.freenode.net/#paparazzi #paparazzi] at the top of your favorites list!&lt;br /&gt;
*: [http://www.mirc.com mIRC] (Windows)&lt;br /&gt;
*: [http://www.xchat.org Xchat]&lt;br /&gt;
&lt;br /&gt;
== Paparazzi Users Forum ==&lt;br /&gt;
&lt;br /&gt;
These forums should not attempt to replace the wiki, but rather compliment it. Sometimes information is buried in this wiki and hard to find, this could help people know where to find it. Standard policy is to answer peoples questions by pointing them to the place on the wiki. '''If it doesn't exist, answer and then put it on the wiki'''. This way you have double the exposure to the info and it becomes easier for people to find.&lt;br /&gt;
&lt;br /&gt;
http://www.azoreanuav.com/forum&lt;br /&gt;
&lt;br /&gt;
http://groups.yahoo.com/group/paparazzi-autopilot/&lt;br /&gt;
&lt;br /&gt;
== Paparazzi Youtube and Other Video Site Links ==&lt;br /&gt;
&lt;br /&gt;
http://www.youtube.com/user/USUOSAM  &lt;br /&gt;
&lt;br /&gt;
== Paparazzi teams/users/contributors ==&lt;br /&gt;
&lt;br /&gt;
http://www.caughey.com/uavblog/news.php?id=1&lt;br /&gt;
&lt;br /&gt;
http://www.miraterre.com/index.html&lt;br /&gt;
&lt;br /&gt;
http://mecano.gme.usherb.ca/~vamudes/&lt;br /&gt;
&lt;br /&gt;
http://pfump.org&lt;br /&gt;
&lt;br /&gt;
http://www.ismo.hs-bremen.de/dokuwiki/doku.php?id=elem:projekte:intro#semesterprojekte  (German)&lt;br /&gt;
&lt;br /&gt;
http://www.engr.usu.edu/wiki/index.php/OSAM&lt;br /&gt;
&lt;br /&gt;
http://www.techhopups.com/&lt;br /&gt;
&lt;br /&gt;
http://pixhawk.ethz.ch&lt;br /&gt;
&lt;br /&gt;
http://www.rcgroups.com/forums/showthread.php?t=851820&lt;br /&gt;
&lt;br /&gt;
http://www.rcgroups.com/forums/showthread.php?t=1000937&lt;br /&gt;
&lt;br /&gt;
http://www.mannberg.co.uk/paparazzi/&lt;br /&gt;
&lt;br /&gt;
== WikiNode ==&lt;br /&gt;
&lt;br /&gt;
Related wiki are, as always, listed on the [[WikiNode]].&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Links&amp;diff=5470</id>
		<title>Links</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Links&amp;diff=5470"/>
		<updated>2009-09-19T04:35:10Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== The Project Page ==&lt;br /&gt;
&lt;br /&gt;
The Paparazzi project is hosted at http://www.nongnu.org/paparazzi/ where the CVS repository is available.&lt;br /&gt;
&lt;br /&gt;
== The IRC Chat Channel ==&lt;br /&gt;
&lt;br /&gt;
  Network: Freenode&lt;br /&gt;
  Network Host: irc.freenode.net&lt;br /&gt;
  Channel: #paparazzi&lt;br /&gt;
&lt;br /&gt;
* Web Based:  You can use a [http://embed.mibbit.com/?server=irc.freenode.net&amp;amp;channel=%23paparazzi&amp;amp;noServerNotices=true web-based IRC portal] that makes it easy for people to jump in from any computer. Simply enter a unique ''nickname'', and '''say hello''' to the team!&lt;br /&gt;
* Client Software: Download one of the many freeware/shareware IRC clients and put [irc://irc.freenode.net/#paparazzi #paparazzi] at the top of your favorites list!&lt;br /&gt;
*: [http://www.mirc.com mIRC]&lt;br /&gt;
*: [http://www.xchat.org Xchat]&lt;br /&gt;
&lt;br /&gt;
== Paparazzi Users Forum ==&lt;br /&gt;
&lt;br /&gt;
These forums should not attempt to replace the wiki, but rather compliment it. Sometimes information is buried in this wiki and hard to find, this could help people know where to find it. Standard policy is to answer peoples questions by pointing them to the place on the wiki. '''If it doesn't exist, answer and then put it on the wiki'''. This way you have double the exposure to the info and it becomes easier for people to find.&lt;br /&gt;
&lt;br /&gt;
http://www.azoreanuav.com/forum&lt;br /&gt;
&lt;br /&gt;
http://groups.yahoo.com/group/paparazzi-autopilot/&lt;br /&gt;
&lt;br /&gt;
== Paparazzi Youtube and Other Video Site Links ==&lt;br /&gt;
&lt;br /&gt;
http://www.youtube.com/user/USUOSAM  &lt;br /&gt;
&lt;br /&gt;
== Paparazzi teams/users/contributors ==&lt;br /&gt;
&lt;br /&gt;
http://www.caughey.com/uavblog/news.php?id=1&lt;br /&gt;
&lt;br /&gt;
http://www.miraterre.com/index.html&lt;br /&gt;
&lt;br /&gt;
http://mecano.gme.usherb.ca/~vamudes/&lt;br /&gt;
&lt;br /&gt;
http://pfump.org&lt;br /&gt;
&lt;br /&gt;
http://www.ismo.hs-bremen.de/dokuwiki/doku.php?id=elem:projekte:intro#semesterprojekte  (German)&lt;br /&gt;
&lt;br /&gt;
http://www.engr.usu.edu/wiki/index.php/OSAM&lt;br /&gt;
&lt;br /&gt;
http://www.techhopups.com/&lt;br /&gt;
&lt;br /&gt;
http://pixhawk.ethz.ch&lt;br /&gt;
&lt;br /&gt;
http://www.rcgroups.com/forums/showthread.php?t=851820&lt;br /&gt;
&lt;br /&gt;
http://www.rcgroups.com/forums/showthread.php?t=1000937&lt;br /&gt;
&lt;br /&gt;
http://www.mannberg.co.uk/paparazzi/&lt;br /&gt;
&lt;br /&gt;
== WikiNode ==&lt;br /&gt;
&lt;br /&gt;
Related wiki are, as always, listed on the [[WikiNode]].&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=User:Mcurrie&amp;diff=5460</id>
		<title>User:Mcurrie</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=User:Mcurrie&amp;diff=5460"/>
		<updated>2009-09-15T07:02:37Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* Production and Tooling */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Matthew Currie ==&lt;br /&gt;
&lt;br /&gt;
* IRC Nick: dc3&amp;lt;br/&amp;gt;&lt;br /&gt;
* Location: Nanaimo, British Columbia, Canada&lt;br /&gt;
* Member Since: November 2006&lt;br /&gt;
&lt;br /&gt;
Built 13+ Tiny 13 v1.1 autopilot boards in-house.  Distributed boards into the group to break-even.&lt;br /&gt;
&lt;br /&gt;
=Setup=&lt;br /&gt;
&lt;br /&gt;
==Airframe and Powerplant==&lt;br /&gt;
&lt;br /&gt;
* Multiplex Funjet&lt;br /&gt;
* AXI 2212/26 Brushless &amp;quot;outrunner&amp;quot; Motor&lt;br /&gt;
* LiPower Lites 3S1P 2100mAh 18C LiPo Batteries x 2&lt;br /&gt;
* APC 9x6E Propeller (checked to draw ~ 11.5A)&lt;br /&gt;
&lt;br /&gt;
==Electronics==&lt;br /&gt;
&lt;br /&gt;
* Castle Creations Phoenix 35 Brushless Speed Control&lt;br /&gt;
* Castle Creations USB Programming Harness&lt;br /&gt;
* Berg 4L Receiver modified for PPM stream&lt;br /&gt;
* 2x Hitec HS-55 Servos&lt;br /&gt;
* Maxstream (now digi) XBee 2.4GHz Pro modems + devkit&lt;br /&gt;
* Modified FMA CoPilot XY and Z IR Sensor Boards&lt;br /&gt;
* Hitec Eclipse 7 Radio with Spectra PLL Module (btw the Spectra module is HORRIBLE)&lt;br /&gt;
&lt;br /&gt;
==Production and Tooling==&lt;br /&gt;
&lt;br /&gt;
* Hot Air Reflow Rework Station&lt;br /&gt;
* SMT Soldering Station&lt;br /&gt;
* Molex PicoBlade Crimpers&lt;br /&gt;
* Molex Micro-Fit 3.0 Crimpers&lt;br /&gt;
* 10-20 of each of every PicoBlade and MicroFit connectors&lt;br /&gt;
* Various Alpha 26 AWG Teflon Hook-up Wire&lt;br /&gt;
&lt;br /&gt;
==Field==&lt;br /&gt;
&lt;br /&gt;
* 110Ah Marine Deep Cycle Battery&lt;br /&gt;
* Folding Picnic Table (yes, exactly the same as poines!)&lt;br /&gt;
* Great Planes Triton multi-chemistry charger&lt;br /&gt;
* Custom waterproof data modem enclosure with type-N connector and 25 foot RS232 cable&lt;br /&gt;
* Various Pelican transport cases&lt;br /&gt;
&lt;br /&gt;
==TODO / PROGRESS==&lt;br /&gt;
&lt;br /&gt;
* Develop basic airframe file&lt;br /&gt;
* Complete airborne wiring harness&lt;br /&gt;
* Mount IR Sensors&lt;br /&gt;
* Order 12 dBi radome enclosed yagi&lt;br /&gt;
* Fly&lt;br /&gt;
&lt;br /&gt;
=== WIKI Contributions ===&lt;br /&gt;
&lt;br /&gt;
this is just a scratch pad of notes, etc.. might as well put them on the wiki so other can drop in on them..&lt;br /&gt;
&lt;br /&gt;
Tiny13 1.1 draws 34mAh from the main supply when powered by 18V.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Q:''' [Tiny 1.1] I get error accessing USB when trying to load code to the Autopilot&lt;br /&gt;
&lt;br /&gt;
'''A:''' You need to copy a USB rules file following the instructions below '''update: this did not appear to solve the problem. not sure why I figured it did.'''&lt;br /&gt;
&lt;br /&gt;
 # cd ''[paparazzi3 folder]''&lt;br /&gt;
 # cp conf/system/udev/rules/10-paparazzi.rules /etc/udev/rules.d/&lt;br /&gt;
&lt;br /&gt;
'''Q:''' [Tiny 0.9-1.1] What is the command to compile the ARM7 code?&lt;br /&gt;
&lt;br /&gt;
A: the two relevant commands are below.  Replace [AIRCRAFT] with the name of your aircraft.&lt;br /&gt;
&lt;br /&gt;
 # cd ''[parazzi3 folder]'''&lt;br /&gt;
 # make AIRCRAFT=[AIRCRAFT] ap.compile&lt;br /&gt;
&lt;br /&gt;
to download code that has already been compiled&lt;br /&gt;
&lt;br /&gt;
 # cd ''[parazzi3 folder]'''&lt;br /&gt;
 # make AIRCRAFT=[AIRCRAFT] ap.upload&lt;br /&gt;
&lt;br /&gt;
'''Q:''' How do I get GCS to talk to the AP with straight serial and not a modem?&lt;br /&gt;
&lt;br /&gt;
'''A:''' Here is an example of a section of my paparazzi3/conf/control_panel.xml&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;session name=&amp;quot;4 Matt Flight&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;program name=&amp;quot;link&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-d&amp;quot; constant=&amp;quot;/dev/ttyUSB0&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-transport&amp;quot; constant=&amp;quot;pprz&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-uplink&amp;quot; constant=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/program&amp;gt;&lt;br /&gt;
   &amp;lt;program name=&amp;quot;server&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;program name=&amp;quot;gcs&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/session&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Q:''' How do I load the USB Bootloader onto the Tiny?&lt;br /&gt;
&lt;br /&gt;
'''A:''' Start by wiring up 3.3V RS232 from the PC to the Tiny.  &lt;br /&gt;
&lt;br /&gt;
The serial lines on the ARM7 micro are 5V tolerant so if it helps cut down on complexity/parts you could use 5V RS232 for this.  ''Optional: You could also form a basic resistor voltage divider on the PC TX -&amp;gt; AP RX''&lt;br /&gt;
&lt;br /&gt;
*PC SERIAL_TX -&amp;gt; LPC_RXD_0 (SERIAL_1-7)&lt;br /&gt;
*PC SERIAL_RX -&amp;gt; LPC_TXD_0 (SERIAL_1-8)&lt;br /&gt;
*PC SERIAL_GND -&amp;gt; GND (SERIAL_1-1)&lt;br /&gt;
*LPC_P0.14 (SERIAL_1-5) must be asserted low (held to ground) while the Tiny powers up in order to enter the Serial Boot Loader.  (You could also wire this to a pushbutton which ties it to ground, holding this button briefly while you power up the AP.  This pin does not need to stay low during the programming or any time afterwards)&lt;br /&gt;
&lt;br /&gt;
once these connections have been made, execute this command in a console&lt;br /&gt;
&lt;br /&gt;
 # make PROC=GENERIC upload_bl&lt;br /&gt;
&lt;br /&gt;
[[Category:Members]]&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=User:Mcurrie&amp;diff=5459</id>
		<title>User:Mcurrie</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=User:Mcurrie&amp;diff=5459"/>
		<updated>2009-09-15T07:01:55Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* Matthew Currie */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Matthew Currie ==&lt;br /&gt;
&lt;br /&gt;
* IRC Nick: dc3&amp;lt;br/&amp;gt;&lt;br /&gt;
* Location: Nanaimo, British Columbia, Canada&lt;br /&gt;
* Member Since: November 2006&lt;br /&gt;
&lt;br /&gt;
Built 13+ Tiny 13 v1.1 autopilot boards in-house.  Distributed boards into the group to break-even.&lt;br /&gt;
&lt;br /&gt;
=Setup=&lt;br /&gt;
&lt;br /&gt;
==Airframe and Powerplant==&lt;br /&gt;
&lt;br /&gt;
* Multiplex Funjet&lt;br /&gt;
* AXI 2212/26 Brushless &amp;quot;outrunner&amp;quot; Motor&lt;br /&gt;
* LiPower Lites 3S1P 2100mAh 18C LiPo Batteries x 2&lt;br /&gt;
* APC 9x6E Propeller (checked to draw ~ 11.5A)&lt;br /&gt;
&lt;br /&gt;
==Electronics==&lt;br /&gt;
&lt;br /&gt;
* Castle Creations Phoenix 35 Brushless Speed Control&lt;br /&gt;
* Castle Creations USB Programming Harness&lt;br /&gt;
* Berg 4L Receiver modified for PPM stream&lt;br /&gt;
* 2x Hitec HS-55 Servos&lt;br /&gt;
* Maxstream (now digi) XBee 2.4GHz Pro modems + devkit&lt;br /&gt;
* Modified FMA CoPilot XY and Z IR Sensor Boards&lt;br /&gt;
* Hitec Eclipse 7 Radio with Spectra PLL Module (btw the Spectra module is HORRIBLE)&lt;br /&gt;
&lt;br /&gt;
==Production and Tooling==&lt;br /&gt;
&lt;br /&gt;
* Hot Air Reflow Rework Station&lt;br /&gt;
* SMT Soldering Station&lt;br /&gt;
* Molex PicoBlade Crimpers&lt;br /&gt;
* Molex Micro-Fit 3.0 Crimpers&lt;br /&gt;
* Various Alpha 26 AWG Teflon Hook-up Wire&lt;br /&gt;
&lt;br /&gt;
==Field==&lt;br /&gt;
&lt;br /&gt;
* 110Ah Marine Deep Cycle Battery&lt;br /&gt;
* Folding Picnic Table (yes, exactly the same as poines!)&lt;br /&gt;
* Great Planes Triton multi-chemistry charger&lt;br /&gt;
* Custom waterproof data modem enclosure with type-N connector and 25 foot RS232 cable&lt;br /&gt;
* Various Pelican transport cases&lt;br /&gt;
&lt;br /&gt;
==TODO / PROGRESS==&lt;br /&gt;
&lt;br /&gt;
* Develop basic airframe file&lt;br /&gt;
* Complete airborne wiring harness&lt;br /&gt;
* Mount IR Sensors&lt;br /&gt;
* Order 12 dBi radome enclosed yagi&lt;br /&gt;
* Fly&lt;br /&gt;
&lt;br /&gt;
=== WIKI Contributions ===&lt;br /&gt;
&lt;br /&gt;
this is just a scratch pad of notes, etc.. might as well put them on the wiki so other can drop in on them..&lt;br /&gt;
&lt;br /&gt;
Tiny13 1.1 draws 34mAh from the main supply when powered by 18V.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Q:''' [Tiny 1.1] I get error accessing USB when trying to load code to the Autopilot&lt;br /&gt;
&lt;br /&gt;
'''A:''' You need to copy a USB rules file following the instructions below '''update: this did not appear to solve the problem. not sure why I figured it did.'''&lt;br /&gt;
&lt;br /&gt;
 # cd ''[paparazzi3 folder]''&lt;br /&gt;
 # cp conf/system/udev/rules/10-paparazzi.rules /etc/udev/rules.d/&lt;br /&gt;
&lt;br /&gt;
'''Q:''' [Tiny 0.9-1.1] What is the command to compile the ARM7 code?&lt;br /&gt;
&lt;br /&gt;
A: the two relevant commands are below.  Replace [AIRCRAFT] with the name of your aircraft.&lt;br /&gt;
&lt;br /&gt;
 # cd ''[parazzi3 folder]'''&lt;br /&gt;
 # make AIRCRAFT=[AIRCRAFT] ap.compile&lt;br /&gt;
&lt;br /&gt;
to download code that has already been compiled&lt;br /&gt;
&lt;br /&gt;
 # cd ''[parazzi3 folder]'''&lt;br /&gt;
 # make AIRCRAFT=[AIRCRAFT] ap.upload&lt;br /&gt;
&lt;br /&gt;
'''Q:''' How do I get GCS to talk to the AP with straight serial and not a modem?&lt;br /&gt;
&lt;br /&gt;
'''A:''' Here is an example of a section of my paparazzi3/conf/control_panel.xml&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;session name=&amp;quot;4 Matt Flight&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;program name=&amp;quot;link&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-d&amp;quot; constant=&amp;quot;/dev/ttyUSB0&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-transport&amp;quot; constant=&amp;quot;pprz&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-uplink&amp;quot; constant=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/program&amp;gt;&lt;br /&gt;
   &amp;lt;program name=&amp;quot;server&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;program name=&amp;quot;gcs&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/session&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Q:''' How do I load the USB Bootloader onto the Tiny?&lt;br /&gt;
&lt;br /&gt;
'''A:''' Start by wiring up 3.3V RS232 from the PC to the Tiny.  &lt;br /&gt;
&lt;br /&gt;
The serial lines on the ARM7 micro are 5V tolerant so if it helps cut down on complexity/parts you could use 5V RS232 for this.  ''Optional: You could also form a basic resistor voltage divider on the PC TX -&amp;gt; AP RX''&lt;br /&gt;
&lt;br /&gt;
*PC SERIAL_TX -&amp;gt; LPC_RXD_0 (SERIAL_1-7)&lt;br /&gt;
*PC SERIAL_RX -&amp;gt; LPC_TXD_0 (SERIAL_1-8)&lt;br /&gt;
*PC SERIAL_GND -&amp;gt; GND (SERIAL_1-1)&lt;br /&gt;
*LPC_P0.14 (SERIAL_1-5) must be asserted low (held to ground) while the Tiny powers up in order to enter the Serial Boot Loader.  (You could also wire this to a pushbutton which ties it to ground, holding this button briefly while you power up the AP.  This pin does not need to stay low during the programming or any time afterwards)&lt;br /&gt;
&lt;br /&gt;
once these connections have been made, execute this command in a console&lt;br /&gt;
&lt;br /&gt;
 # make PROC=GENERIC upload_bl&lt;br /&gt;
&lt;br /&gt;
[[Category:Members]]&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Users&amp;diff=5458</id>
		<title>Users</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Users&amp;diff=5458"/>
		<updated>2009-09-15T06:48:31Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* North America */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please add yourself to this list if you wish to share who you are and what you are doing with Paparazzi&lt;br /&gt;
&lt;br /&gt;
==Need help adding your information?==&lt;br /&gt;
To have your information added by another paparazzi user, please send me an [http://www.rcgroups.com/forums/showpost.php?p=6575288&amp;amp;postcount=1 EMAIL] at with the &lt;br /&gt;
following:&lt;br /&gt;
&lt;br /&gt;
*Name&lt;br /&gt;
*Email&lt;br /&gt;
*Location&lt;br /&gt;
*Hardware&lt;br /&gt;
*Join date&lt;br /&gt;
*Current activities / project status&lt;br /&gt;
&lt;br /&gt;
== Wiki pages ==&lt;br /&gt;
add a link to your users wiki page.&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/User:Dconger Dconger]&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/User:MarcusWolschon MarcusWolschon]&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/User:Alfamyke Alfamyke]&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/User:Danstah Danstah]&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/User:Martinmm Martinmm]&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/User:John_Burt John Burt]&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/User:SilaS SilaS]&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/User:Mecevans Mecevans]&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/User:CSU-FCUAV CSU-FCUAV]&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/User:GPH Pierre-Selim]&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/User:Martinpi martinpi]&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/User:VAMK VAMK]&lt;br /&gt;
&lt;br /&gt;
[http://paparazzi.enac.fr/wiki/User:Rbdavison Bernard Davison]&lt;br /&gt;
&lt;br /&gt;
==Asia==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|+ Asia&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:mnwxiaobao@gmail.com MNW]|| China || Tiny2.11 ||| 2009 || Just starting,having troubles with parts.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:shubhamearly@gmail.com Shubham]|| India || Tiny2.11 ||| 2009 || Writing the configuration code for airframe&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:mundhra@gmail.com M Mundhra] || India || Tiny 1.3 ||| 2007 || Gain tuning on a flying wing configuration airframe &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:ngkiangloong_at_hopetechnik.com Jianlun]|| Singapore || TWOG V1 ||| 2008 || trying to get TWOG onto an EasyStar. very much a newbie!&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:praxmail@gmail.com prashanth] || India || Tiny 2.11 ||| 2008 || 6 autonomous flights till now, currently build a new  wing like funjet  &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:spencerpangborn@gmail.com spencer] || Taipei, Taiwan || none ||| 2009 || research for now, hope to take aerial photos of Taipei City soon &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Europe==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:silas_at_silas.hu SilaS] || Budapest || Tiny 1.3 ||| 2007 || Applied tiny to GWS Estarter, finished long travels in AUTO2. Now transfert it to a Twinstar and working on pairing tiny with FPV.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:st.jr_at_gmx.at TomS] || Graz, Austria || Tiny 2.11 ||| 2008 || Starting to complete the wiring for the tiny and then trying to apply it to my TwinStar II.&lt;br /&gt;
 &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:markggriffin_at_gmail.com MarkG] || Geneva, Switzerland || Modified Tiny 2.11, EeePC as GCS, Multiplex FunJet  ||| 2008 || Many successful flights. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:x-microdrones@2007.polytechnique.org X-MicroDrones] || Paris, France || Tiny 2.11, Quad-Tilt-Rotor VTOL  ||| 2008 || Wiring completed, first flights soon... We're trying to adapt Paparazzi to a Quad-Tilt-Rotor VTOL able to perform both airplane-like and helicopter-like flights. Working on inertial measurement units implementation. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:MarcusWolschon|Marcus Wolschon]] || Freiburg, Germany || Gumstix, Paraplane  ||| 2008 || Porting Paparazzi to Linux-Userland with UDP-communication using mesh-networking.&lt;br /&gt;
UDP-Downlink working, GPS via GPSD working, Pararazzi in Linux working, Hardware still RC-only due to sensor-soldering-issues&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:spam1_at_marzer.com CedricM] || Geneva, Switzerland || Tiny 2.11, Multiplex FunJet with video camera  ||| 2008 || Many successful flights working on an osd module and weather probes. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[ email = hendrix at vivodinet dot gr| Chris Efstathiou]] || Piraeus Hellas || tiny 2.11 on a Mpx EasyGlider, TWOG 1.3 on a Boomerang turbine jet ||| 2008 || The Easyglider is fully operational, still working on the jet which had his first flight with the TWOG at 25/1/2009  &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:Flixr|FelixR]] || Edinburgh, Scotland || Booz2 quadrotor ||| 2008 || remote controlled flight, working on Kalman Filter&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:azoreanuav_at_gmail.com Rui Costa] || Azores, Portugal || Outrunner Twinstar II with Tiny 2.11, Aerocomm datalink, 1W video tx ||| 2008 || Only ground test and software configuration.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:et@onyxnet.co.uk Alan K] || Middlesbrough, England || Tiny 2.11 &amp;amp; MaxStream ||| 2008 || Just starting.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [[User:G R|Gareth R]] || Sheffield, UK || Tiny 2.11, video, bunch of helicopters, Multiplex Mentor, Multiplex Funjet, Multiplex Fox, GWS Formosa ||| 2008 || Several AUTO2 flights, currently debugging&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:sanarlab@yandex.ru Andrew Saenko] || Russia, St-Petersburg || Tiny 1.13, Tiny 2.11, 2.5 kg motorised glider, 800 g plane ||| 2007 || Automatic flight, adding own code.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:chebuzz_at_gmail.com David &amp;quot;Buzz&amp;quot; Carlson] || Cyprus || Tiny 2.11, Lynx EDF &amp;amp; GWS SloStick, 9XTend datalink ||| 2008 || Quite a few AUTO2 flights.  Plane currently grounded due to a TX run-in with a 1 year-old.  Currently working on getting new TX and completing CBP store setup.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:muralha_at_gmail.com Nuno Guedes] || Lamego, Portugal || Tiny 2.11 || 2008 || Starting&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Martinpi Martin Piehslinger] || Vienna, Austria || Tiny 2.11 || 2008 || just starting&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:kostalexis@ece.upatras.gr AneMos-Group] || Patras, Greece || Tiny 2.11, Quadrotor VTOL  ||| 2008 || Working on IMU, Trying to implement Constrained Control for the quadrotor trajectory flight&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:VAMK Allan Ojala (VAMK)] || Vaasa, Finland || TWOG, with AC4790 radio and LEA-5H GPS  ||| 2009 || Just constructed my own first RC airplane SIG KADET.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:maik.hoepfel_at_web.de Maik Hoepfel] || Berlin, Germany || TWOG, Graupner Elektro Trainer S, Futaba 9C 35 Mhz ||| August 2009 || Getting started, planning to eventually use Paparazzi for a powered parachute&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| New User || 1 || 2 ||| 3 || 4 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==North America==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Mcurrie Matthew Currie] || Nanaimo, BC Canada || Tiny 13 v1.1 (Self-built) ||| November 2006 || Funjet + XBee&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:pauldanielcox_at_gmail_dot_com Paul Cox]  &lt;br /&gt;
|Vancouver, WA [http://maps.google.com/maps?f=q&amp;amp;source=s_q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;q=98663&amp;amp;sll=37.0625,-95.677068&amp;amp;sspn=64.664844,101.953125&amp;amp;ie=UTF8&amp;amp;ll=45.606112,-122.643471&amp;amp;spn=0.222411,0.398254&amp;amp;z=12 &amp;lt;span title=&amp;quot;Google Map of 98663&amp;quot;&amp;gt;98663&amp;lt;/span&amp;gt;] &lt;br /&gt;
|    Tiny v2.11  ||  Nov. 2008 || GWS Slow Stick flying in AUTO2 reliably. Starting on stabilized video and payload drops Skype: pauldanielcox Gtalk: [use email] &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:quill_at_u.washington.edu John Burt] [http://paparazzi.enac.fr/wiki/User:John_Burt wiki page]|| Portland, Oregon || Tiny v2.11 + LEA-4H (PPZUAV), Multiplex Cularis/Easystar, 9Xtend modem, T7CAP TX, ground station: EEE PC701 and/or Nokia N810 ||| Jan 2009 || Initial flight tests w/ Easystar in AUTO1 &amp;amp; AUTO2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:ogar0007@umn.edu Pat O'Gara] || St. Paul, MN || Tiny 2.11 and TWOG (PPZUAV)  |||Oct. 2008 ||  Completed and flown FunJet and Minimag in Auto 2. Currently rebuilding MiniMag as an improved development platform. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:kochesj@gvsu.edu John Koches] || Muskegon, Michigan || Tiny 2.11 (PPZUAV)  ||| 2007 ||  currently flying a 48 inch zagi, 80 inch under construction.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:Stdeguir@gmail.com Steve Deguir] || New York,New York || Tiny2.11+LEA-5H (PPZUAV), XbeePro 2.4, Berg4L, JR FMA   ||| Feb 2009 || &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:bmw330i@me.com David Conger] || San Diego (Ramona), California || Tiny1.3 (PPZUAV)  ||| Sept 2007 || Flying Wing MAV with onboard video. Test platform for the new 900mhz XBPro 900 RF modems.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:mecevans@gmail.com Michael Evans] || Seaside(Monterey Bay), California || Tiny2.11 (PPZUAV)  ||| Feb 2009 ||http://www.rcgroups.com/forums/showthread.php?t=1000937. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| USU AggieAir Remote Sensing || Logan, UT || TWOG (PPZUAV)  ||| January 2009 || Building 72&amp;quot; Flying Wings which will be used for remote sensing. Routine autonomous flight.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://www.engr.usu.edu/wiki/index.php/OSAM USU OSAM-UAV] || Logan, UT || TWOG (PPZUAV)  ||| June 2007 || 2x72&amp;quot; 5x48&amp;quot; 1x60&amp;quot; Flying Wings. Research backyard for AggieAir Remote Sensing. Routine autonomous flight.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:CSU-FCUAV CSU Fuel Cell UAV] || Fort Collins, Co || Tiny 2.11 + LEA-5H (PPZUAV), 2.4Ghz XBPro ||| Mar 2009 || Maiden flight complete Feb 28.  New Airframe in development.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:armz12@gmail.com Armen Gharibans] || La Jolla, California || Tiny2.11 (PPZUAV)  ||| March 2009 || UCSD Project with Multiplex Mentor.  Completed August 2, 2009. Several Successful Auto2 Flights.  A LOT of help from David Conger.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| New User || 1 || 2 ||| 3 || 4 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Central America==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:joschau@comcast.net Joekadet] || David Panama' || Tiny v2.11/LEA-4P, RF Modems XBee Pro 2.4 GHz (PPZUAV).  Multiplex Mentor  ||| 2008 || Seven flights now. Flights 6 &amp;amp; 7 in Auto2. Now only a matter of fine tuning.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| New User || 1 || 2 ||| 3 || 4 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Australia==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:todd_soaring@yahoo.com.au Todd Sandercock] || Adelaide, SA || Tiny v2.11, Multiplex Twinjet, 9Xtend modems ||| Jan 2008 || Completed successful flight testing. Now designing new airframe.  &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:reubenb87@gmail.com Reuben Brown]|| Gawler, SA || Tiny v2.11 ||| May 2009 || Getting the autopilot set up &lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Rbdavison Bernard Davison] || Neutral Bay, NSW || Tiny v2.11, Vertical + Horizontal IR sensors, XBee PRO modems, Futaba T6EXAP TX, Futaba R136F RX, Funjet,  MacBook laptop ||| August 2008 || Configuring before first flight.&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [http://paparazzi.enac.fr/wiki/User:Rufus Chris Gough] || Canberra || TWOG v2.11, EZ* || September 09 || not yet airborn &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Africa==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;background:black; color:blue&amp;quot;&lt;br /&gt;
! Name !! Location !! Hardware !! Joined !! Current activities / project status&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
| [mailto:w1_th@yahoo.com W1th] || South Africa KZN || TWOG V1 ,LEA-5H GPS , RF Modems XBee Pro 868 (CheBuzz) ||| July 2009  || New to this , Got TWOG,GPS etc interfacing with Laptop and working ..Made a website [http://www.best-bargains.co.za/scarf/paparazzi.html SCARF] of my struggle ...&lt;br /&gt;
|- style=&amp;quot;background:bisque; color:black&amp;quot;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=User:Mcurrie&amp;diff=5453</id>
		<title>User:Mcurrie</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=User:Mcurrie&amp;diff=5453"/>
		<updated>2009-09-11T07:01:30Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Matthew Currie ==&lt;br /&gt;
&lt;br /&gt;
[[image:Matt.currie thumb.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Bio ===&lt;br /&gt;
&lt;br /&gt;
IRC Nick: dc3&amp;lt;br/&amp;gt;&lt;br /&gt;
Location: Nanaimo, British Columbia, Canada&lt;br /&gt;
&lt;br /&gt;
Currently building Tiny 1.1 boards in-house for a few group members, including myself.&lt;br /&gt;
&lt;br /&gt;
=== TODO / PROGRESS ===&lt;br /&gt;
&lt;br /&gt;
'''COMPLETE'''&lt;br /&gt;
&lt;br /&gt;
* Assembled a number of Tiny 13 v1.1 boards&lt;br /&gt;
* Configured laptop with latest paparazzi3 source&lt;br /&gt;
* Installed bootloader on Tiny and downloaded user code&lt;br /&gt;
* Purchased Molex PicoBlade crimper and built various harnesses airborne and field&lt;br /&gt;
* Constructed Funjet airframe, test flew a dozen times&lt;br /&gt;
* Built waterproof ground radio box with 20 foot RS232 cable for pole mount&lt;br /&gt;
&lt;br /&gt;
'''TODO'''&lt;br /&gt;
&lt;br /&gt;
* Develop basic airframe file&lt;br /&gt;
* Complete airborne wiring harness&lt;br /&gt;
* Mount IR Sensors&lt;br /&gt;
* Order 12 dBi radome enclosed yagi&lt;br /&gt;
* Fly&lt;br /&gt;
&lt;br /&gt;
=== WIKI Contributions ===&lt;br /&gt;
&lt;br /&gt;
this is just a scratch pad of notes, etc.. might as well put them on the wiki so other can drop in on them..&lt;br /&gt;
&lt;br /&gt;
Tiny13 1.1 draws 34mAh from the main supply when powered by 18V.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Q:''' [Tiny 1.1] I get error accessing USB when trying to load code to the Autopilot&lt;br /&gt;
&lt;br /&gt;
'''A:''' You need to copy a USB rules file following the instructions below '''update: this did not appear to solve the problem. not sure why I figured it did.'''&lt;br /&gt;
&lt;br /&gt;
 # cd ''[paparazzi3 folder]''&lt;br /&gt;
 # cp conf/system/udev/rules/10-paparazzi.rules /etc/udev/rules.d/&lt;br /&gt;
&lt;br /&gt;
'''Q:''' [Tiny 0.9-1.1] What is the command to compile the ARM7 code?&lt;br /&gt;
&lt;br /&gt;
A: the two relevant commands are below.  Replace [AIRCRAFT] with the name of your aircraft.&lt;br /&gt;
&lt;br /&gt;
 # cd ''[parazzi3 folder]'''&lt;br /&gt;
 # make AIRCRAFT=[AIRCRAFT] ap.compile&lt;br /&gt;
&lt;br /&gt;
to download code that has already been compiled&lt;br /&gt;
&lt;br /&gt;
 # cd ''[parazzi3 folder]'''&lt;br /&gt;
 # make AIRCRAFT=[AIRCRAFT] ap.upload&lt;br /&gt;
&lt;br /&gt;
'''Q:''' How do I get GCS to talk to the AP with straight serial and not a modem?&lt;br /&gt;
&lt;br /&gt;
'''A:''' Here is an example of a section of my paparazzi3/conf/control_panel.xml&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;session name=&amp;quot;4 Matt Flight&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;program name=&amp;quot;link&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-d&amp;quot; constant=&amp;quot;/dev/ttyUSB0&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-transport&amp;quot; constant=&amp;quot;pprz&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-uplink&amp;quot; constant=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/program&amp;gt;&lt;br /&gt;
   &amp;lt;program name=&amp;quot;server&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;program name=&amp;quot;gcs&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/session&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Q:''' How do I load the USB Bootloader onto the Tiny?&lt;br /&gt;
&lt;br /&gt;
'''A:''' Start by wiring up 3.3V RS232 from the PC to the Tiny.  &lt;br /&gt;
&lt;br /&gt;
The serial lines on the ARM7 micro are 5V tolerant so if it helps cut down on complexity/parts you could use 5V RS232 for this.  ''Optional: You could also form a basic resistor voltage divider on the PC TX -&amp;gt; AP RX''&lt;br /&gt;
&lt;br /&gt;
*PC SERIAL_TX -&amp;gt; LPC_RXD_0 (SERIAL_1-7)&lt;br /&gt;
*PC SERIAL_RX -&amp;gt; LPC_TXD_0 (SERIAL_1-8)&lt;br /&gt;
*PC SERIAL_GND -&amp;gt; GND (SERIAL_1-1)&lt;br /&gt;
*LPC_P0.14 (SERIAL_1-5) must be asserted low (held to ground) while the Tiny powers up in order to enter the Serial Boot Loader.  (You could also wire this to a pushbutton which ties it to ground, holding this button briefly while you power up the AP.  This pin does not need to stay low during the programming or any time afterwards)&lt;br /&gt;
&lt;br /&gt;
once these connections have been made, execute this command in a console&lt;br /&gt;
&lt;br /&gt;
 # make PROC=GENERIC upload_bl&lt;br /&gt;
&lt;br /&gt;
[[Category:Members]]&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=User:Mcurrie&amp;diff=5452</id>
		<title>User:Mcurrie</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=User:Mcurrie&amp;diff=5452"/>
		<updated>2009-09-11T07:01:13Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* Bio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Matthew Currie ==&lt;br /&gt;
&lt;br /&gt;
[[image:Matt.currie thumb.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Bio ===&lt;br /&gt;
&lt;br /&gt;
IRC Nick: dc3&amp;lt;br/&amp;gt;&lt;br /&gt;
Location: Nanaimo, British Columbia, Canada&lt;br /&gt;
&lt;br /&gt;
Currently building Tiny 1.1 boards in-house for a few group members, including myself.&lt;br /&gt;
&lt;br /&gt;
=== TODO / PROGRESS ===&lt;br /&gt;
&lt;br /&gt;
'''COMPLETE'''&lt;br /&gt;
&lt;br /&gt;
* Assembled a number of Tiny 13 v1.1 boards&lt;br /&gt;
* Configured laptop with latest paparazzi3 source&lt;br /&gt;
* Installed bootloader on Tiny and downloaded user code&lt;br /&gt;
* Purchased Molex PicoBlade crimper and built various harnesses airborne and field&lt;br /&gt;
* Constructed Funjet airframe, test flew a dozen times&lt;br /&gt;
* Built waterproof ground radio box with 20 foot RS232 cable for pole mount&lt;br /&gt;
&lt;br /&gt;
'''TODO'''&lt;br /&gt;
&lt;br /&gt;
* Develop basic airframe file&lt;br /&gt;
* Complete airborne wiring harness&lt;br /&gt;
* Mount IR Sensors&lt;br /&gt;
* Order 12 dBi radome enclosed yagi&lt;br /&gt;
* Fly&lt;br /&gt;
&lt;br /&gt;
=== WIKI Contributions ===&lt;br /&gt;
&lt;br /&gt;
this is just a scratch pad of notes, etc.. might as well put them on the wiki so other can drop in on them..&lt;br /&gt;
&lt;br /&gt;
Tiny13 1.1 draws 34mAh from the main supply when powered by 18V.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Q:''' [Tiny 1.1] I get error accessing USB when trying to load code to the Autopilot&lt;br /&gt;
&lt;br /&gt;
'''A:''' You need to copy a USB rules file following the instructions below '''update: this did not appear to solve the problem. not sure why I figured it did.'''&lt;br /&gt;
&lt;br /&gt;
 # cd ''[paparazzi3 folder]''&lt;br /&gt;
 # cp conf/system/udev/rules/10-paparazzi.rules /etc/udev/rules.d/&lt;br /&gt;
&lt;br /&gt;
'''Q:''' [Tiny 0.9-1.1] What is the command to compile the ARM7 code?&lt;br /&gt;
&lt;br /&gt;
A: the two relevant commands are below.  Replace [AIRCRAFT] with the name of your aircraft.&lt;br /&gt;
&lt;br /&gt;
 # cd ''[parazzi3 folder]'''&lt;br /&gt;
 # make AIRCRAFT=[AIRCRAFT] ap.compile&lt;br /&gt;
&lt;br /&gt;
to download code that has already been compiled&lt;br /&gt;
&lt;br /&gt;
 # cd ''[parazzi3 folder]'''&lt;br /&gt;
 # make AIRCRAFT=[AIRCRAFT] ap.upload&lt;br /&gt;
&lt;br /&gt;
'''Q:''' How do I get GCS to talk to the AP with straight serial and not a modem?&lt;br /&gt;
&lt;br /&gt;
'''A:''' Here is an example of a section of my paparazzi3/conf/control_panel.xml&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;session name=&amp;quot;4 Matt Flight&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;program name=&amp;quot;link&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-d&amp;quot; constant=&amp;quot;/dev/ttyUSB0&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-transport&amp;quot; constant=&amp;quot;pprz&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-uplink&amp;quot; constant=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/program&amp;gt;&lt;br /&gt;
   &amp;lt;program name=&amp;quot;server&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;program name=&amp;quot;gcs&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/session&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Q:''' How do I load the USB Bootloader onto the Tiny?&lt;br /&gt;
&lt;br /&gt;
'''A:''' Start by wiring up 3.3V RS232 from the PC to the Tiny.  &lt;br /&gt;
&lt;br /&gt;
The serial lines on the ARM7 micro are 5V tolerant so if it helps cut down on complexity/parts you could use 5V RS232 for this.  ''Optional: You could also form a basic resistor voltage divider on the PC TX -&amp;gt; AP RX''&lt;br /&gt;
&lt;br /&gt;
*PC SERIAL_TX -&amp;gt; LPC_RXD_0 (SERIAL_1-7)&lt;br /&gt;
*PC SERIAL_RX -&amp;gt; LPC_TXD_0 (SERIAL_1-8)&lt;br /&gt;
*PC SERIAL_GND -&amp;gt; GND (SERIAL_1-1)&lt;br /&gt;
*LPC_P0.14 (SERIAL_1-5) must be asserted low (held to ground) while the Tiny powers up in order to enter the Serial Boot Loader.  (You could also wire this to a pushbutton which ties it to ground, holding this button briefly while you power up the AP.  This pin does not need to stay low during the programming or any time afterwards)&lt;br /&gt;
&lt;br /&gt;
once these connections have been made, execute this command in a console&lt;br /&gt;
&lt;br /&gt;
 # make PROC=GENERIC upload_bl&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=User:Mcurrie&amp;diff=5451</id>
		<title>User:Mcurrie</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=User:Mcurrie&amp;diff=5451"/>
		<updated>2009-09-11T07:00:59Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* TODO / PROGRESS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Matthew Currie ==&lt;br /&gt;
&lt;br /&gt;
[[image:Matt.currie thumb.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Bio ===&lt;br /&gt;
&lt;br /&gt;
IRC Nick: dc3aes&amp;lt;br/&amp;gt;&lt;br /&gt;
Location: Nanaimo, British Columbia, Canada&lt;br /&gt;
&lt;br /&gt;
Currently building Tiny 1.1 boards in-house for a few group members, including myself.&lt;br /&gt;
&lt;br /&gt;
=== TODO / PROGRESS ===&lt;br /&gt;
&lt;br /&gt;
'''COMPLETE'''&lt;br /&gt;
&lt;br /&gt;
* Assembled a number of Tiny 13 v1.1 boards&lt;br /&gt;
* Configured laptop with latest paparazzi3 source&lt;br /&gt;
* Installed bootloader on Tiny and downloaded user code&lt;br /&gt;
* Purchased Molex PicoBlade crimper and built various harnesses airborne and field&lt;br /&gt;
* Constructed Funjet airframe, test flew a dozen times&lt;br /&gt;
* Built waterproof ground radio box with 20 foot RS232 cable for pole mount&lt;br /&gt;
&lt;br /&gt;
'''TODO'''&lt;br /&gt;
&lt;br /&gt;
* Develop basic airframe file&lt;br /&gt;
* Complete airborne wiring harness&lt;br /&gt;
* Mount IR Sensors&lt;br /&gt;
* Order 12 dBi radome enclosed yagi&lt;br /&gt;
* Fly&lt;br /&gt;
&lt;br /&gt;
=== WIKI Contributions ===&lt;br /&gt;
&lt;br /&gt;
this is just a scratch pad of notes, etc.. might as well put them on the wiki so other can drop in on them..&lt;br /&gt;
&lt;br /&gt;
Tiny13 1.1 draws 34mAh from the main supply when powered by 18V.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Q:''' [Tiny 1.1] I get error accessing USB when trying to load code to the Autopilot&lt;br /&gt;
&lt;br /&gt;
'''A:''' You need to copy a USB rules file following the instructions below '''update: this did not appear to solve the problem. not sure why I figured it did.'''&lt;br /&gt;
&lt;br /&gt;
 # cd ''[paparazzi3 folder]''&lt;br /&gt;
 # cp conf/system/udev/rules/10-paparazzi.rules /etc/udev/rules.d/&lt;br /&gt;
&lt;br /&gt;
'''Q:''' [Tiny 0.9-1.1] What is the command to compile the ARM7 code?&lt;br /&gt;
&lt;br /&gt;
A: the two relevant commands are below.  Replace [AIRCRAFT] with the name of your aircraft.&lt;br /&gt;
&lt;br /&gt;
 # cd ''[parazzi3 folder]'''&lt;br /&gt;
 # make AIRCRAFT=[AIRCRAFT] ap.compile&lt;br /&gt;
&lt;br /&gt;
to download code that has already been compiled&lt;br /&gt;
&lt;br /&gt;
 # cd ''[parazzi3 folder]'''&lt;br /&gt;
 # make AIRCRAFT=[AIRCRAFT] ap.upload&lt;br /&gt;
&lt;br /&gt;
'''Q:''' How do I get GCS to talk to the AP with straight serial and not a modem?&lt;br /&gt;
&lt;br /&gt;
'''A:''' Here is an example of a section of my paparazzi3/conf/control_panel.xml&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;session name=&amp;quot;4 Matt Flight&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;program name=&amp;quot;link&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-d&amp;quot; constant=&amp;quot;/dev/ttyUSB0&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-transport&amp;quot; constant=&amp;quot;pprz&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-uplink&amp;quot; constant=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/program&amp;gt;&lt;br /&gt;
   &amp;lt;program name=&amp;quot;server&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;program name=&amp;quot;gcs&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/session&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Q:''' How do I load the USB Bootloader onto the Tiny?&lt;br /&gt;
&lt;br /&gt;
'''A:''' Start by wiring up 3.3V RS232 from the PC to the Tiny.  &lt;br /&gt;
&lt;br /&gt;
The serial lines on the ARM7 micro are 5V tolerant so if it helps cut down on complexity/parts you could use 5V RS232 for this.  ''Optional: You could also form a basic resistor voltage divider on the PC TX -&amp;gt; AP RX''&lt;br /&gt;
&lt;br /&gt;
*PC SERIAL_TX -&amp;gt; LPC_RXD_0 (SERIAL_1-7)&lt;br /&gt;
*PC SERIAL_RX -&amp;gt; LPC_TXD_0 (SERIAL_1-8)&lt;br /&gt;
*PC SERIAL_GND -&amp;gt; GND (SERIAL_1-1)&lt;br /&gt;
*LPC_P0.14 (SERIAL_1-5) must be asserted low (held to ground) while the Tiny powers up in order to enter the Serial Boot Loader.  (You could also wire this to a pushbutton which ties it to ground, holding this button briefly while you power up the AP.  This pin does not need to stay low during the programming or any time afterwards)&lt;br /&gt;
&lt;br /&gt;
once these connections have been made, execute this command in a console&lt;br /&gt;
&lt;br /&gt;
 # make PROC=GENERIC upload_bl&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Airframe_Configuration&amp;diff=5450</id>
		<title>Airframe Configuration</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Airframe_Configuration&amp;diff=5450"/>
		<updated>2009-09-11T06:52:49Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* Configuring The Serial Protocol */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The airframe configuration file is located in &amp;lt;tt&amp;gt;conf/airframes&amp;lt;/tt&amp;gt; and contains&lt;br /&gt;
all the hardware and software settings for an aircraft. This is an [http://en.wikipedia.org/wiki/Xml XML] document containing some [http://en.wikipedia.org/wiki/Makefile Makefile] code at the bottom. All gains, trims, and behavior settings are defined with standard XML elements. The hardware definitions such as processor type, modem protocol, servo driver, etc. are contained in the makefile raw section.&lt;br /&gt;
&lt;br /&gt;
== Selecting the Airframe File ==&lt;br /&gt;
Each airframe file must be assigned a name, unique ID, flight plan, etc. in [[Conf.xml|&amp;lt;tt&amp;gt;conf/conf.xml&amp;lt;/tt&amp;gt;]] as follows:&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;conf&amp;gt;&lt;br /&gt;
  &amp;lt;aircraft &lt;br /&gt;
    name=&amp;quot;Twin1&amp;quot;&lt;br /&gt;
    ac_id=&amp;quot;1&amp;quot;&lt;br /&gt;
    airframe=&amp;quot;airframes/twinstar1.xml&amp;quot; &lt;br /&gt;
    radio=&amp;quot;radios/mc3030.xml&amp;quot; &lt;br /&gt;
    flight_plan=&amp;quot;flight_plans/mav05_cw.xml&amp;quot;&lt;br /&gt;
    telemetry=&amp;quot;telemetry/default.xml&amp;quot;&lt;br /&gt;
    gui_color=&amp;quot;blue&amp;quot;&lt;br /&gt;
  /&amp;gt;&lt;br /&gt;
  &amp;lt;aircraft &lt;br /&gt;
    name=&amp;quot;Plaster&amp;quot;&lt;br /&gt;
    ac_id=&amp;quot;2&amp;quot;&lt;br /&gt;
    airframe=&amp;quot;airframes/plaster1.xml&amp;quot; &lt;br /&gt;
    radio=&amp;quot;radios/cockpitMM.xml&amp;quot; &lt;br /&gt;
    telemetry=&amp;quot;telemetry/default.xml&amp;quot;&lt;br /&gt;
    flight_plan=&amp;quot;flight_plans/dummy.xml&amp;quot;&lt;br /&gt;
  /&amp;gt;&lt;br /&gt;
  .&lt;br /&gt;
  .&lt;br /&gt;
  .&lt;br /&gt;
  &amp;lt;/conf&amp;gt;&lt;br /&gt;
Then, to compile and flash the airframe settings and associated flight plan to your autopilot, simply select the appropriate A/C and target in the [[Paparazzi_Center|Paparazzi Center]] or specify your airframe name in the flash command typed from the prompt:&lt;br /&gt;
 make AIRCRAFT=&amp;lt;b&amp;gt;Twin1&amp;lt;/b&amp;gt; ap.upload&lt;br /&gt;
More information can be found on the [[Conf.xml|conf.xml]] page&lt;br /&gt;
&lt;br /&gt;
== XML Parameters ==&lt;br /&gt;
=== Commands ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;commands&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; lists the abstract commands you need to control the aircraft. In our example, we have only three:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&lt;br /&gt;
 &amp;lt;commands&amp;gt;&lt;br /&gt;
  &amp;lt;axis name=&amp;quot;THROTTLE&amp;quot; failsafe_value=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;axis name=&amp;quot;ROLL&amp;quot;     failsafe_value=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;axis name=&amp;quot;PITCH&amp;quot;    failsafe_value=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/commands&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
Each command is associated with a failsafe value which will be used if no controller is active (during initialization for example). The range of these values is [-9600:9600]. Note that these commands do not necessarily match the servo actuators. For example, the ROLL command is typically linked to two aileron actuators.&lt;br /&gt;
&lt;br /&gt;
=== Servos ===&lt;br /&gt;
&lt;br /&gt;
The above commands get translated to the &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;servos&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; here.  In this example we use two ailevons (surfaces used for both pitch and roll as on a flying wing) and a motor. These are listed in the &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;servos&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; section:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&lt;br /&gt;
 &amp;lt;servos&amp;gt;&lt;br /&gt;
  &amp;lt;servo name=&amp;quot;THROTTLE&amp;quot;      no=&amp;quot;0&amp;quot; min=&amp;quot;1000&amp;quot; neutral=&amp;quot;1000&amp;quot; max=&amp;quot;2000&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;servo name=&amp;quot;AILEVON_LEFT&amp;quot;  no=&amp;quot;1&amp;quot; min=&amp;quot;2000&amp;quot; neutral=&amp;quot;1500&amp;quot; max=&amp;quot;1000&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;servo name=&amp;quot;AILEVON_RIGHT&amp;quot; no=&amp;quot;2&amp;quot; min=&amp;quot;1000&amp;quot; neutral=&amp;quot;1500&amp;quot; max=&amp;quot;2000&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/servos&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
where names are associated to the corresponding servo channel number on the autopilot and the neutral value, total range and direction are defined.  Min/max/neutral values are expressed in milliseconds and the direction of travel can be reversed by exchanging min with max (as in &amp;lt;tt&amp;gt;&amp;quot;AILEVON_LEFT&amp;quot;&amp;lt;/tt&amp;gt;, above).  The ''standard'' travel for a hobby servo is 1000ms - 2000ms with a 1500ms neutral.  Trim can be added by changing this neutral value, and absolute travel limits can be increased or reduced with the min/max values.  The &amp;lt;tt&amp;gt;&amp;quot;THROTTLE&amp;quot;&amp;lt;/tt&amp;gt; servo typically has the same value for the &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;neutral&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;min&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt;.  Note the following tips:&lt;br /&gt;
* Reverse the servo direction by exchanging min/max&lt;br /&gt;
* Trim should always be adjusted mechanically if possible to avoid asymetrical travel&lt;br /&gt;
* Any reduction of the total travel range should be done mechanically to maintain precision&lt;br /&gt;
* Many servos will respond well to values slightly outside the normal 1000-2000ms range but experiment carefully as the servo may not operate reliably outside this range and may even suffer permanent damage.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;servos&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; are then linked to the commands in the &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;command_laws&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; section:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&lt;br /&gt;
 &amp;lt;command_laws&amp;gt;&lt;br /&gt;
  &amp;lt;let var=&amp;quot;aileron&amp;quot;         value=&amp;quot;@ROLL  * 0.3&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;let var=&amp;quot;elevator&amp;quot;        value=&amp;quot;@PITCH * 0.7&amp;quot;/&amp;gt;  &lt;br /&gt;
  &amp;lt;set servo=&amp;quot;THROTTLE&amp;quot;      value=&amp;quot;@THROTTLE&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;set servo=&amp;quot;AILEVON_LEFT&amp;quot;  value=&amp;quot;$elevator + $aileron&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;set servo=&amp;quot;AILEVON_RIGHT&amp;quot; value=&amp;quot;$elevator - $aileron&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/command_laws&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
[[Image:airframe_sign_conventions.jpg|thumb|Sign conventions for flight dynamics]]&lt;br /&gt;
where the third line is the simplest: the throttle servo value equals throttle command value. The other lines define and control the pitch/roll mixing.  Ailevon values are computed with a combination of two commands, '''ROLL''' and '''PITCH'''. This ''mixer'' is defined with two intermediate variables '''aileron''' and '''elevator''' introduced with the &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;let&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; element.  The '''@''' symbol is used to reference a command value in the &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;value&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; attribute of the &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;set&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;let&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; elements.  In the above example, the servos are limited to +/- 70% of their full travel for pitch and 30% for roll, only in combination can the servos reach 100% deflection.  Note that these numbers ''should add up 100% or more, never less''.  For example, you may want 100% travel available for pitch - this means if a roll is commanded along with maximum pitch only one servo will respond to the roll command as the other has already reached its mechanical limit.  If you find after tuning that these numbers add to less than 100% consider reducing the surface travel mechanically.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the signs used in the description follow the standard convention.&lt;br /&gt;
&lt;br /&gt;
=== Manual ===&lt;br /&gt;
The &amp;lt;tt&amp;gt;rc_command&amp;lt;/tt&amp;gt; sections links the channels of the RC transmitter (defined in the [[Radio_Control|Radio Control]] file) to the &amp;lt;tt&amp;gt;commands&amp;lt;/tt&amp;gt; defined above:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;rc_commands&amp;gt;&lt;br /&gt;
   &amp;lt;set command=&amp;quot;THROTTLE&amp;quot; value=&amp;quot;@THROTTLE&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;set command=&amp;quot;ROLL&amp;quot;     value=&amp;quot;@ROLL&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;set command=&amp;quot;PITCH&amp;quot;    value=&amp;quot;@PITCH&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/rc_commands&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example looks trivial since the channel values have the same name than the commands.&lt;br /&gt;
&lt;br /&gt;
=== Autopilot Only Commands ===&lt;br /&gt;
For certain missions it might be required to control servos (payload) from the autopilot (gcs) at all times (even during manual flight). These commands should not be in the &amp;lt;rc_commands&amp;gt; block but in the special &amp;lt;ap_only_commands&amp;gt; block. This allows for instance the pantilt operator to keep working when in manual flight, or safety logic to automatically close cameras below a certain altitude during manual landings.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;ap_only_commands&amp;gt;&lt;br /&gt;
   &amp;lt;copy command=&amp;quot;PAN&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;copy command=&amp;quot;TILT&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;copy command=&amp;quot;SHOOT&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/ap_only_commands&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Auto1 ===&lt;br /&gt;
The next section, named &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;AUTO1&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt;, gives the maximum roll and pitch (in radians) allowed for the augmented stability mode.&lt;br /&gt;
 &amp;lt;tt&amp;gt;&lt;br /&gt;
 &amp;lt;section name=&amp;quot;AUTO1&amp;quot; prefix=&amp;quot;AUTO1_&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;MAX_ROLL&amp;quot; value=&amp;quot;RadOfDeg(35)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;MAX_PITCH&amp;quot; value=&amp;quot;RadOfDeg(35)&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/section&amp;gt;&lt;br /&gt;
 &amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ADC === &lt;br /&gt;
In the &amp;quot;adc&amp;quot; section, you will find the conformity between arguments and their assigned pins on the autopilot board.&lt;br /&gt;
 &amp;lt;section name=&amp;quot;adc&amp;quot; prefix=&amp;quot;ADC_CHANNEL_&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;define name=&amp;quot;IR1&amp;quot; value=&amp;quot;ADC_1&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;define name=&amp;quot;IR2&amp;quot; value=&amp;quot;ADC_2&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;define name=&amp;quot;IR_TOP&amp;quot; value=&amp;quot;ADC_0&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/section&amp;gt;&lt;br /&gt;
'''Important note''': To ''activate'' an ADC entry, a flag must be defined in the &amp;lt;tt&amp;gt;makefile&amp;lt;/tt&amp;gt; section. For the previous example, we would have to write:&lt;br /&gt;
&lt;br /&gt;
 ap.CFLAGS += -DADC -DUSE_ADC_0 -DUSE_ADC_1 -DUSE_ADC_2&lt;br /&gt;
 ap.srcs += $(SRC_ARCH)/adc_hw.c&lt;br /&gt;
&lt;br /&gt;
==== ADC Generic ====&lt;br /&gt;
&lt;br /&gt;
In addition, if you want to receive the value of some ADC channel, you can use the &amp;quot;ADC Generic&amp;quot; service. When activated, the aircraft sends 2 values corresponding to the selected ADC channels. They can be read from the &amp;quot;Messages&amp;quot; application.&lt;br /&gt;
  ap.CFLAGS += -DUSE_ADC_GENERIC -DUSE_ADC_3 -DADC_CHANNEL_GENERIC1=ADC_3 -DUSE_ADC_4 -DADC_CHANNEL_GENERIC2=ADC_4&lt;br /&gt;
  ap.srcs += adc_generic.c&lt;br /&gt;
In this example, the ADC channels 3 and 4 are read and sent by telemetry at 4Hz:&lt;br /&gt;
  &amp;lt;message name=&amp;quot;ADC_GENERIC&amp;quot; ID=&amp;quot;18&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;val1&amp;quot; type=&amp;quot;uint16&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;val2&amp;quot; type=&amp;quot;uint16&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/message&amp;gt;&lt;br /&gt;
Only two channels can be defined. If only one is activated, 0 will send for the second value.&lt;br /&gt;
&lt;br /&gt;
=== Infrared === &lt;br /&gt;
The &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;INFRARED&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; section describes the configuration of the infrared sensors.&lt;br /&gt;
&lt;br /&gt;
The first definitions are relative to the electronic neutral of the sensors (a sensor here is a '''pair''' of thermopiles). A perfect sensor should give 512 if it measures the same value on both sides.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;section name=&amp;quot;INFRARED&amp;quot; prefix=&amp;quot;IR_&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;define name=&amp;quot;ADC_IR1_NEUTRAL&amp;quot; value=&amp;quot;512&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;define name=&amp;quot;ADC_IR2_NEUTRAL&amp;quot; value=&amp;quot;512&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;define name=&amp;quot;ADC_TOP_NEUTRAL&amp;quot; value=&amp;quot;512&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These neutrals are tuned with the &amp;quot;cupboard test&amp;quot;: Put the sensor in a close box (a cupboard) and read the values of the IR_SENSORS message (ir1, ir2 and vertical). Set the neutrals (they are subtracted from the measurement) to get null values. E.g. if you read 5 for the ir1 value with ADC_IR1_NEUTRAL equal to 512, change the latter to 517.&lt;br /&gt;
&lt;br /&gt;
The next lines define the installation of the horizontal and vertical sensors. The vertical sensor must  give a positive value when the temperature under the aircraft is higher than the temperature above. The two channels of the horizontal sensor must give positive values when it is warmer on the right side and the rear side. To adjust these signs, use the following declarations:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;define name=&amp;quot;IR1_SIGN&amp;quot; value=&amp;quot;-1&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;define name=&amp;quot;IR2_SIGN&amp;quot; value=&amp;quot;-1&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;define name=&amp;quot;TOP_SIGN&amp;quot; value=&amp;quot;-1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then, define how the horizontal sensor is connected to the airframe, orientation '''aligned''' or '''tilted'''. In the aligned case, ir'''1''' is along the lateral axis (The axis that passes through the plane from wingtip to wingtip) and ir'''2''' along the longitudinal one. In the '''tilted''' case, the sensors are tilted by 45 degrees; ir'''1''' is along rear-left -- front-right, and ir'''2''' along rear-right -- front-left. The parameter &amp;quot;value&amp;quot; has no effect! If the airframe construction allows choose an aligned sensor orientation since this gives the best stabilization response results.&lt;br /&gt;
&lt;br /&gt;
For help with orientation of '''Previous Versions of Infrared Sensor Boards''' try here : http://paparazzi.enac.fr/wiki/Previous_Infrared_Sensors&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;define name=&amp;quot;HORIZ_SENSOR_ALIGNED&amp;quot; value=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
  or&lt;br /&gt;
   &amp;lt;define name=&amp;quot;HORIZ_SENSOR_TILTED&amp;quot; value=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The three axis must give similar values for similar contrasts. The following factors can be used to scale these values. For example with an horizontal tilted sensor, the following ratios are usually needed:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;define name=&amp;quot;LATERAL_CORRECTION&amp;quot; value=&amp;quot;0.7&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;define name=&amp;quot;LONGITUDINAL_CORRECTION&amp;quot; value=&amp;quot;0.7&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;define name=&amp;quot;VERTICAL_CORRECTION&amp;quot; value=&amp;quot;1.&amp;quot;/&amp;gt;&lt;br /&gt;
Default values are 1.&lt;br /&gt;
&lt;br /&gt;
It may be hard to align the horizontal sensor with the aircraft. A tuning in flight will be needed to adjust the following neutrals. Adjust the roll neutral to fly straight. Adjust the pitch neutral to fly level with the desired throttle.&lt;br /&gt;
   &amp;lt;define name=&amp;quot;ROLL_NEUTRAL_DEFAULT&amp;quot; value=&amp;quot;-2.5&amp;quot; unit=&amp;quot;deg&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;define name=&amp;quot;PITCH_NEUTRAL_DEFAULT&amp;quot; value=&amp;quot;6&amp;quot; unit=&amp;quot;deg&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finally, an asymmetric (left/right, front/rear) correction can be added with a last set of factors.&lt;br /&gt;
   &amp;lt;define name=&amp;quot;CORRECTION_UP&amp;quot; value=&amp;quot;1.&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;define name=&amp;quot;CORRECTION_DOWN&amp;quot; value=&amp;quot;1.&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;define name=&amp;quot;CORRECTION_LEFT&amp;quot; value=&amp;quot;1.&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;define name=&amp;quot;CORRECTION_RIGHT&amp;quot; value=&amp;quot;1.&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/section&amp;gt;&lt;br /&gt;
These corrections are set on the angles.&lt;br /&gt;
&lt;br /&gt;
The old way to define the parameters is still possible, but must not be mixed with the new one describe above.&lt;br /&gt;
&lt;br /&gt;
=== Gyro === &lt;br /&gt;
Defines the type of gyro installed, each axis neutral, and any required temperature compensation. If the gyro has two axes, the pitch neutral is defined as well. Many gyros output their internal temperature and require a temperature-dependent linear correction be made to the neutral value.  No correction is done for the temperature in this example.(&amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;ADC_TEMP_SLOPE=0&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tt&amp;gt;&lt;br /&gt;
 &amp;lt;section name=&amp;quot;GYRO&amp;quot; prefix=&amp;quot;GYRO_&amp;quot;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;ADC_ROLL_COEFF&amp;quot; value=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;ROLL_NEUTRAL&amp;quot; value=&amp;quot;500&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;ADC_TEMP_NEUTRAL&amp;quot; value=&amp;quot;476&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;ADC_TEMP_SLOPE&amp;quot; value=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/section&amp;gt;&lt;br /&gt;
 &amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bat === &lt;br /&gt;
This section give characteristics for the monitoring of the main power battery. &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;MILLIAMP_AT_FULL_THROTTLE&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; represents the actual current (in mA) when full THROTTLE is applied. It is used to compute the &amp;lt;tt&amp;gt;energy&amp;lt;/tt&amp;gt; value of the &amp;lt;tt&amp;gt;BAT&amp;lt;/tt&amp;gt; message when no current sensor is mounted in the airframe. This value can also be used in flight plans. For example, if at full throttle your motor consumes 10 Amps, use a value of 10000. At 50% throttle it is likely to use about 5 Amps so the autopilot can have a better idea how much energy is remaining. You can &amp;quot;tweak&amp;quot; this number after a few flights to match the capacity of your battery. If upon landing your bat.energy messages says that you used 2500 mAh while the battery has only 2000 mAh capacity, you could reduce the MILLIAMP_AT_FULL_THROTTLE value by 20% to match your in-flight current consumption.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;CATASTROPHIC_BAT_LEVEL&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; (was previously &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;LOW_BATTERY&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt;) value defines the voltage at which the autopilot will lock the throttle at 0% in autonomous mode (kill_throttle mode). This value is also used by the ground server to issue a '''CATASTROPHIC''' alarm message on the bus (this message will be displayed in the console of the GCS).  &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;CRITIC&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;LOW&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; values will also used as threshold for '''CRITIC''' and '''WARNING''' alarms. They are optional and the respective defaults are 10.0 and 10.5V.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;MAX_BAT_LEVEL&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; may be specified to improve the display of the battery gauge in the strip. This definition is optional with a default value of 12.5V.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tt&amp;gt;&lt;br /&gt;
 &amp;lt;section name=&amp;quot;BAT&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;MILLIAMP_AT_FULL_THROTTLE&amp;quot; value=&amp;quot;12000&amp;quot; unit=&amp;quot;mA&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;VOLTAGE_ADC_A&amp;quot; value=&amp;quot;0.0177531&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;VOLTAGE_ADC_B&amp;quot; value=&amp;quot;0.173626&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;VoltageOfAdc(adc)&amp;quot; value =&amp;quot;(VOLTAGE_ADC_A * adc + VOLTAGE_ADC_B)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;CATASTROPHIC_BAT_LEVEL&amp;quot; value=&amp;quot;6.0&amp;quot; unit=&amp;quot;V&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;CRITIC_BAT_LEVEL&amp;quot; value=&amp;quot;6.5&amp;quot; unit=&amp;quot;V&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;LOW_BAT_LEVEL&amp;quot; value=&amp;quot;7.0&amp;quot; unit=&amp;quot;V&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;MAX_BAT_LEVEL&amp;quot; value=&amp;quot;8.4&amp;quot; unit=&amp;quot;V&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/section&amp;gt;&lt;br /&gt;
 &amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A description how to get a current sensor working is here: [[Current_sensor|Current sensor]]&lt;br /&gt;
&lt;br /&gt;
=== Horizontal Control ===&lt;br /&gt;
 &amp;lt;tt&amp;gt;&lt;br /&gt;
 &amp;lt;section name=&amp;quot;HORIZONTAL CONTROL&amp;quot; prefix=&amp;quot;H_CTL_&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;COURSE_PGAIN&amp;quot; value=&amp;quot;-0.4&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;ROLL_MAX_SETPOINT&amp;quot; value=&amp;quot;0.35&amp;quot; unit=&amp;quot;radians&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;ROLL_ATTITUDE_GAIN&amp;quot; value=&amp;quot;-7500.&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;ROLL_RATE_GAIN&amp;quot; value=&amp;quot;-1500&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;PITCH_PGAIN&amp;quot; value=&amp;quot;-8000.&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;ELEVATOR_OF_ROLL&amp;quot; value=&amp;quot;1250&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/section&amp;gt;&lt;br /&gt;
 &amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The outer loop acts on the route. It will produce a roll command from a course setpoint and a course measurement. The COURSE_PGAIN parameter is the factor multiplied by the course error (in radian) to get a roll setpoint (in radian). So if the plane is expected to go north (course=0) and is actually flying to 57 degrees (course=1 radian, i.e. ENE), with a gain of '''-0.4''', a roll of -0.4 (23 degrees) will be set for the lower control loop.&lt;br /&gt;
&lt;br /&gt;
The ROLL_ATTITUDE_GAIN is used to compute a ROLL command from the roll error (setpoint minus measurement). If a gyro in installed, the ROLL_RATE_GAIN to keep a null roll rate. So these two gains provide a P-D controller.&lt;br /&gt;
&lt;br /&gt;
===Vertical Control===&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;section name=&amp;quot;VERTICAL CONTROL&amp;quot; prefix=&amp;quot;V_CTL_&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- outer loop proportional gain --&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;ALTITUDE_PGAIN&amp;quot; value=&amp;quot;-0.1&amp;quot; unit=&amp;quot;(m/s)/m&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;!-- outer loop saturation --&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;ALTITUDE_MAX_CLIMB&amp;quot; value=&amp;quot;3.&amp;quot; unit=&amp;quot;m/s&amp;quot;/&amp;gt;&lt;br /&gt;
These lines are associated with vertical control loops contained in ./sw/airborne/fw_v_ctl.c.  These are outer loop parameters that calculate a desired climb rate based on altitude error. Here, if the altitude error is 10m, the climb setpoint will be set to 1m/s. ALTITUDE_MAX_CLIMB is a bounded value (in m/s) so that the outer loop does not calculate too large of a climb rate&lt;br /&gt;
    &amp;lt;define name=&amp;quot;AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE&amp;quot; value=&amp;quot;0.65&amp;quot; unit=&amp;quot;%&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;AUTO_THROTTLE_MIN_CRUISE_THROTTLE&amp;quot; value=&amp;quot;.4&amp;quot; unit=&amp;quot;%&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;AUTO_THROTTLE_MAX_CRUISE_THROTTLE&amp;quot; value=&amp;quot;1&amp;quot; unit=&amp;quot;%&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;AUTO_THROTTLE_LOITER_TRIM&amp;quot; value=&amp;quot;1000&amp;quot; unit=&amp;quot;pprz_t&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;AUTO_THROTTLE_DASH_TRIM&amp;quot; value=&amp;quot;-2500&amp;quot; unit=&amp;quot;pprz_t&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT&amp;quot; value=&amp;quot;0.15&amp;quot; unit=&amp;quot;%/(m/s)&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;AUTO_THROTTLE_PGAIN&amp;quot; value=&amp;quot;-0.008&amp;quot; unit=&amp;quot;%/(m/s)&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;AUTO_THROTTLE_IGAIN&amp;quot; value=&amp;quot;0.25&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;AUTO_THROTTLE_PITCH_OF_VZ_PGAIN&amp;quot; value=&amp;quot;0.35&amp;quot; unit=&amp;quot;rad/(m/s)&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These lines are associated with vertical rate control loops contained in ./sw/airborne/fw_v_ctl.c and are used by default in most cases.  The default vertical control law is for the vertical rate to be managed by a combination of throttle and pitch.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;define name=&amp;quot;AUTO_PITCH_PGAIN&amp;quot; value=&amp;quot;-0.1&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;AUTO_PITCH_IGAIN&amp;quot; value=&amp;quot;0.025&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;AUTO_PITCH_MAX_PITCH&amp;quot; value=&amp;quot;0.5&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;AUTO_PITCH_MIN_PITCH&amp;quot; value=&amp;quot;-0.5&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These lines are associated with vertical control loops contained in ./sw/airborne/fw_v_ctl.c but are not used in default. The non-default vertical control law is for the vertical rate to be managed by the pitch.&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;define name=&amp;quot;THROTTLE_SLEW_LIMITER&amp;quot; value=&amp;quot;2&amp;quot; unit=&amp;quot;s&amp;quot;/&amp;gt;&lt;br /&gt;
THROTTLE_SLEW_LIMITER is the required time is seconds to change throttle from 0% to 100%.&lt;br /&gt;
&lt;br /&gt;
=== Misc ===&lt;br /&gt;
 &amp;lt;tt&amp;gt;&lt;br /&gt;
 &amp;lt;section name=&amp;quot;MISC&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;NOMINAL_AIRSPEED&amp;quot; value =&amp;quot;12.&amp;quot; unit=&amp;quot;m/s&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;CARROT&amp;quot; value=&amp;quot;5.&amp;quot; unit=&amp;quot;s&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;KILL_MODE_DISTANCE&amp;quot; value=&amp;quot;(1.5*MAX_DIST_FROM_HOME)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;CONTROL_RATE&amp;quot; value&amp;quot;60&amp;quot; unit=&amp;quot;Hz&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/section&amp;gt;&lt;br /&gt;
 &amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The &amp;quot;NOMINAL_AIRSPEED&amp;quot; is mainly used in the simulator.&lt;br /&gt;
* &amp;quot;CARROT&amp;quot; gives the distance (in seconds, so ground speed is taken into account) between the carrot and the aircraft.&lt;br /&gt;
* &amp;quot;KILL_MODE_DISTANCE&amp;quot; is the threshold distance to switch the autopilot into KILL mode (defined descent with no throttle)&lt;br /&gt;
* &amp;quot;CONTROL_RATE&amp;quot; is the rate of the low level control loops in Hertz (60 or 20).&lt;br /&gt;
&lt;br /&gt;
=== Modules ===&lt;br /&gt;
The [[Modules|modules]] allow to add new code in a flexible way with initialisation, periodic and event functions without modifying the main AP loop.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tt&amp;gt;&lt;br /&gt;
 &amp;lt;modules main_freq=&amp;quot;60&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;load name=&amp;quot;demo_module.xml&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/modules&amp;gt;&lt;br /&gt;
 &amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The main_freq parameter (in Hz) allows to specify the frequency of the main loop. Default is 60 Hz&lt;br /&gt;
&lt;br /&gt;
== Hardware definitions - Makefile ==&lt;br /&gt;
&lt;br /&gt;
The airframe file must include the description of the controller board and it's low-level settings.  This is done in one &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;makefile&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; section starting with the autopilot model and flashing mode:&lt;br /&gt;
{{Box Code|conf/airframes/myplane.xml|&lt;br /&gt;
 &amp;lt;makefile&amp;gt;&lt;br /&gt;
  include $(PAPARAZZI_SRC)/conf/autopilot/tiny.makefile&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;FLASH_MODE=IAP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.CFLAGS +=  -DFBW -DAP -DBOARD_CONFIG=\&amp;quot;tiny.h\&amp;quot; -DLED -DTIME_LED=1&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  .&lt;br /&gt;
  .&lt;br /&gt;
  .&lt;br /&gt;
 &amp;lt;/makefile&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Please note that -DCONFIG was changed to -DBOARD_CONFIG on 18 July 2009.&lt;br /&gt;
&lt;br /&gt;
Below this are the definintions and configuration of the peripherals and interfaces.&lt;br /&gt;
&lt;br /&gt;
=== Radio Control ===&lt;br /&gt;
The Paparazzi autpilot can interface directly with the PWM signal from any standard hobby R/C receiver.  Signal decoding configuration settings for this are stored in the [[Radio_Control|Radio Control]] file.&lt;br /&gt;
&lt;br /&gt;
If you have a Tiny v1.1 Autopilot:&lt;br /&gt;
{{Box Code|conf/airframes/myplane.xml|&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.CFLAGS += -DACTUATORS=\&amp;quot;servos_4015_MAT_hw.h\&amp;quot; -DSERVOS_4015_MAT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.srcs += $(SRC_ARCH)/servos_4015_MAT_hw.c actuators.c&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.CFLAGS += -DRADIO_CONTROL -DRADIO_CONTROL_TYPE=RC_FUTABA&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.srcs += radio_control.c $(SRC_ARCH)/ppm_hw.c&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
If you have a Tiny v2 or TWOG v1 Autopilot:&lt;br /&gt;
{{Box Code|conf/airframes/myplane.xml|&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.CFLAGS += -DACTUATORS=\&amp;quot;servos_4017_hw.h\&amp;quot; -DSERVOS_4017&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.srcs += $(SRC_ARCH)/servos_4017_hw.c actuators.c&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.CFLAGS += -DRADIO_CONTROL -DRADIO_CONTROL_TYPE=RC_FUTABA&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.srcs += radio_control.c $(SRC_ARCH)/ppm_hw.c&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
If you want to output standard PPM to a R/C receiver:&lt;br /&gt;
{{Box Code|conf/airframes/myplane.xml|&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.CFLAGS += -DACTUATORS=\&amp;quot;servos_ppm_hw.h\&amp;quot; -DSERVOS_PPM_MAT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.srcs += $(SRC_ARCH)/servos_ppm_hw.c actuators.c&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.CFLAGS += -DRADIO_CONTROL -DRADIO_CONTROL_TYPE=RC_FUTABA&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.srcs += radio_control.c $(SRC_ARCH)/ppm_hw.c&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
This is used in the case where you want to directly drive a receiver which has a microcontroller to do the decoding and driving of the servos (not a 4015 or 4017 decoder chip). The PPM is output on the SERV_CLK pin. The PPM frame rate, pulse width, and number of channels can be adjusted in the &amp;quot;servos_ppm_hw.h&amp;quot; file to suit your particular receiver. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you have a Classix Autopilot:&lt;br /&gt;
{{Box Code|conf/airframes/myplane.xml|&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.CFLAGS += -DRADIO_CONTROL -DRADIO_CONTROL_TYPE=RC_FUTABA&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.EXTRA_SRCS += radio_control.c $(SRC_ARCH)/ppm_hw.c&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.CFLAGS += -DACTUATORS=\&amp;quot;servos_direct_hw.h\&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.EXTRA_SRCS += $(SRC_ARCH)/servos_direct_hw.c&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
You can set RADIO_CONTROL_TYPE to RC_FUTABA, for falling edge PPM, or RC_JR for rising edge PPM. &amp;quot;RC_FUTABA&amp;quot; is for the Futaba or compatible brands, and &amp;quot;RC_JR&amp;quot; for JR (a.k.a Graupner outside of the USA) or compatible brands.&lt;br /&gt;
&lt;br /&gt;
For the Classix, you must specify which pins to use for PWM by adding &amp;quot;-DPWM_SERVO_0, etc.&amp;quot; to the line fbw.CFLAGS. This activate the PWM channel. &lt;br /&gt;
  &amp;lt;tt&amp;gt;wiring on classix PWM connector&lt;br /&gt;
  connector   LPC   shared         port &lt;br /&gt;
  PWM1        PWM5  AD1_6  CAP1_3  P0.21&lt;br /&gt;
  PWM2        PWM3  RXD0   EINT0   P0.1&lt;br /&gt;
  PWM3        PWM1  TXD0           P0.0&lt;br /&gt;
  PWM4        PWM6  RXD1   EINT3   P0.9&lt;br /&gt;
  PWM5        PWM4  TXD1   AD1_1   P0.8&lt;br /&gt;
  PWM6        PWM2  SSEL0  EINT2   P0.7&amp;lt;/tt&amp;gt;&lt;br /&gt;
PWM1 and PWM6 should be safe. PWM4 and PWM5 should be OK if you're not using UART1 on the FBW processor - same for PWM2 and PWM3 if you're not using UART0 (disable FBW telemetry for that ).&lt;br /&gt;
&lt;br /&gt;
=== Modem ===&lt;br /&gt;
The modem protocol and baud rate must be set in both the airframe file and ground station.  Any standard baud rate can be used, with 9600 being adequate and 57600 recommended for most users to allow high speed telemetry for more detailed flight data analysis.  The actual data rate is determined by the number of messages being sent and the period of each message as defined in &amp;lt;tt&amp;gt;conf/telemetry/default.xml&amp;lt;/tt&amp;gt;.  Those wishing to experiment with &amp;quot;alternative&amp;quot; modems can reduce the number and period of each telemetry message to fit within most any bandwidth constraint.&lt;br /&gt;
&lt;br /&gt;
Paparazzi supports the following modem protocols:&lt;br /&gt;
* Standard transparent serial (pprz) - this is compatible with all modems and can be used to connect the autopilot directly to a PC for testing without a modem.&lt;br /&gt;
* Maxstream API protocol (xbee) - compatible with all Maxstream modems including the 9XTend and Zigbee.  This protocol enables hardware addressing, allowing multiple aircraft to be managed from a single ground modem.&lt;br /&gt;
* Coronis Wavecard - necessary for operation with the unusual Coronis Wavecard modem.&lt;br /&gt;
Select the baud/protocol in the airframe file by commenting/uncommenting the appropriate section as follows:&lt;br /&gt;
==== Configuring The Serial Protocol ====&lt;br /&gt;
New users are advised to start with the standard serial protocol before attempting to setup an addressed API link. There are no real reasons for the novice user to use the xbee protocol over the standard PPRZTransport. Even if you are using a Maxstream modem you should still start out with the standard. Lastly it should be pointed out that using a single UAV there is no disadvantage and that the [http://www.engr.usu.edu/wiki/index.php/OSAM OSAM] Paparazzi Team at UAS 2008 took second place using the STANDARD protocol. The serial protocol works with virtually any modem as well as direct cable connections.  The baud rates of the airborne modem, autopilot, ground modem, and PC must be configured correctly.  The PC and autopilot serial ports do not need to be set to the same baud rate, i.e. when running multiple aircraft from a single ground modem, the ground modem may require a higher baud rate than any of the airborne modems in order to stream the data from multiple simultaneous sources.&lt;br /&gt;
&lt;br /&gt;
{{Box Code|conf/airframes/myplane.xml|&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;section name=&amp;quot;DATALINK&amp;quot; prefix=&amp;quot;DATALINK_&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;DEVICE_TYPE&amp;quot; value=&amp;quot;PPRZ&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;DEVICE_ADDRESS&amp;quot; value=&amp;quot;....&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
The above example tells the autopilot to send and recieve data in standard serial form.&lt;br /&gt;
&lt;br /&gt;
{{Box Code|conf/airframes/myplane.xml - makefile section at the bottom|&lt;br /&gt;
 # Serial modem &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ap.CFLAGS += -DDOWNLINK -DUSE_UART0 -DDOWNLINK_TRANSPORT=PprzTransport -DDOWNLINK_FBW_DEVICE=Uart0 -DDOWNLINK_AP_DEVICE=Uart0 -DPPRZ_UART=Uart0 -DDATALINK=PPRZ -DUART0_BAUD=B57600&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ap.srcs += downlink.c $(SRC_ARCH)/uart_hw.c datalink.c pprz_transport.c&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
The above example configures the autopilot serial port (Uart0) to 57,600 baud and calls the serial transport protocol (pprz_transport.c).  Use the &amp;quot;#&amp;quot; symbol to comment lines in this section of the airframe file. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note:&lt;br /&gt;
* Remember Tiny 13 v1.1 uses UART0 for serial modem while Tiny 2 uses UART1.  Make the appropriate changes.&lt;br /&gt;
* The autopilot and modem serial port baud rates must match at all times and also must match the ground modem rate, check your modem documentation to find the default baud rate and configure a different rate as needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensure that the ground station is using the same protocol and an equal or higher baud rate:&lt;br /&gt;
{{Box Code|conf/control_panel.xml|&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;session name=&amp;quot;USB&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;program name=&amp;quot;link&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-d&amp;quot; constant=&amp;quot;/dev/paparazzi/ttyUSB0&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;!-- &amp;lt;arg flag=&amp;quot;-transport&amp;quot; constant=&amp;quot;xbee&amp;quot;/&amp;gt; Comment this line for standard serial protocol --&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-uplink&amp;quot; constant=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-s&amp;quot; constant=&amp;quot;57600&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/program&amp;gt;&lt;br /&gt;
   ...&lt;br /&gt;
 &amp;lt;/session&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Use this constant /dev/paparazzi/ttyUSB0 when using either the ftdi cable or a Maxstream USB ground modem.. Otherwise use /dev/ttyUSB0 (the ttyUSB0 being the device that you are using. Note: it might not always be ttyUSB0). This paparazzi directory in the dev folder is created when setting the udev rules. [http://paparazzi.enac.fr/wiki/index.php/Installation#Setting_access_rights_for_USB_download Setting Udev rules]&lt;br /&gt;
&lt;br /&gt;
==== Configuring The Maxstream API Protocol ====&lt;br /&gt;
The optional API protocol enables hardware addressing so that multiple aircraft can be managed from a single ground modem, or multiple aircraft and multiple ground stations can work simultaneously without interference from one another.  API mode is enabled by sending an escape sequence (+++) followed by AT commands, this can be done automatically at each boot or can be permanently configured with the &amp;quot;ATWR&amp;quot; command for greater reliability.&lt;br /&gt;
&lt;br /&gt;
{{Box Code|conf/airframes/myplane.xml|&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;section name=&amp;quot;MISC&amp;quot;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;define name=&amp;quot;XBEE_INIT&amp;quot; value=&amp;quot;\&amp;quot;ATPL2\rATRN1\rATTT80\r\ATBD6\rATWR\r\&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
 &amp;lt;/section&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
The above example will program the Maxstream to API mode, 100mW power (ATPL2), 57600 baud (ATBD6), and permanently store the changes (ATWR).  After flashing allow 30 seconds for the modem to store the changes, then disable the init string by adding the line &amp;lt;tt&amp;gt;&amp;lt;define name=&amp;quot;NO_XBEE_API_INIT&amp;quot; value=&amp;quot;TRUE&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt; (the parameter &amp;quot;value&amp;quot; has no effect), update the baud rate as needed, and re-flash the autopilot.  The modem and autopilot serial port baud rates must match eachother at all times.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Notes: &lt;br /&gt;
* Maxtream modems are factory configured for 9600 baud, in order to change baud rates, first configure the autopilot serial port to match the modem (DUART0_BAUD=B9600), boot the system so that the baud rate change command is sent to the modem (ATBD6) and permanently saved (ATWR), allow 30 seconds for the modem configuration to complete, then reprogram the autopilot with the new baud rate (DUART0_BAUD=B57600) and disabled modem configuration string &amp;lt;tt&amp;gt;&amp;lt;define name=&amp;quot;NO_XBEE_API_INIT&amp;quot; value=&amp;quot;TRUE&amp;quot;/&amp;gt; &amp;lt;/tt&amp;gt;.&lt;br /&gt;
* The ac_id defined in &amp;lt;tt&amp;gt;conf/conf.xml&amp;lt;/tt&amp;gt; is permanently programmed into the modem so this procedure would need to be re-run if the modem is moved to another plane.&lt;br /&gt;
* For temporary boot-time API configuration remove any baud rate changes, remove &amp;lt;tt&amp;gt;ATWR\r&amp;lt;/tt&amp;gt; from the end of the string.&lt;br /&gt;
* Upgrade your Maxstream firmware to the latest version before attempting API mode operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Box Code|confAgain/airframes/myplane.xml - makefile section at the bottom|&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# Maxstream API protocol&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ap.CFLAGS += -DDOWNLINK -DUSE_UART0 -DDOWNLINK_TRANSPORT=XBeeTransport -DDOWNLINK_FBW_DEVICE=Uart0 -DDOWNLINK_AP_DEVICE=Uart0 -DXBEE_UART=Uart0 -DDATALINK=XBEE -DUART0_BAUD=B57600&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ap.srcs += downlink.c $(SRC_ARCH)/uart_hw.c datalink.c xbee.c&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}} &lt;br /&gt;
The above example configures the autopilot serial port (Uart0) to 57,600 baud and calls the Maxstream transport protocol (xbee.c).  Use the &amp;quot;#&amp;quot; symbol to comment lines in this section of the airframe file.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensure that the ground station is using the same protocol and an equal or higher baud rate:&lt;br /&gt;
{{Box Code|conf/control_panel.xml|&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;session name=&amp;quot;USB&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;program name=&amp;quot;link&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-d&amp;quot; constant=&amp;quot;/dev/paparazzi/ttyUSB0&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-transport&amp;quot; constant=&amp;quot;xbee&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-uplink&amp;quot; constant=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-s&amp;quot; constant=&amp;quot;57600&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/program&amp;gt;&lt;br /&gt;
   ...&lt;br /&gt;
 &amp;lt;/session&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Use this constant /dev/paparazzi/ttyUSB0 when using either the ftdi cable or a Maxstream USB ground modem.. Otherwise use /dev/ttyUSB0 (the ttyUSB0 being the device that you are using. Note: it might not always be ttyUSB0). This paparazzi directory in the dev folder is created when setting the udev rules. [http://paparazzi.enac.fr/wiki/index.php/Installation#Setting_access_rights_for_USB_download Setting Udev rules]&lt;br /&gt;
=====Alternate Method=====&lt;br /&gt;
This is the way it is done in funjet1.xml and has been tested to work by Danstah&lt;br /&gt;
&lt;br /&gt;
{{Box Code|conf/airframes/funjet1.xml|&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;section name=&amp;quot;MISC&amp;quot;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;define name=&amp;quot;XBEE_INIT&amp;quot; value=&amp;quot;\&amp;quot;ATPL2\rATRN1\rATTT80\r\&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;!--    &amp;lt;define name=&amp;quot;NO_XBEE_API_INIT&amp;quot; value=&amp;quot;TRUE&amp;quot;/&amp;gt; --&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
 &amp;lt;/section&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Also use this&lt;br /&gt;
{{Box Code|conf/airframes/funjet1.xml|&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;section name=&amp;quot;DATALINK&amp;quot; prefix=&amp;quot;DATALINK_&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;DEVICE_TYPE&amp;quot; value=&amp;quot;XBEE&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;DEVICE_ADDRESS&amp;quot; value=&amp;quot;....&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
And Finally use this in the makefile section&lt;br /&gt;
{{Box Code|conf/airframes/funjet1.xml|&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
ap.CFLAGS += -DDOWNLINK -DUSE_UART1 -DDOWNLINK_TRANSPORT=XBeeTransport -DXBEE_UART=Uart1 -DDATALINK=XBEE -DUART1_BAUD=B9600&lt;br /&gt;
ap.srcs += downlink.c $(SRC_ARCH)/uart_hw.c datalink.c xbee.c&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
By reading all the information above you should be able to infer what the above does.&lt;br /&gt;
&lt;br /&gt;
Now keep in mind that the ground modem baud rate and airplanes modem baud rates do not have to match. The only things that need to match are the the modem on the planes baud rate and the rate defined in the airframe file. For example this planes modem is set to 9600 and this could be used with the ground modem configured above using 57600... &lt;br /&gt;
Also for multiple UAV's a good way to configure them is to use 9600 for the ap and use a ground modem configured to 57600 and its not a bad idea to use minimal telemetry.&lt;br /&gt;
&lt;br /&gt;
=== GPS ===&lt;br /&gt;
The serial port settings must match that of the GPS and are configured here along with the necessary files to interpret the u-blox UBX binary protocol:&lt;br /&gt;
&lt;br /&gt;
{{Box Code|conf/airframes/myplane.xml|&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ap.CFLAGS += -DGPS -DUBX -DUSE_UART1 -DGPS_LINK=Uart1 -DUART1_BAUD=B38400&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ap.srcs += gps_ubx.c gps.c&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
'''Note:'''&lt;br /&gt;
* Tiny 13 v1.1 uses UART1 while Tiny 2 uses UART0 for GPS&lt;br /&gt;
* u-blox GPS modules are factory configured for 9600 baud, 38,400 baud is recommended along with the other required changes.  The GPS can be accessed directly thru the [[Compiling#USB_flashing|UART Tunnel]] and [[GPS#GPS_configuration_using_U-Center Configured with|u-center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If using the u-blox LEA-5H, add the flag -DGPS_USE_LATLONG in the makefile section of the airframe xml file in the gps section. This flag must be inserted above &amp;quot;ap.srcs += gps_ubx.c gps.c&amp;quot; for proper operation.&lt;br /&gt;
&lt;br /&gt;
{{Box Code|conf/airframes/myplane.xml|&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ap.CFLAGS += -DGPS -DUBX -DUSE_UART1 -DGPS_LINK=Uart1 -DUART1_BAUD=B38400 -DGPS_USE_LATLONG&lt;br /&gt;
ap.srcs += gps_ubx.c gps.c&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Sensors ===&lt;br /&gt;
&lt;br /&gt;
=== Control loops ===&lt;br /&gt;
&lt;br /&gt;
The control loops can be divided in two largely independent groups : the vertical ones and the horizontal ones (files sw/airborne/fw_h_ctl.c and sw/airborne/fw_v_ctl.c ). Those loops can be commanded at different levels by either the R/C transmitter or the autonomous navigation routine.&lt;br /&gt;
&lt;br /&gt;
First the horizontal loop:&lt;br /&gt;
{{Box Code|conf/airframes/funjet1.xml|&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ap.CFLAGS += -DNAV -DAGR_CLIMB -DLOITER_TRIM&lt;br /&gt;
ap.srcs += nav.c fw_h_ctl.c fw_v_ctl.c&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Airframe_Configuration&amp;diff=5449</id>
		<title>Airframe Configuration</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Airframe_Configuration&amp;diff=5449"/>
		<updated>2009-09-11T06:51:37Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* GPS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The airframe configuration file is located in &amp;lt;tt&amp;gt;conf/airframes&amp;lt;/tt&amp;gt; and contains&lt;br /&gt;
all the hardware and software settings for an aircraft. This is an [http://en.wikipedia.org/wiki/Xml XML] document containing some [http://en.wikipedia.org/wiki/Makefile Makefile] code at the bottom. All gains, trims, and behavior settings are defined with standard XML elements. The hardware definitions such as processor type, modem protocol, servo driver, etc. are contained in the makefile raw section.&lt;br /&gt;
&lt;br /&gt;
== Selecting the Airframe File ==&lt;br /&gt;
Each airframe file must be assigned a name, unique ID, flight plan, etc. in [[Conf.xml|&amp;lt;tt&amp;gt;conf/conf.xml&amp;lt;/tt&amp;gt;]] as follows:&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;conf&amp;gt;&lt;br /&gt;
  &amp;lt;aircraft &lt;br /&gt;
    name=&amp;quot;Twin1&amp;quot;&lt;br /&gt;
    ac_id=&amp;quot;1&amp;quot;&lt;br /&gt;
    airframe=&amp;quot;airframes/twinstar1.xml&amp;quot; &lt;br /&gt;
    radio=&amp;quot;radios/mc3030.xml&amp;quot; &lt;br /&gt;
    flight_plan=&amp;quot;flight_plans/mav05_cw.xml&amp;quot;&lt;br /&gt;
    telemetry=&amp;quot;telemetry/default.xml&amp;quot;&lt;br /&gt;
    gui_color=&amp;quot;blue&amp;quot;&lt;br /&gt;
  /&amp;gt;&lt;br /&gt;
  &amp;lt;aircraft &lt;br /&gt;
    name=&amp;quot;Plaster&amp;quot;&lt;br /&gt;
    ac_id=&amp;quot;2&amp;quot;&lt;br /&gt;
    airframe=&amp;quot;airframes/plaster1.xml&amp;quot; &lt;br /&gt;
    radio=&amp;quot;radios/cockpitMM.xml&amp;quot; &lt;br /&gt;
    telemetry=&amp;quot;telemetry/default.xml&amp;quot;&lt;br /&gt;
    flight_plan=&amp;quot;flight_plans/dummy.xml&amp;quot;&lt;br /&gt;
  /&amp;gt;&lt;br /&gt;
  .&lt;br /&gt;
  .&lt;br /&gt;
  .&lt;br /&gt;
  &amp;lt;/conf&amp;gt;&lt;br /&gt;
Then, to compile and flash the airframe settings and associated flight plan to your autopilot, simply select the appropriate A/C and target in the [[Paparazzi_Center|Paparazzi Center]] or specify your airframe name in the flash command typed from the prompt:&lt;br /&gt;
 make AIRCRAFT=&amp;lt;b&amp;gt;Twin1&amp;lt;/b&amp;gt; ap.upload&lt;br /&gt;
More information can be found on the [[Conf.xml|conf.xml]] page&lt;br /&gt;
&lt;br /&gt;
== XML Parameters ==&lt;br /&gt;
=== Commands ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;commands&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; lists the abstract commands you need to control the aircraft. In our example, we have only three:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&lt;br /&gt;
 &amp;lt;commands&amp;gt;&lt;br /&gt;
  &amp;lt;axis name=&amp;quot;THROTTLE&amp;quot; failsafe_value=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;axis name=&amp;quot;ROLL&amp;quot;     failsafe_value=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;axis name=&amp;quot;PITCH&amp;quot;    failsafe_value=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/commands&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
Each command is associated with a failsafe value which will be used if no controller is active (during initialization for example). The range of these values is [-9600:9600]. Note that these commands do not necessarily match the servo actuators. For example, the ROLL command is typically linked to two aileron actuators.&lt;br /&gt;
&lt;br /&gt;
=== Servos ===&lt;br /&gt;
&lt;br /&gt;
The above commands get translated to the &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;servos&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; here.  In this example we use two ailevons (surfaces used for both pitch and roll as on a flying wing) and a motor. These are listed in the &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;servos&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; section:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&lt;br /&gt;
 &amp;lt;servos&amp;gt;&lt;br /&gt;
  &amp;lt;servo name=&amp;quot;THROTTLE&amp;quot;      no=&amp;quot;0&amp;quot; min=&amp;quot;1000&amp;quot; neutral=&amp;quot;1000&amp;quot; max=&amp;quot;2000&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;servo name=&amp;quot;AILEVON_LEFT&amp;quot;  no=&amp;quot;1&amp;quot; min=&amp;quot;2000&amp;quot; neutral=&amp;quot;1500&amp;quot; max=&amp;quot;1000&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;servo name=&amp;quot;AILEVON_RIGHT&amp;quot; no=&amp;quot;2&amp;quot; min=&amp;quot;1000&amp;quot; neutral=&amp;quot;1500&amp;quot; max=&amp;quot;2000&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/servos&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
where names are associated to the corresponding servo channel number on the autopilot and the neutral value, total range and direction are defined.  Min/max/neutral values are expressed in milliseconds and the direction of travel can be reversed by exchanging min with max (as in &amp;lt;tt&amp;gt;&amp;quot;AILEVON_LEFT&amp;quot;&amp;lt;/tt&amp;gt;, above).  The ''standard'' travel for a hobby servo is 1000ms - 2000ms with a 1500ms neutral.  Trim can be added by changing this neutral value, and absolute travel limits can be increased or reduced with the min/max values.  The &amp;lt;tt&amp;gt;&amp;quot;THROTTLE&amp;quot;&amp;lt;/tt&amp;gt; servo typically has the same value for the &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;neutral&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;min&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt;.  Note the following tips:&lt;br /&gt;
* Reverse the servo direction by exchanging min/max&lt;br /&gt;
* Trim should always be adjusted mechanically if possible to avoid asymetrical travel&lt;br /&gt;
* Any reduction of the total travel range should be done mechanically to maintain precision&lt;br /&gt;
* Many servos will respond well to values slightly outside the normal 1000-2000ms range but experiment carefully as the servo may not operate reliably outside this range and may even suffer permanent damage.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;servos&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; are then linked to the commands in the &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;command_laws&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; section:&lt;br /&gt;
 &amp;lt;tt&amp;gt;&lt;br /&gt;
 &amp;lt;command_laws&amp;gt;&lt;br /&gt;
  &amp;lt;let var=&amp;quot;aileron&amp;quot;         value=&amp;quot;@ROLL  * 0.3&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;let var=&amp;quot;elevator&amp;quot;        value=&amp;quot;@PITCH * 0.7&amp;quot;/&amp;gt;  &lt;br /&gt;
  &amp;lt;set servo=&amp;quot;THROTTLE&amp;quot;      value=&amp;quot;@THROTTLE&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;set servo=&amp;quot;AILEVON_LEFT&amp;quot;  value=&amp;quot;$elevator + $aileron&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;set servo=&amp;quot;AILEVON_RIGHT&amp;quot; value=&amp;quot;$elevator - $aileron&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/command_laws&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
[[Image:airframe_sign_conventions.jpg|thumb|Sign conventions for flight dynamics]]&lt;br /&gt;
where the third line is the simplest: the throttle servo value equals throttle command value. The other lines define and control the pitch/roll mixing.  Ailevon values are computed with a combination of two commands, '''ROLL''' and '''PITCH'''. This ''mixer'' is defined with two intermediate variables '''aileron''' and '''elevator''' introduced with the &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;let&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; element.  The '''@''' symbol is used to reference a command value in the &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;value&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; attribute of the &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;set&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;let&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; elements.  In the above example, the servos are limited to +/- 70% of their full travel for pitch and 30% for roll, only in combination can the servos reach 100% deflection.  Note that these numbers ''should add up 100% or more, never less''.  For example, you may want 100% travel available for pitch - this means if a roll is commanded along with maximum pitch only one servo will respond to the roll command as the other has already reached its mechanical limit.  If you find after tuning that these numbers add to less than 100% consider reducing the surface travel mechanically.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the signs used in the description follow the standard convention.&lt;br /&gt;
&lt;br /&gt;
=== Manual ===&lt;br /&gt;
The &amp;lt;tt&amp;gt;rc_command&amp;lt;/tt&amp;gt; sections links the channels of the RC transmitter (defined in the [[Radio_Control|Radio Control]] file) to the &amp;lt;tt&amp;gt;commands&amp;lt;/tt&amp;gt; defined above:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;rc_commands&amp;gt;&lt;br /&gt;
   &amp;lt;set command=&amp;quot;THROTTLE&amp;quot; value=&amp;quot;@THROTTLE&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;set command=&amp;quot;ROLL&amp;quot;     value=&amp;quot;@ROLL&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;set command=&amp;quot;PITCH&amp;quot;    value=&amp;quot;@PITCH&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/rc_commands&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example looks trivial since the channel values have the same name than the commands.&lt;br /&gt;
&lt;br /&gt;
=== Autopilot Only Commands ===&lt;br /&gt;
For certain missions it might be required to control servos (payload) from the autopilot (gcs) at all times (even during manual flight). These commands should not be in the &amp;lt;rc_commands&amp;gt; block but in the special &amp;lt;ap_only_commands&amp;gt; block. This allows for instance the pantilt operator to keep working when in manual flight, or safety logic to automatically close cameras below a certain altitude during manual landings.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;ap_only_commands&amp;gt;&lt;br /&gt;
   &amp;lt;copy command=&amp;quot;PAN&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;copy command=&amp;quot;TILT&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;copy command=&amp;quot;SHOOT&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/ap_only_commands&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Auto1 ===&lt;br /&gt;
The next section, named &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;AUTO1&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt;, gives the maximum roll and pitch (in radians) allowed for the augmented stability mode.&lt;br /&gt;
 &amp;lt;tt&amp;gt;&lt;br /&gt;
 &amp;lt;section name=&amp;quot;AUTO1&amp;quot; prefix=&amp;quot;AUTO1_&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;MAX_ROLL&amp;quot; value=&amp;quot;RadOfDeg(35)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;MAX_PITCH&amp;quot; value=&amp;quot;RadOfDeg(35)&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/section&amp;gt;&lt;br /&gt;
 &amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ADC === &lt;br /&gt;
In the &amp;quot;adc&amp;quot; section, you will find the conformity between arguments and their assigned pins on the autopilot board.&lt;br /&gt;
 &amp;lt;section name=&amp;quot;adc&amp;quot; prefix=&amp;quot;ADC_CHANNEL_&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;define name=&amp;quot;IR1&amp;quot; value=&amp;quot;ADC_1&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;define name=&amp;quot;IR2&amp;quot; value=&amp;quot;ADC_2&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;define name=&amp;quot;IR_TOP&amp;quot; value=&amp;quot;ADC_0&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/section&amp;gt;&lt;br /&gt;
'''Important note''': To ''activate'' an ADC entry, a flag must be defined in the &amp;lt;tt&amp;gt;makefile&amp;lt;/tt&amp;gt; section. For the previous example, we would have to write:&lt;br /&gt;
&lt;br /&gt;
 ap.CFLAGS += -DADC -DUSE_ADC_0 -DUSE_ADC_1 -DUSE_ADC_2&lt;br /&gt;
 ap.srcs += $(SRC_ARCH)/adc_hw.c&lt;br /&gt;
&lt;br /&gt;
==== ADC Generic ====&lt;br /&gt;
&lt;br /&gt;
In addition, if you want to receive the value of some ADC channel, you can use the &amp;quot;ADC Generic&amp;quot; service. When activated, the aircraft sends 2 values corresponding to the selected ADC channels. They can be read from the &amp;quot;Messages&amp;quot; application.&lt;br /&gt;
  ap.CFLAGS += -DUSE_ADC_GENERIC -DUSE_ADC_3 -DADC_CHANNEL_GENERIC1=ADC_3 -DUSE_ADC_4 -DADC_CHANNEL_GENERIC2=ADC_4&lt;br /&gt;
  ap.srcs += adc_generic.c&lt;br /&gt;
In this example, the ADC channels 3 and 4 are read and sent by telemetry at 4Hz:&lt;br /&gt;
  &amp;lt;message name=&amp;quot;ADC_GENERIC&amp;quot; ID=&amp;quot;18&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;val1&amp;quot; type=&amp;quot;uint16&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;val2&amp;quot; type=&amp;quot;uint16&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/message&amp;gt;&lt;br /&gt;
Only two channels can be defined. If only one is activated, 0 will send for the second value.&lt;br /&gt;
&lt;br /&gt;
=== Infrared === &lt;br /&gt;
The &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;INFRARED&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; section describes the configuration of the infrared sensors.&lt;br /&gt;
&lt;br /&gt;
The first definitions are relative to the electronic neutral of the sensors (a sensor here is a '''pair''' of thermopiles). A perfect sensor should give 512 if it measures the same value on both sides.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;section name=&amp;quot;INFRARED&amp;quot; prefix=&amp;quot;IR_&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;define name=&amp;quot;ADC_IR1_NEUTRAL&amp;quot; value=&amp;quot;512&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;define name=&amp;quot;ADC_IR2_NEUTRAL&amp;quot; value=&amp;quot;512&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;define name=&amp;quot;ADC_TOP_NEUTRAL&amp;quot; value=&amp;quot;512&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These neutrals are tuned with the &amp;quot;cupboard test&amp;quot;: Put the sensor in a close box (a cupboard) and read the values of the IR_SENSORS message (ir1, ir2 and vertical). Set the neutrals (they are subtracted from the measurement) to get null values. E.g. if you read 5 for the ir1 value with ADC_IR1_NEUTRAL equal to 512, change the latter to 517.&lt;br /&gt;
&lt;br /&gt;
The next lines define the installation of the horizontal and vertical sensors. The vertical sensor must  give a positive value when the temperature under the aircraft is higher than the temperature above. The two channels of the horizontal sensor must give positive values when it is warmer on the right side and the rear side. To adjust these signs, use the following declarations:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;define name=&amp;quot;IR1_SIGN&amp;quot; value=&amp;quot;-1&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;define name=&amp;quot;IR2_SIGN&amp;quot; value=&amp;quot;-1&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;define name=&amp;quot;TOP_SIGN&amp;quot; value=&amp;quot;-1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then, define how the horizontal sensor is connected to the airframe, orientation '''aligned''' or '''tilted'''. In the aligned case, ir'''1''' is along the lateral axis (The axis that passes through the plane from wingtip to wingtip) and ir'''2''' along the longitudinal one. In the '''tilted''' case, the sensors are tilted by 45 degrees; ir'''1''' is along rear-left -- front-right, and ir'''2''' along rear-right -- front-left. The parameter &amp;quot;value&amp;quot; has no effect! If the airframe construction allows choose an aligned sensor orientation since this gives the best stabilization response results.&lt;br /&gt;
&lt;br /&gt;
For help with orientation of '''Previous Versions of Infrared Sensor Boards''' try here : http://paparazzi.enac.fr/wiki/Previous_Infrared_Sensors&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;define name=&amp;quot;HORIZ_SENSOR_ALIGNED&amp;quot; value=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
  or&lt;br /&gt;
   &amp;lt;define name=&amp;quot;HORIZ_SENSOR_TILTED&amp;quot; value=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The three axis must give similar values for similar contrasts. The following factors can be used to scale these values. For example with an horizontal tilted sensor, the following ratios are usually needed:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;define name=&amp;quot;LATERAL_CORRECTION&amp;quot; value=&amp;quot;0.7&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;define name=&amp;quot;LONGITUDINAL_CORRECTION&amp;quot; value=&amp;quot;0.7&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;define name=&amp;quot;VERTICAL_CORRECTION&amp;quot; value=&amp;quot;1.&amp;quot;/&amp;gt;&lt;br /&gt;
Default values are 1.&lt;br /&gt;
&lt;br /&gt;
It may be hard to align the horizontal sensor with the aircraft. A tuning in flight will be needed to adjust the following neutrals. Adjust the roll neutral to fly straight. Adjust the pitch neutral to fly level with the desired throttle.&lt;br /&gt;
   &amp;lt;define name=&amp;quot;ROLL_NEUTRAL_DEFAULT&amp;quot; value=&amp;quot;-2.5&amp;quot; unit=&amp;quot;deg&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;define name=&amp;quot;PITCH_NEUTRAL_DEFAULT&amp;quot; value=&amp;quot;6&amp;quot; unit=&amp;quot;deg&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finally, an asymmetric (left/right, front/rear) correction can be added with a last set of factors.&lt;br /&gt;
   &amp;lt;define name=&amp;quot;CORRECTION_UP&amp;quot; value=&amp;quot;1.&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;define name=&amp;quot;CORRECTION_DOWN&amp;quot; value=&amp;quot;1.&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;define name=&amp;quot;CORRECTION_LEFT&amp;quot; value=&amp;quot;1.&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;define name=&amp;quot;CORRECTION_RIGHT&amp;quot; value=&amp;quot;1.&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/section&amp;gt;&lt;br /&gt;
These corrections are set on the angles.&lt;br /&gt;
&lt;br /&gt;
The old way to define the parameters is still possible, but must not be mixed with the new one describe above.&lt;br /&gt;
&lt;br /&gt;
=== Gyro === &lt;br /&gt;
Defines the type of gyro installed, each axis neutral, and any required temperature compensation. If the gyro has two axes, the pitch neutral is defined as well. Many gyros output their internal temperature and require a temperature-dependent linear correction be made to the neutral value.  No correction is done for the temperature in this example.(&amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;ADC_TEMP_SLOPE=0&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tt&amp;gt;&lt;br /&gt;
 &amp;lt;section name=&amp;quot;GYRO&amp;quot; prefix=&amp;quot;GYRO_&amp;quot;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;ADC_ROLL_COEFF&amp;quot; value=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;ROLL_NEUTRAL&amp;quot; value=&amp;quot;500&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;ADC_TEMP_NEUTRAL&amp;quot; value=&amp;quot;476&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;ADC_TEMP_SLOPE&amp;quot; value=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/section&amp;gt;&lt;br /&gt;
 &amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bat === &lt;br /&gt;
This section give characteristics for the monitoring of the main power battery. &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;MILLIAMP_AT_FULL_THROTTLE&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; represents the actual current (in mA) when full THROTTLE is applied. It is used to compute the &amp;lt;tt&amp;gt;energy&amp;lt;/tt&amp;gt; value of the &amp;lt;tt&amp;gt;BAT&amp;lt;/tt&amp;gt; message when no current sensor is mounted in the airframe. This value can also be used in flight plans. For example, if at full throttle your motor consumes 10 Amps, use a value of 10000. At 50% throttle it is likely to use about 5 Amps so the autopilot can have a better idea how much energy is remaining. You can &amp;quot;tweak&amp;quot; this number after a few flights to match the capacity of your battery. If upon landing your bat.energy messages says that you used 2500 mAh while the battery has only 2000 mAh capacity, you could reduce the MILLIAMP_AT_FULL_THROTTLE value by 20% to match your in-flight current consumption.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;CATASTROPHIC_BAT_LEVEL&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; (was previously &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;LOW_BATTERY&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt;) value defines the voltage at which the autopilot will lock the throttle at 0% in autonomous mode (kill_throttle mode). This value is also used by the ground server to issue a '''CATASTROPHIC''' alarm message on the bus (this message will be displayed in the console of the GCS).  &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;CRITIC&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;LOW&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; values will also used as threshold for '''CRITIC''' and '''WARNING''' alarms. They are optional and the respective defaults are 10.0 and 10.5V.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;MAX_BAT_LEVEL&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; may be specified to improve the display of the battery gauge in the strip. This definition is optional with a default value of 12.5V.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tt&amp;gt;&lt;br /&gt;
 &amp;lt;section name=&amp;quot;BAT&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;MILLIAMP_AT_FULL_THROTTLE&amp;quot; value=&amp;quot;12000&amp;quot; unit=&amp;quot;mA&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;VOLTAGE_ADC_A&amp;quot; value=&amp;quot;0.0177531&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;VOLTAGE_ADC_B&amp;quot; value=&amp;quot;0.173626&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;VoltageOfAdc(adc)&amp;quot; value =&amp;quot;(VOLTAGE_ADC_A * adc + VOLTAGE_ADC_B)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;CATASTROPHIC_BAT_LEVEL&amp;quot; value=&amp;quot;6.0&amp;quot; unit=&amp;quot;V&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;CRITIC_BAT_LEVEL&amp;quot; value=&amp;quot;6.5&amp;quot; unit=&amp;quot;V&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;LOW_BAT_LEVEL&amp;quot; value=&amp;quot;7.0&amp;quot; unit=&amp;quot;V&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;MAX_BAT_LEVEL&amp;quot; value=&amp;quot;8.4&amp;quot; unit=&amp;quot;V&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/section&amp;gt;&lt;br /&gt;
 &amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A description how to get a current sensor working is here: [[Current_sensor|Current sensor]]&lt;br /&gt;
&lt;br /&gt;
=== Horizontal Control ===&lt;br /&gt;
 &amp;lt;tt&amp;gt;&lt;br /&gt;
 &amp;lt;section name=&amp;quot;HORIZONTAL CONTROL&amp;quot; prefix=&amp;quot;H_CTL_&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;COURSE_PGAIN&amp;quot; value=&amp;quot;-0.4&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;ROLL_MAX_SETPOINT&amp;quot; value=&amp;quot;0.35&amp;quot; unit=&amp;quot;radians&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;ROLL_ATTITUDE_GAIN&amp;quot; value=&amp;quot;-7500.&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;ROLL_RATE_GAIN&amp;quot; value=&amp;quot;-1500&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;PITCH_PGAIN&amp;quot; value=&amp;quot;-8000.&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;ELEVATOR_OF_ROLL&amp;quot; value=&amp;quot;1250&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/section&amp;gt;&lt;br /&gt;
 &amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The outer loop acts on the route. It will produce a roll command from a course setpoint and a course measurement. The COURSE_PGAIN parameter is the factor multiplied by the course error (in radian) to get a roll setpoint (in radian). So if the plane is expected to go north (course=0) and is actually flying to 57 degrees (course=1 radian, i.e. ENE), with a gain of '''-0.4''', a roll of -0.4 (23 degrees) will be set for the lower control loop.&lt;br /&gt;
&lt;br /&gt;
The ROLL_ATTITUDE_GAIN is used to compute a ROLL command from the roll error (setpoint minus measurement). If a gyro in installed, the ROLL_RATE_GAIN to keep a null roll rate. So these two gains provide a P-D controller.&lt;br /&gt;
&lt;br /&gt;
===Vertical Control===&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;section name=&amp;quot;VERTICAL CONTROL&amp;quot; prefix=&amp;quot;V_CTL_&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- outer loop proportional gain --&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;ALTITUDE_PGAIN&amp;quot; value=&amp;quot;-0.1&amp;quot; unit=&amp;quot;(m/s)/m&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;!-- outer loop saturation --&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;ALTITUDE_MAX_CLIMB&amp;quot; value=&amp;quot;3.&amp;quot; unit=&amp;quot;m/s&amp;quot;/&amp;gt;&lt;br /&gt;
These lines are associated with vertical control loops contained in ./sw/airborne/fw_v_ctl.c.  These are outer loop parameters that calculate a desired climb rate based on altitude error. Here, if the altitude error is 10m, the climb setpoint will be set to 1m/s. ALTITUDE_MAX_CLIMB is a bounded value (in m/s) so that the outer loop does not calculate too large of a climb rate&lt;br /&gt;
    &amp;lt;define name=&amp;quot;AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE&amp;quot; value=&amp;quot;0.65&amp;quot; unit=&amp;quot;%&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;AUTO_THROTTLE_MIN_CRUISE_THROTTLE&amp;quot; value=&amp;quot;.4&amp;quot; unit=&amp;quot;%&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;AUTO_THROTTLE_MAX_CRUISE_THROTTLE&amp;quot; value=&amp;quot;1&amp;quot; unit=&amp;quot;%&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;AUTO_THROTTLE_LOITER_TRIM&amp;quot; value=&amp;quot;1000&amp;quot; unit=&amp;quot;pprz_t&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;AUTO_THROTTLE_DASH_TRIM&amp;quot; value=&amp;quot;-2500&amp;quot; unit=&amp;quot;pprz_t&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT&amp;quot; value=&amp;quot;0.15&amp;quot; unit=&amp;quot;%/(m/s)&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;AUTO_THROTTLE_PGAIN&amp;quot; value=&amp;quot;-0.008&amp;quot; unit=&amp;quot;%/(m/s)&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;AUTO_THROTTLE_IGAIN&amp;quot; value=&amp;quot;0.25&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;AUTO_THROTTLE_PITCH_OF_VZ_PGAIN&amp;quot; value=&amp;quot;0.35&amp;quot; unit=&amp;quot;rad/(m/s)&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These lines are associated with vertical rate control loops contained in ./sw/airborne/fw_v_ctl.c and are used by default in most cases.  The default vertical control law is for the vertical rate to be managed by a combination of throttle and pitch.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;define name=&amp;quot;AUTO_PITCH_PGAIN&amp;quot; value=&amp;quot;-0.1&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;AUTO_PITCH_IGAIN&amp;quot; value=&amp;quot;0.025&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;AUTO_PITCH_MAX_PITCH&amp;quot; value=&amp;quot;0.5&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;AUTO_PITCH_MIN_PITCH&amp;quot; value=&amp;quot;-0.5&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These lines are associated with vertical control loops contained in ./sw/airborne/fw_v_ctl.c but are not used in default. The non-default vertical control law is for the vertical rate to be managed by the pitch.&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;define name=&amp;quot;THROTTLE_SLEW_LIMITER&amp;quot; value=&amp;quot;2&amp;quot; unit=&amp;quot;s&amp;quot;/&amp;gt;&lt;br /&gt;
THROTTLE_SLEW_LIMITER is the required time is seconds to change throttle from 0% to 100%.&lt;br /&gt;
&lt;br /&gt;
=== Misc ===&lt;br /&gt;
 &amp;lt;tt&amp;gt;&lt;br /&gt;
 &amp;lt;section name=&amp;quot;MISC&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;NOMINAL_AIRSPEED&amp;quot; value =&amp;quot;12.&amp;quot; unit=&amp;quot;m/s&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;CARROT&amp;quot; value=&amp;quot;5.&amp;quot; unit=&amp;quot;s&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;KILL_MODE_DISTANCE&amp;quot; value=&amp;quot;(1.5*MAX_DIST_FROM_HOME)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;define name=&amp;quot;CONTROL_RATE&amp;quot; value&amp;quot;60&amp;quot; unit=&amp;quot;Hz&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/section&amp;gt;&lt;br /&gt;
 &amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The &amp;quot;NOMINAL_AIRSPEED&amp;quot; is mainly used in the simulator.&lt;br /&gt;
* &amp;quot;CARROT&amp;quot; gives the distance (in seconds, so ground speed is taken into account) between the carrot and the aircraft.&lt;br /&gt;
* &amp;quot;KILL_MODE_DISTANCE&amp;quot; is the threshold distance to switch the autopilot into KILL mode (defined descent with no throttle)&lt;br /&gt;
* &amp;quot;CONTROL_RATE&amp;quot; is the rate of the low level control loops in Hertz (60 or 20).&lt;br /&gt;
&lt;br /&gt;
=== Modules ===&lt;br /&gt;
The [[Modules|modules]] allow to add new code in a flexible way with initialisation, periodic and event functions without modifying the main AP loop.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;tt&amp;gt;&lt;br /&gt;
 &amp;lt;modules main_freq=&amp;quot;60&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;load name=&amp;quot;demo_module.xml&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/modules&amp;gt;&lt;br /&gt;
 &amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The main_freq parameter (in Hz) allows to specify the frequency of the main loop. Default is 60 Hz&lt;br /&gt;
&lt;br /&gt;
== Hardware definitions - Makefile ==&lt;br /&gt;
&lt;br /&gt;
The airframe file must include the description of the controller board and it's low-level settings.  This is done in one &amp;lt;b&amp;gt;&amp;lt;tt&amp;gt;makefile&amp;lt;/tt&amp;gt;&amp;lt;/b&amp;gt; section starting with the autopilot model and flashing mode:&lt;br /&gt;
{{Box Code|conf/airframes/myplane.xml|&lt;br /&gt;
 &amp;lt;makefile&amp;gt;&lt;br /&gt;
  include $(PAPARAZZI_SRC)/conf/autopilot/tiny.makefile&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;FLASH_MODE=IAP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.CFLAGS +=  -DFBW -DAP -DBOARD_CONFIG=\&amp;quot;tiny.h\&amp;quot; -DLED -DTIME_LED=1&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  .&lt;br /&gt;
  .&lt;br /&gt;
  .&lt;br /&gt;
 &amp;lt;/makefile&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Please note that -DCONFIG was changed to -DBOARD_CONFIG on 18 July 2009.&lt;br /&gt;
&lt;br /&gt;
Below this are the definintions and configuration of the peripherals and interfaces.&lt;br /&gt;
&lt;br /&gt;
=== Radio Control ===&lt;br /&gt;
The Paparazzi autpilot can interface directly with the PWM signal from any standard hobby R/C receiver.  Signal decoding configuration settings for this are stored in the [[Radio_Control|Radio Control]] file.&lt;br /&gt;
&lt;br /&gt;
If you have a Tiny v1.1 Autopilot:&lt;br /&gt;
{{Box Code|conf/airframes/myplane.xml|&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.CFLAGS += -DACTUATORS=\&amp;quot;servos_4015_MAT_hw.h\&amp;quot; -DSERVOS_4015_MAT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.srcs += $(SRC_ARCH)/servos_4015_MAT_hw.c actuators.c&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.CFLAGS += -DRADIO_CONTROL -DRADIO_CONTROL_TYPE=RC_FUTABA&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.srcs += radio_control.c $(SRC_ARCH)/ppm_hw.c&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
If you have a Tiny v2 or TWOG v1 Autopilot:&lt;br /&gt;
{{Box Code|conf/airframes/myplane.xml|&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.CFLAGS += -DACTUATORS=\&amp;quot;servos_4017_hw.h\&amp;quot; -DSERVOS_4017&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.srcs += $(SRC_ARCH)/servos_4017_hw.c actuators.c&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.CFLAGS += -DRADIO_CONTROL -DRADIO_CONTROL_TYPE=RC_FUTABA&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.srcs += radio_control.c $(SRC_ARCH)/ppm_hw.c&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
If you want to output standard PPM to a R/C receiver:&lt;br /&gt;
{{Box Code|conf/airframes/myplane.xml|&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.CFLAGS += -DACTUATORS=\&amp;quot;servos_ppm_hw.h\&amp;quot; -DSERVOS_PPM_MAT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.srcs += $(SRC_ARCH)/servos_ppm_hw.c actuators.c&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.CFLAGS += -DRADIO_CONTROL -DRADIO_CONTROL_TYPE=RC_FUTABA&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.srcs += radio_control.c $(SRC_ARCH)/ppm_hw.c&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
This is used in the case where you want to directly drive a receiver which has a microcontroller to do the decoding and driving of the servos (not a 4015 or 4017 decoder chip). The PPM is output on the SERV_CLK pin. The PPM frame rate, pulse width, and number of channels can be adjusted in the &amp;quot;servos_ppm_hw.h&amp;quot; file to suit your particular receiver. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you have a Classix Autopilot:&lt;br /&gt;
{{Box Code|conf/airframes/myplane.xml|&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.CFLAGS += -DRADIO_CONTROL -DRADIO_CONTROL_TYPE=RC_FUTABA&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.EXTRA_SRCS += radio_control.c $(SRC_ARCH)/ppm_hw.c&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.CFLAGS += -DACTUATORS=\&amp;quot;servos_direct_hw.h\&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;ap.EXTRA_SRCS += $(SRC_ARCH)/servos_direct_hw.c&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
You can set RADIO_CONTROL_TYPE to RC_FUTABA, for falling edge PPM, or RC_JR for rising edge PPM. &amp;quot;RC_FUTABA&amp;quot; is for the Futaba or compatible brands, and &amp;quot;RC_JR&amp;quot; for JR (a.k.a Graupner outside of the USA) or compatible brands.&lt;br /&gt;
&lt;br /&gt;
For the Classix, you must specify which pins to use for PWM by adding &amp;quot;-DPWM_SERVO_0, etc.&amp;quot; to the line fbw.CFLAGS. This activate the PWM channel. &lt;br /&gt;
  &amp;lt;tt&amp;gt;wiring on classix PWM connector&lt;br /&gt;
  connector   LPC   shared         port &lt;br /&gt;
  PWM1        PWM5  AD1_6  CAP1_3  P0.21&lt;br /&gt;
  PWM2        PWM3  RXD0   EINT0   P0.1&lt;br /&gt;
  PWM3        PWM1  TXD0           P0.0&lt;br /&gt;
  PWM4        PWM6  RXD1   EINT3   P0.9&lt;br /&gt;
  PWM5        PWM4  TXD1   AD1_1   P0.8&lt;br /&gt;
  PWM6        PWM2  SSEL0  EINT2   P0.7&amp;lt;/tt&amp;gt;&lt;br /&gt;
PWM1 and PWM6 should be safe. PWM4 and PWM5 should be OK if you're not using UART1 on the FBW processor - same for PWM2 and PWM3 if you're not using UART0 (disable FBW telemetry for that ).&lt;br /&gt;
&lt;br /&gt;
=== Modem ===&lt;br /&gt;
The modem protocol and baud rate must be set in both the airframe file and ground station.  Any standard baud rate can be used, with 9600 being adequate and 57600 recommended for most users to allow high speed telemetry for more detailed flight data analysis.  The actual data rate is determined by the number of messages being sent and the period of each message as defined in &amp;lt;tt&amp;gt;conf/telemetry/default.xml&amp;lt;/tt&amp;gt;.  Those wishing to experiment with &amp;quot;alternative&amp;quot; modems can reduce the number and period of each telemetry message to fit within most any bandwidth constraint.&lt;br /&gt;
&lt;br /&gt;
Paparazzi supports the following modem protocols:&lt;br /&gt;
* Standard transparent serial (pprz) - this is compatible with all modems and can be used to connect the autopilot directly to a PC for testing without a modem.&lt;br /&gt;
* Maxstream API protocol (xbee) - compatible with all Maxstream modems including the 9XTend and Zigbee.  This protocol enables hardware addressing, allowing multiple aircraft to be managed from a single ground modem.&lt;br /&gt;
* Coronis Wavecard - necessary for operation with the unusual Coronis Wavecard modem.&lt;br /&gt;
Select the baud/protocol in the airframe file by commenting/uncommenting the appropriate section as follows:&lt;br /&gt;
==== Configuring The Serial Protocol ====&lt;br /&gt;
New users are advised to start with the standard serial protocol before attempting to setup an addressed API link. There are no real reasons for the novice user to use the xbee protocol over the standard PPRZTransport. Even if you are using a Maxstream modem you should still start out with the standard. Lastly it should be pointed out that using a single UAV there is no disadvantage and that the [http://www.engr.usu.edu/wiki/index.php/OSAM OSAM] Paparazzi Team at UAS 2008 took second place using the STANDARD protocol. The serial protocol works with virtually any modem as well as direct cable connections.  The baud rates of the airborne modem, autopilot, ground modem, and PC must be configured correctly.  The PC and autopilot serial ports do not need to be set to the same baud rate, i.e. when running multiple aircraft from a single ground modem, the ground modem may require a higher baud rate than any of the airborne modems in order to stream the data from multiple simultaneous sources.&lt;br /&gt;
&lt;br /&gt;
{{Box Code|conf/airframes/myplane.xml|&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;section name=&amp;quot;DATALINK&amp;quot; prefix=&amp;quot;DATALINK_&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;DEVICE_TYPE&amp;quot; value=&amp;quot;PPRZ&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;DEVICE_ADDRESS&amp;quot; value=&amp;quot;....&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
The above example tells the autopilot to send and recieve data in standard serial form.&lt;br /&gt;
&lt;br /&gt;
{{Box Code|conf/airframes/myplane.xml - makefile section at the bottom|&lt;br /&gt;
 # Serial modem &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ap.CFLAGS += -DDOWNLINK -DUSE_UART0 -DDOWNLINK_TRANSPORT=PprzTransport -DDOWNLINK_FBW_DEVICE=Uart0 -DDOWNLINK_AP_DEVICE=Uart0 -DPPRZ_UART=Uart0 -DDATALINK=PPRZ -DUART0_BAUD=B57600&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ap.srcs += downlink.c $(SRC_ARCH)/uart_hw.c datalink.c pprz_transport.c&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
The above example configures the autopilot serial port (Uart0) to 57,600 baud and calls the serial transport protocol (pprz_transport.c).  Use the &amp;quot;#&amp;quot; symbol to comment lines in this section of the airframe file. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note:&lt;br /&gt;
* The autopilot and modem serial port baud rates must match at all times and also must match the ground modem rate, check your modem documentation to find the default baud rate and configure a different rate as needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensure that the ground station is using the same protocol and an equal or higher baud rate:&lt;br /&gt;
{{Box Code|conf/control_panel.xml|&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;session name=&amp;quot;USB&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;program name=&amp;quot;link&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-d&amp;quot; constant=&amp;quot;/dev/paparazzi/ttyUSB0&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;!-- &amp;lt;arg flag=&amp;quot;-transport&amp;quot; constant=&amp;quot;xbee&amp;quot;/&amp;gt; Comment this line for standard serial protocol --&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-uplink&amp;quot; constant=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-s&amp;quot; constant=&amp;quot;57600&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/program&amp;gt;&lt;br /&gt;
   ...&lt;br /&gt;
 &amp;lt;/session&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Use this constant /dev/paparazzi/ttyUSB0 when using either the ftdi cable or a Maxstream USB ground modem.. Otherwise use /dev/ttyUSB0 (the ttyUSB0 being the device that you are using. Note: it might not always be ttyUSB0). This paparazzi directory in the dev folder is created when setting the udev rules. [http://paparazzi.enac.fr/wiki/index.php/Installation#Setting_access_rights_for_USB_download Setting Udev rules]&lt;br /&gt;
&lt;br /&gt;
==== Configuring The Maxstream API Protocol ====&lt;br /&gt;
The optional API protocol enables hardware addressing so that multiple aircraft can be managed from a single ground modem, or multiple aircraft and multiple ground stations can work simultaneously without interference from one another.  API mode is enabled by sending an escape sequence (+++) followed by AT commands, this can be done automatically at each boot or can be permanently configured with the &amp;quot;ATWR&amp;quot; command for greater reliability.&lt;br /&gt;
&lt;br /&gt;
{{Box Code|conf/airframes/myplane.xml|&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;section name=&amp;quot;MISC&amp;quot;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;define name=&amp;quot;XBEE_INIT&amp;quot; value=&amp;quot;\&amp;quot;ATPL2\rATRN1\rATTT80\r\ATBD6\rATWR\r\&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
 &amp;lt;/section&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
The above example will program the Maxstream to API mode, 100mW power (ATPL2), 57600 baud (ATBD6), and permanently store the changes (ATWR).  After flashing allow 30 seconds for the modem to store the changes, then disable the init string by adding the line &amp;lt;tt&amp;gt;&amp;lt;define name=&amp;quot;NO_XBEE_API_INIT&amp;quot; value=&amp;quot;TRUE&amp;quot;/&amp;gt;&amp;lt;/tt&amp;gt; (the parameter &amp;quot;value&amp;quot; has no effect), update the baud rate as needed, and re-flash the autopilot.  The modem and autopilot serial port baud rates must match eachother at all times.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Notes: &lt;br /&gt;
* Maxtream modems are factory configured for 9600 baud, in order to change baud rates, first configure the autopilot serial port to match the modem (DUART0_BAUD=B9600), boot the system so that the baud rate change command is sent to the modem (ATBD6) and permanently saved (ATWR), allow 30 seconds for the modem configuration to complete, then reprogram the autopilot with the new baud rate (DUART0_BAUD=B57600) and disabled modem configuration string &amp;lt;tt&amp;gt;&amp;lt;define name=&amp;quot;NO_XBEE_API_INIT&amp;quot; value=&amp;quot;TRUE&amp;quot;/&amp;gt; &amp;lt;/tt&amp;gt;.&lt;br /&gt;
* The ac_id defined in &amp;lt;tt&amp;gt;conf/conf.xml&amp;lt;/tt&amp;gt; is permanently programmed into the modem so this procedure would need to be re-run if the modem is moved to another plane.&lt;br /&gt;
* For temporary boot-time API configuration remove any baud rate changes, remove &amp;lt;tt&amp;gt;ATWR\r&amp;lt;/tt&amp;gt; from the end of the string.&lt;br /&gt;
* Upgrade your Maxstream firmware to the latest version before attempting API mode operation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Box Code|confAgain/airframes/myplane.xml - makefile section at the bottom|&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# Maxstream API protocol&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ap.CFLAGS += -DDOWNLINK -DUSE_UART0 -DDOWNLINK_TRANSPORT=XBeeTransport -DDOWNLINK_FBW_DEVICE=Uart0 -DDOWNLINK_AP_DEVICE=Uart0 -DXBEE_UART=Uart0 -DDATALINK=XBEE -DUART0_BAUD=B57600&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ap.srcs += downlink.c $(SRC_ARCH)/uart_hw.c datalink.c xbee.c&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}} &lt;br /&gt;
The above example configures the autopilot serial port (Uart0) to 57,600 baud and calls the Maxstream transport protocol (xbee.c).  Use the &amp;quot;#&amp;quot; symbol to comment lines in this section of the airframe file.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensure that the ground station is using the same protocol and an equal or higher baud rate:&lt;br /&gt;
{{Box Code|conf/control_panel.xml|&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;session name=&amp;quot;USB&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;program name=&amp;quot;link&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-d&amp;quot; constant=&amp;quot;/dev/paparazzi/ttyUSB0&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-transport&amp;quot; constant=&amp;quot;xbee&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-uplink&amp;quot; constant=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;arg flag=&amp;quot;-s&amp;quot; constant=&amp;quot;57600&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/program&amp;gt;&lt;br /&gt;
   ...&lt;br /&gt;
 &amp;lt;/session&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Use this constant /dev/paparazzi/ttyUSB0 when using either the ftdi cable or a Maxstream USB ground modem.. Otherwise use /dev/ttyUSB0 (the ttyUSB0 being the device that you are using. Note: it might not always be ttyUSB0). This paparazzi directory in the dev folder is created when setting the udev rules. [http://paparazzi.enac.fr/wiki/index.php/Installation#Setting_access_rights_for_USB_download Setting Udev rules]&lt;br /&gt;
=====Alternate Method=====&lt;br /&gt;
This is the way it is done in funjet1.xml and has been tested to work by Danstah&lt;br /&gt;
&lt;br /&gt;
{{Box Code|conf/airframes/funjet1.xml|&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;section name=&amp;quot;MISC&amp;quot;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;define name=&amp;quot;XBEE_INIT&amp;quot; value=&amp;quot;\&amp;quot;ATPL2\rATRN1\rATTT80\r\&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;!--    &amp;lt;define name=&amp;quot;NO_XBEE_API_INIT&amp;quot; value=&amp;quot;TRUE&amp;quot;/&amp;gt; --&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
 &amp;lt;/section&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Also use this&lt;br /&gt;
{{Box Code|conf/airframes/funjet1.xml|&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;section name=&amp;quot;DATALINK&amp;quot; prefix=&amp;quot;DATALINK_&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;DEVICE_TYPE&amp;quot; value=&amp;quot;XBEE&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;define name=&amp;quot;DEVICE_ADDRESS&amp;quot; value=&amp;quot;....&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
And Finally use this in the makefile section&lt;br /&gt;
{{Box Code|conf/airframes/funjet1.xml|&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
ap.CFLAGS += -DDOWNLINK -DUSE_UART1 -DDOWNLINK_TRANSPORT=XBeeTransport -DXBEE_UART=Uart1 -DDATALINK=XBEE -DUART1_BAUD=B9600&lt;br /&gt;
ap.srcs += downlink.c $(SRC_ARCH)/uart_hw.c datalink.c xbee.c&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
By reading all the information above you should be able to infer what the above does.&lt;br /&gt;
&lt;br /&gt;
Now keep in mind that the ground modem baud rate and airplanes modem baud rates do not have to match. The only things that need to match are the the modem on the planes baud rate and the rate defined in the airframe file. For example this planes modem is set to 9600 and this could be used with the ground modem configured above using 57600... &lt;br /&gt;
Also for multiple UAV's a good way to configure them is to use 9600 for the ap and use a ground modem configured to 57600 and its not a bad idea to use minimal telemetry.&lt;br /&gt;
&lt;br /&gt;
=== GPS ===&lt;br /&gt;
The serial port settings must match that of the GPS and are configured here along with the necessary files to interpret the u-blox UBX binary protocol:&lt;br /&gt;
&lt;br /&gt;
{{Box Code|conf/airframes/myplane.xml|&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ap.CFLAGS += -DGPS -DUBX -DUSE_UART1 -DGPS_LINK=Uart1 -DUART1_BAUD=B38400&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ap.srcs += gps_ubx.c gps.c&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
'''Note:'''&lt;br /&gt;
* Tiny 13 v1.1 uses UART1 while Tiny 2 uses UART0 for GPS&lt;br /&gt;
* u-blox GPS modules are factory configured for 9600 baud, 38,400 baud is recommended along with the other required changes.  The GPS can be accessed directly thru the [[Compiling#USB_flashing|UART Tunnel]] and [[GPS#GPS_configuration_using_U-Center Configured with|u-center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If using the u-blox LEA-5H, add the flag -DGPS_USE_LATLONG in the makefile section of the airframe xml file in the gps section. This flag must be inserted above &amp;quot;ap.srcs += gps_ubx.c gps.c&amp;quot; for proper operation.&lt;br /&gt;
&lt;br /&gt;
{{Box Code|conf/airframes/myplane.xml|&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ap.CFLAGS += -DGPS -DUBX -DUSE_UART1 -DGPS_LINK=Uart1 -DUART1_BAUD=B38400 -DGPS_USE_LATLONG&lt;br /&gt;
ap.srcs += gps_ubx.c gps.c&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Sensors ===&lt;br /&gt;
&lt;br /&gt;
=== Control loops ===&lt;br /&gt;
&lt;br /&gt;
The control loops can be divided in two largely independent groups : the vertical ones and the horizontal ones (files sw/airborne/fw_h_ctl.c and sw/airborne/fw_v_ctl.c ). Those loops can be commanded at different levels by either the R/C transmitter or the autonomous navigation routine.&lt;br /&gt;
&lt;br /&gt;
First the horizontal loop:&lt;br /&gt;
{{Box Code|conf/airframes/funjet1.xml|&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ap.CFLAGS += -DNAV -DAGR_CLIMB -DLOITER_TRIM&lt;br /&gt;
ap.srcs += nav.c fw_h_ctl.c fw_v_ctl.c&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=FunJet&amp;diff=5444</id>
		<title>FunJet</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=FunJet&amp;diff=5444"/>
		<updated>2009-09-08T00:07:06Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* Misc Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.recherche.enac.fr/paparazzi/wiki/index.php/Airframes &amp;lt;&amp;lt;] Back to Airframes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[Image:Funjet_flight_dawnron1.jpg|thumb|left|Multiplex FunJet]]&lt;br /&gt;
|&lt;br /&gt;
The MultiPlex FunJet is an electric pusher-prop jet made of very durable Elapor Particle Foam Construction.  It offers plenty of room internally for avionics in an attractive package.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
* Suggested Retail Price of $65 USD&lt;br /&gt;
* Elapor Particle Foam construction&lt;br /&gt;
* Assembles in minutes with only Medium CA glue&lt;br /&gt;
* Fiberglass Wing Spar&lt;br /&gt;
* Moderately priced&lt;br /&gt;
* Detachable canopy for access to internals&lt;br /&gt;
* Plastic Motor Mount&lt;br /&gt;
* Wide flight speed envelope (slow without stalling, through fast)&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
* Wingspan: 31.29&amp;quot; (795mm)&lt;br /&gt;
* Wing Area: 232 sq in (15 sq dm)&lt;br /&gt;
* Weight: 21oz (620g) _all up_&lt;br /&gt;
* Weight w/o powerplant (for estimation): 330g&lt;br /&gt;
* Bare weight: 165g&lt;br /&gt;
* Length: 29.52&amp;quot; (750mm)&lt;br /&gt;
* Airfoils: Airfoil: Semi-symmetrical, mid wing at the fuselage sides&lt;br /&gt;
&lt;br /&gt;
=== Payload Area ===&lt;br /&gt;
&lt;br /&gt;
* Fuselage is 1.60&amp;quot; (40.6mm) wide x 20&amp;quot; long&lt;br /&gt;
&lt;br /&gt;
== Recommended Setups ==&lt;br /&gt;
&lt;br /&gt;
=== Manufacturer Recommendation ===&lt;br /&gt;
&lt;br /&gt;
Remember this is a hot sport plane so the manufacturers recommendation reflects typical desired performance and may not be the best match for UAV operations.&lt;br /&gt;
&lt;br /&gt;
* Motor: Himax HB2815-3000 Brushless Motor&lt;br /&gt;
* Battery: 3S1P 2100-3200mah LiPo&lt;br /&gt;
* Servos: 2 Nano sized (HS-55)&lt;br /&gt;
&lt;br /&gt;
=== Group Member Setups ===&lt;br /&gt;
&lt;br /&gt;
'''Martin'''&lt;br /&gt;
&lt;br /&gt;
* Motor: AXI 2212/26&lt;br /&gt;
* Battery: 3S1P 2100mAh LiPo&lt;br /&gt;
* Prop: 9x6&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Matthew Currie'''&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:FJ_MC_ANGLE.jpg|thumb|left|Multiplex FunJet]]&lt;br /&gt;
|[[Image:FJ_MC_SIDE.jpg|thumb|left|Multiplex FunJet]]&lt;br /&gt;
|[[Image:FJ_UNDERSIDE.JPG|thumb|left|Multiplex FunJet]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Motor: AXI 2212/26&lt;br /&gt;
* Battery: LiPower Lites 3S1P 2100mAh 18C LiPo&lt;br /&gt;
* Prop: APC 9x6E (checked to draw ~ 11.5A)&lt;br /&gt;
* Receiver: Berg 4L&lt;br /&gt;
* Servos: 2x Hitec HS-55&lt;br /&gt;
&lt;br /&gt;
=== Servos ===&lt;br /&gt;
&lt;br /&gt;
Multiplex calls for 2 Hitec HS-55 or 2 HS-65 servos&lt;br /&gt;
&lt;br /&gt;
=== Hitec HS-55 ===&lt;br /&gt;
&lt;br /&gt;
* MSRP: $13 USD&lt;br /&gt;
* Torque: 13/16 oz/in @ 4.8/6.0v&lt;br /&gt;
* Speed: 0.09/0.08 seconds/ 60deg @ 4.8/6.0v&lt;br /&gt;
* Weight: 0.29 oz (7.8g)&lt;br /&gt;
* Size: 0.9 x 0.46 x 0.95&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Hitec HS-65HB ===&lt;br /&gt;
&lt;br /&gt;
* MSRP: &lt;br /&gt;
* Motor Type: 3 Pole Ferrite&lt;br /&gt;
* Bearing Type: Top Ball Bearing&lt;br /&gt;
* Torque 4.8/6.0v: 22 / 26 oz (1.6 / 1.9 kg.)&lt;br /&gt;
* Speed 4.8/6.0v: 0.16 / 0.13 second&lt;br /&gt;
* Size: 0.9&amp;quot;x 0.5&amp;quot;x 0.9&amp;quot; (24 x 12 x 24m)&lt;br /&gt;
* Weigh : 0.39oz. 11.2 g.&lt;br /&gt;
&lt;br /&gt;
== Recommended Motors ==&lt;br /&gt;
'''Himax HB2815-3000 Brushless Motor'''&lt;br /&gt;
&lt;br /&gt;
[http://www.maxxprod.com/pdf/HB2815-xx00.pdf PDF Datasheet]&lt;br /&gt;
&lt;br /&gt;
* MSRP $69.95 USD&lt;br /&gt;
* Dimensions: 27mm x 38mm&lt;br /&gt;
* Weight: 86g&lt;br /&gt;
* KV: 3000&lt;br /&gt;
* Max Amps: 30A&lt;br /&gt;
* Max Watts: 275W&lt;br /&gt;
&lt;br /&gt;
'''AXI 2212/26'''&lt;br /&gt;
&lt;br /&gt;
http://www.modelmotors.cz/index.php?page=61&amp;amp;product=2212&amp;amp;serie=26&amp;amp;line=GOLD&lt;br /&gt;
&lt;br /&gt;
MSRP $69.95 USD&lt;br /&gt;
* Dimensions: 1-3/32&amp;quot; diameter, 1-3/16&amp;quot; case length, 3.17mm (1/8&amp;quot;) shaft&lt;br /&gt;
* Weight: 57 g&lt;br /&gt;
* KV: 920&lt;br /&gt;
* Max Amps: 12A&lt;br /&gt;
* Max Watts: 275W&lt;br /&gt;
* Prop's: &lt;br /&gt;
9x6, 24.5 ounce thrust, 14:12 full throttle.&lt;br /&gt;
&lt;br /&gt;
8x6, 19.5 ounce thrust, 19:38 full throttle.&lt;br /&gt;
&lt;br /&gt;
== Funjet Back Plate Construction ==&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Funjet_Back_Plate_Components.jpg|thumb|left|Funjet back plate construction components]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* A suitable precursor for the back plate is 5mmx75mmx75mm balsa sandwiched by 1mmx75mmx75mm plywood. The laminating adhesive used was PVA glue. The sandwich was left to dry overnight clamped by similar size wooden plates in a vice.&lt;br /&gt;
&lt;br /&gt;
* An outline of The 7mm elapor profile, cut from the back of the Funjet canopy, is drawn in a CAD/CAM program.    &lt;br /&gt;
:*download ''[[Media:Funjet_Back_Plate_CADopia.pdf|Funjet back plate CADopia drawing (pdf)]]''&lt;br /&gt;
&lt;br /&gt;
* A laser cutting firm transferred this outline to CorelDraw and cut an acrylic (Perspex) template.&lt;br /&gt;
:*download ''[[Media:Funjet_Back_Plate_CorelDraw .pdf|Funjet back plate CorelDraw drawing (pdf)]]''&lt;br /&gt;
&lt;br /&gt;
* The balsa/plywood sandwich was attached by double sided tape to the acrylic template and the correct outline achieved by routing around the acrylic border.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Funjet_Back_Plate_Fitted.jpg|thumb|left|Funjet back plate fitted]]&lt;br /&gt;
|[[Image:Tiny_v2_1_Funjet.jpg|thumb|left|Tiny v2.1 in a Funjet]]&lt;br /&gt;
|}&lt;br /&gt;
* The fitted plate looks remarkably similar to that displayed in the image on the right found on the main page of the wiki.&lt;br /&gt;
&lt;br /&gt;
== Online Discussion on FunJet topics ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.rcgroups.com/forums/showpost.php?p=7257031&amp;amp;postcount=2856 Modifying the motor cowling to increase airflow]&lt;br /&gt;
* [http://www.rcgroups.com/forums/showthread.php?p=7593625#post7593625 Adding prop spacers to move prop further back]&lt;br /&gt;
* [http://www.rcgroups.com/forums/showpost.php?p=7081811&amp;amp;postcount=2582 Mounting a MicroDan 2505 Brushless Outrunner]&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:Jet-motor-mount.jpg|thumb|Included Motor Mount]]&lt;br /&gt;
|[[Image:Funjet_highvis1_rycomm.jpg|thumb|Example of high visibility paint job]]&lt;br /&gt;
|[[Image:Funjet tipprotector sharkbyte.jpg|thumb|Idea for wing tip skid]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Misc Notes ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.recherche.enac.fr/paparazzi/wiki_images/FunJet_Manual_English.pdf Multiplex FunJet Instruction Manual - English]&lt;br /&gt;
* [http://www.recherche.enac.fr/paparazzi/wiki_images/FunJet_Manual_Multilanguage.pdf Multiplex FunJet Instruction Manual - Original Multilanguage]&lt;br /&gt;
* Painting Elapor should be primed [[http://www.phillsmodels.com/acatalog/index.html?http%3A//www.phillsmodels.com/acatalog/Online_Catalogue_Paint_882.html&amp;amp;CatalogBody primer]]&lt;br /&gt;
&lt;br /&gt;
* Fiberglass wing spar: 22.5&amp;quot; (571mm) x .25&amp;quot; (6.35mm)&lt;br /&gt;
* Motor Screws (to hold plastic motor plate to plastic motor cowl) are slot head and appear to be 3.0mm x 0.5mm (thread) x 16mm long&lt;br /&gt;
* Screws for AXI &amp;quot;outrunner&amp;quot; motor are 3.0mm Diameter x 0.5mm Thread x 6 mm Length&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Contact&amp;diff=3702</id>
		<title>Contact</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Contact&amp;diff=3702"/>
		<updated>2008-05-28T19:04:32Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* The IRC Chat Channel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Get in touch with active members of the group through any of the following means:&lt;br /&gt;
== Paparazzi Users Forum ==&lt;br /&gt;
&lt;br /&gt;
http://rc-autopilot.de/smf&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
Browse the mailing list archives at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://lists.gnu.org/archive/html/paparazzi-devel/ http://lists.gnu.org/archive/html/paparazzi-devel/]&lt;br /&gt;
&lt;br /&gt;
And join the Paparazzi mailing list at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://lists.nongnu.org/mailman/listinfo/paparazzi-devel http://lists.nongnu.org/mailman/listinfo/paparazzi-devel]&lt;br /&gt;
&lt;br /&gt;
After registering, you can send an e-mail to the entire group by using the address: paparazzi-devel@nongnu.org&lt;br /&gt;
&lt;br /&gt;
== The IRC Chat Channel ==&lt;br /&gt;
&lt;br /&gt;
The most active discussion occurs on [http://en.wikipedia.org/wiki/Internet_Relay_Chat IRC] where a dozen or so members are typically online.  Stop by anytime and say hello to the group, but don't be discouraged by hours of inactivity at certian times of day.  You can use a [http://embed.mibbit.com/?server=irc.freenode.net&amp;amp;channel=%23paparazzi&amp;amp;noServerNotices=true web-based IRC portal] that makes it easy for people to jump in from any computer, but more active users will benefit from the power of conventional client software such as [http://www.xchat.org Xchat] or [http://www.mirc.com mIRC].&lt;br /&gt;
&lt;br /&gt;
=== Web Based Access ===&lt;br /&gt;
Simply go to [http://embed.mibbit.com/?server=irc.freenode.net&amp;amp;channel=%23paparazzi&amp;amp;noServerNotices=true www.mibbit.com] or the older interface [http://www.ircatwork.com/ www.ircatwork.com].  Enter the server, channel name, a unique ''nickname'', and say hello to the team!&lt;br /&gt;
&lt;br /&gt;
=== Client Software ===&lt;br /&gt;
A full featured IRC chat program is essential for active users.  Download one of the many freeware/shareware IRC clients and put [irc://irc.freenode.net/#paparazzi irc://irc.freenode.net/#paparazzi] at the top of your favorites list!&lt;br /&gt;
* [http://www.silverex.org/download Xchat2] is a free version of Xchat for windows&lt;br /&gt;
* [http://www.xchat.org Xchat] is a popular and easy to use freeware application.  &lt;br /&gt;
*: Run ''apt-get install xchat'' to install in Linux, or download a [http://b0at.tx0.org/xchat/ Windows build.]&lt;br /&gt;
*: Choose '''FreeNode''' and some nicknames in the network list and click '''Edit''' to enter the '''#paparazzi''' channel and a Nicserv password.  Follow the instructions below to register your chosen nickname and password on the network.&lt;br /&gt;
* [http://www.mirc.com mIRC] is another popular freeware client for Windows only.&lt;br /&gt;
&lt;br /&gt;
==== Registering on the Freenode IRC Network ====&lt;br /&gt;
&lt;br /&gt;
Registering is optional but is required for private one-on-one chats.  Private chats are useful for pasting large amounts of code back and forth without flooding the group or for any off-topic discussion you may wish to have.  Commands in IRC begin with a forward slash '/'.  Type these two commands into your IRC client to register and log on.&lt;br /&gt;
&lt;br /&gt;
Select your own unique password and use it in place of ''&amp;lt;password&amp;gt;''.  Make sure you are currently using the &amp;quot;nickname&amp;quot; that you would like to use.&lt;br /&gt;
&lt;br /&gt;
 /msg NickServ REGISTER &amp;lt;password&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will now have registered your nickname to your hostmask (or IP address) and the Freenode IRC network will attempt to prevent others from using your nickname.  You will need to identify yourself to the system now every time you log onto IRC with the command below.  This can be added to the &amp;quot;perform&amp;quot; section of your software to be run automatically every time you log on.&lt;br /&gt;
&lt;br /&gt;
 /msg NickServ IDENTIFY &amp;lt;password&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These commands return output results as well, depending on what IRC client you are using to chat it may have appeared in either your main chat window or a separate server window where other server related messages appear.  Check this window for confirmation.&lt;br /&gt;
&lt;br /&gt;
Note: You may find that your IRC connection will occasionally be interrupted, leaving your nic floating on the server.  When this happens the server will not let you log back on using the same nic until that nic has been dropped, usually within 30 minutes.  The convention is to append an underscore to your original nic for temporary use.&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Links&amp;diff=3042</id>
		<title>Links</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Links&amp;diff=3042"/>
		<updated>2007-12-31T18:03:30Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* The IRC Chat Channel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== The Project Page ==&lt;br /&gt;
&lt;br /&gt;
The Paparazzi project is hosted at http://www.nongnu.org/paparazzi/ where the CVS repository is available.&lt;br /&gt;
&lt;br /&gt;
== The IRC Chat Channel ==&lt;br /&gt;
&lt;br /&gt;
  Network: Freenode&lt;br /&gt;
  Network Host: irc.freenode.net&lt;br /&gt;
  Channel: #paparazzi&lt;br /&gt;
&lt;br /&gt;
* Web Based:  Simply go to [http://ircatwork.com ircatwork.com], enter the network host, the channel, a unique ''nickname'', and say hello to the team!&lt;br /&gt;
* Client Software: Download one of the many freeware/shareware IRC clients and put [irc://irc.freenode.net/#paparazzi #paparazzi] at the top of your favorites list!&lt;br /&gt;
*: [http://www.mirc.com mIRC]&lt;br /&gt;
*: [http://www.xchat.org Xchat]&lt;br /&gt;
&lt;br /&gt;
== Paparazzi Users Forum ==&lt;br /&gt;
&lt;br /&gt;
http://rc-autopilot.de/smf - please join and get this forum going&lt;br /&gt;
&lt;br /&gt;
http://groups.yahoo.com/group/paparazzi-autopilot/&lt;br /&gt;
&lt;br /&gt;
== Paparazzi teams/users/contributors ==&lt;br /&gt;
&lt;br /&gt;
http://www.miraterre.com/index.html&lt;br /&gt;
&lt;br /&gt;
http://mecano.gme.usherb.ca/~vamudes/&lt;br /&gt;
&lt;br /&gt;
http://pfump.org&lt;br /&gt;
&lt;br /&gt;
http://www.ismo.hs-bremen.de/dokuwiki/doku.php?id=elem:projekte:intro#semesterprojekte  (German)&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Links&amp;diff=3041</id>
		<title>Links</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Links&amp;diff=3041"/>
		<updated>2007-12-31T18:01:23Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* The IRC Chat Channel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== The Project Page ==&lt;br /&gt;
&lt;br /&gt;
The Paparazzi project is hosted at http://www.nongnu.org/paparazzi/ where the CVS repository is available.&lt;br /&gt;
&lt;br /&gt;
== The IRC Chat Channel ==&lt;br /&gt;
&lt;br /&gt;
* Network: Freenode (irc.freenode.net)&lt;br /&gt;
* Channel: #paparazzi&lt;br /&gt;
&lt;br /&gt;
* Web Based:  Simply go to [http://ircatwork.com ircatwork.com], enter the servername (irc.freenode.net), the channel (#paparazzi), a unique ''nickname'', and say hello to the team!&lt;br /&gt;
* Client Software: Download one of the many freeware/shareware IRC clients and put [irc://irc.freenode.net/#paparazzi] at the top of your favorites list!&lt;br /&gt;
*: [http://www.mirc.com mIRC]&lt;br /&gt;
*: [http://www.xchat.org Xchat]&lt;br /&gt;
&lt;br /&gt;
== Paparazzi Users Forum ==&lt;br /&gt;
&lt;br /&gt;
http://rc-autopilot.de/smf - please join and get this forum going&lt;br /&gt;
&lt;br /&gt;
http://groups.yahoo.com/group/paparazzi-autopilot/&lt;br /&gt;
&lt;br /&gt;
== Paparazzi teams/users/contributors ==&lt;br /&gt;
&lt;br /&gt;
http://www.miraterre.com/index.html&lt;br /&gt;
&lt;br /&gt;
http://mecano.gme.usherb.ca/~vamudes/&lt;br /&gt;
&lt;br /&gt;
http://pfump.org&lt;br /&gt;
&lt;br /&gt;
http://www.ismo.hs-bremen.de/dokuwiki/doku.php?id=elem:projekte:intro#semesterprojekte  (German)&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Links&amp;diff=3040</id>
		<title>Links</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Links&amp;diff=3040"/>
		<updated>2007-12-31T18:00:00Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* The IRC Chat Channel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== The Project Page ==&lt;br /&gt;
&lt;br /&gt;
The Paparazzi project is hosted at http://www.nongnu.org/paparazzi/ where the CVS repository is available.&lt;br /&gt;
&lt;br /&gt;
== The IRC Chat Channel ==&lt;br /&gt;
&lt;br /&gt;
* Web Based:  Simply go to [http://ircatwork.com/], enter the servername, channel, a unique ''nickname'', and say hello to the team!&lt;br /&gt;
* Client Software: Download one of the many freeware/shareware IRC clients and put [irc://irc.freenode.net/#paparazzi] at the top of your favorites list!&lt;br /&gt;
*: [http://www.mirc.com mIRC]&lt;br /&gt;
*: [http://www.xchat.org Xchat]&lt;br /&gt;
&lt;br /&gt;
== Paparazzi Users Forum ==&lt;br /&gt;
&lt;br /&gt;
http://rc-autopilot.de/smf - please join and get this forum going&lt;br /&gt;
&lt;br /&gt;
http://groups.yahoo.com/group/paparazzi-autopilot/&lt;br /&gt;
&lt;br /&gt;
== Paparazzi teams/users/contributors ==&lt;br /&gt;
&lt;br /&gt;
http://www.miraterre.com/index.html&lt;br /&gt;
&lt;br /&gt;
http://mecano.gme.usherb.ca/~vamudes/&lt;br /&gt;
&lt;br /&gt;
http://pfump.org&lt;br /&gt;
&lt;br /&gt;
http://www.ismo.hs-bremen.de/dokuwiki/doku.php?id=elem:projekte:intro#semesterprojekte  (German)&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Tiny_Assembly&amp;diff=2800</id>
		<title>Tiny Assembly</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Tiny_Assembly&amp;diff=2800"/>
		<updated>2007-10-20T01:55:02Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* Tiny13 1.1 Specifics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== General Tips ==&lt;br /&gt;
&lt;br /&gt;
* Use a quality pair of tweezers, 0402 components will seem like 1/4W resistors again&lt;br /&gt;
* Liquid Flux and a small brush or even the lead of a 1/4W resistor will turn a small congealed soldering mess into perfection&lt;br /&gt;
* Use optical magnification if you or your eyes need it (it is not necessary however)&lt;br /&gt;
* Use a liquid flux cleaner either spray on or brush on and scrub the board clean.  This will a) impress your friends b) reveal potential shorts or lack of solder and c) reduce high resistance electrical paths on the board particularly around the A/D section&lt;br /&gt;
* Print out a customized and enlarged diagram of the PCB you are working on.  Pencil in the component designators by hand while using the graphical desktop environment as an aid&lt;br /&gt;
* Print out a Bill of Materials sheet&lt;br /&gt;
* 0402 components, if fallen onto a dirty workbench will be hopelessly lost.  Use a clean white blotter or even some sheets of paper.&lt;br /&gt;
* Populate as little parts as necessary for a first power-up test.  In most cases it is perfectly OK to place EVERY component minus the LEA-4P GPS module.  Doing this allows you to divide and conquer should a problem arise during assembly.&lt;br /&gt;
&lt;br /&gt;
== Tiny13 1.1 Specifics ==&lt;br /&gt;
&lt;br /&gt;
* Place the vertically shorter tantalum chip capacitors (C18 &amp;amp; C21) near the 3V3 LDO first as you will be able to place the vertically taller with tweezers.&lt;br /&gt;
* Place the diode (U$2) next to the large &amp;quot;pulse&amp;quot; inductor before any other backside components&lt;br /&gt;
* Do not expect either of the two LEDs to illuminate.  They are configured via airborne flight code, you may never see or need them.&lt;br /&gt;
&lt;br /&gt;
== LEA-4P Mounting ==&lt;br /&gt;
&lt;br /&gt;
It is advised not to use hot air reflow rework station / solder paste for this assembly as it is quite easy to &amp;quot;blow&amp;quot; solder underneath the LEA-4P causing a short.  Instead apply a small amount of solder flux paste and a small tip soldering iron w/ fine solder.  This soldering tip should be as large as will allow you to apply solder to the pins.  The LEA-4P and surrounding ground planes are excellent heat sinks so the larger tip you can use the easier it will be.  Print out the schematic to see the required pin wiring.  Solder only the necessary pins, you will realize why if you ever have to remove the LEA-4P module from the PCB.  Realize that the footprint is not symmetrical and will only mount one way so you do not have to go crazy making sure you have the black dot facing the right direction.&lt;br /&gt;
&lt;br /&gt;
== Solder Paste Usage ==&lt;br /&gt;
&lt;br /&gt;
Solder paste can easily become your secret weapon against the difficult placing of the fine-pitch components in use in this project.  The most crucial parameter you can control is how much solder paste is used.  If too much is used (even 1/10 of a gram too much), you will be left removing many solder bridges between pins and pads manually.  Alternatively if too little is used you will be left individually soldering pins.&lt;br /&gt;
&lt;br /&gt;
Below is an example of too much&lt;br /&gt;
&lt;br /&gt;
[[image:SOLDERPASTE_TOOMUCH.jpg]]&lt;br /&gt;
&lt;br /&gt;
this is the result after reflowing: 5 different solder bridges that must be removed.  Sometimes it is as easy as applying a small amount of liquid flux to the area then dragging a hot micro tipped iron between the two pins, drawing the bridge towards the pad.  You may also want to try copper braid for wicking the excess solder away.  I often find this removes too much solder.&lt;br /&gt;
&lt;br /&gt;
[[image:Solderpaste_resulttoomuch.jpg]]&lt;br /&gt;
&lt;br /&gt;
Below is an image where an adequate amount of solder paste was applied.&lt;br /&gt;
&lt;br /&gt;
[[image:Solderpaste_enough.jpg]]&lt;br /&gt;
&lt;br /&gt;
The results of the above solder paste.&lt;br /&gt;
&lt;br /&gt;
[[image:Solderpaste_enough-results.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Expected Current Consumptions ==&lt;br /&gt;
&lt;br /&gt;
Here are some general current guidelines to aid in initial assembly checks.&lt;br /&gt;
&lt;br /&gt;
 Tiny13 w/ fresh, unprogrammed LPC &amp;amp; NO LEA-4P GPS: ~15mAh @ 12.3V (185mWh)&lt;br /&gt;
 Tiny13 running target code (not airborne code) &amp;amp; NO LEA-4P GPS: ~25mAh @ 12.3V (310mWh)&lt;br /&gt;
 Tiny13 running target code (not airborne code) w/ GPS: ~45mAh @ 12.3V (550mWh)&lt;br /&gt;
&lt;br /&gt;
''The Tiny13 uses a switching supply, realize that you will see varying currents with varied input voltages hence the inclusion of mWh units''&lt;br /&gt;
&lt;br /&gt;
== Some thoughts about starting up a Tiny ==&lt;br /&gt;
&lt;br /&gt;
* populate all parts except the LEA-4P for first tests to make them simpler&lt;br /&gt;
* check the polarity of all parts, compare to a picture of a working reference board&lt;br /&gt;
* use a microscope or a magnifying glass to check for short circuits&lt;br /&gt;
* use a power supply for first tests, not a battery, limit the current to about 100mA, use a voltage of about 7V&lt;br /&gt;
* use the on-board supply, do not try to feed voltage from the outside&lt;br /&gt;
* the 7V should not drop due to current limiting, measure the 5V and the 3.3V supply on the board&lt;br /&gt;
-&amp;gt; wrong voltages: check the parts around the power supply&lt;br /&gt;
* measure the current, it should be around 50mA at 7V with the LPC running and no code loaded (switching supply: reduces to around 25mA @12V)&lt;br /&gt;
* attach reset, therefore connect LPC_RESET to GND (the board button is NOT reset), current should reduce to 15mA at 7V (10mA @12V)&lt;br /&gt;
-&amp;gt; check if reset signal can be measured at the LPC reset pin 57&lt;br /&gt;
* check the 12MHz at LPC pin 61, XTAL2 (XTAL_out)&lt;br /&gt;
* connect LPC_TXD_0 and LPC_RXD_0 of Serial1 to the serial port of your PC through a 3.3V-USB-RS232 converter (LPC_TXD_0 - PC_RX, LPC_RX_0 - PC_TX), attach LPC_P0.14 to a buffered PC_RTS or connect to a button&lt;br /&gt;
* run the serial ROM loader lpc21isp to flash USB bootloader with&lt;br /&gt;
 make bl_upload&lt;br /&gt;
* pull the LPC_P0.14 line low if not connected to RTS and then reset the board&lt;br /&gt;
-&amp;gt; check the rx/tx pins for data if flashing does not succeed&lt;br /&gt;
* deattach the LPC_P0.14, reset the board&lt;br /&gt;
* the USB bootloader outputs debug information with 115200 8N1 on the serial port&lt;br /&gt;
-&amp;gt; try the uart_tunnel from arm7/test, logical high and low should be sent from LPC_RXD_0 to LPC_TXD_1 and LPC_RXD_1 to LPC_TXD_0 (at GPS pins)&lt;br /&gt;
* LPC_P0.23 (USB Vbus) should be low, LPC_USB_CONNECT high&lt;br /&gt;
-&amp;gt; check parts around Q1&lt;br /&gt;
* connect USB+ (D+), USB- (D-), LPC_P0.23 (USB Vbus) and GND of Serial2 with your PC, reset the board&lt;br /&gt;
* LPC_P0.23 (USB Vbus) should go high from PC USB, LPC_USB_CONNECT should go low through LPC software&lt;br /&gt;
* the PC will detect a new USB device, check with &amp;quot;dmesg&amp;quot; and &amp;quot;lsusb&amp;quot; - they should both show a USB device with VID/PID 7070:1234&lt;br /&gt;
-&amp;gt; if a new USB device is detected but does not accept new address, the USBconnect worked, but not the communication, check USB+ and USB-&lt;br /&gt;
* flash the autopilot with&lt;br /&gt;
 make [AIRCRAFT] ap.upload&lt;br /&gt;
* check telemetry through serial port, messages should be displayed&lt;br /&gt;
* test A/D converters for supply voltage and IR sensors&lt;br /&gt;
* check modem, connect tx, rx, gnd and supply&lt;br /&gt;
* try to aquire sats outside&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
Below are some oddball facts discovered in the process of debugging problems.  These bits of information may cut a few hours off of a bug chasing adventure.&lt;br /&gt;
&lt;br /&gt;
* With everything on the board, minus the LPC2148 you should see ~ 580 ohms of resistance on 3V3 rail&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Tiny_Assembly&amp;diff=2799</id>
		<title>Tiny Assembly</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Tiny_Assembly&amp;diff=2799"/>
		<updated>2007-10-20T01:01:57Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== General Tips ==&lt;br /&gt;
&lt;br /&gt;
* Use a quality pair of tweezers, 0402 components will seem like 1/4W resistors again&lt;br /&gt;
* Liquid Flux and a small brush or even the lead of a 1/4W resistor will turn a small congealed soldering mess into perfection&lt;br /&gt;
* Use optical magnification if you or your eyes need it (it is not necessary however)&lt;br /&gt;
* Use a liquid flux cleaner either spray on or brush on and scrub the board clean.  This will a) impress your friends b) reveal potential shorts or lack of solder and c) reduce high resistance electrical paths on the board particularly around the A/D section&lt;br /&gt;
* Print out a customized and enlarged diagram of the PCB you are working on.  Pencil in the component designators by hand while using the graphical desktop environment as an aid&lt;br /&gt;
* Print out a Bill of Materials sheet&lt;br /&gt;
* 0402 components, if fallen onto a dirty workbench will be hopelessly lost.  Use a clean white blotter or even some sheets of paper.&lt;br /&gt;
* Populate as little parts as necessary for a first power-up test.  In most cases it is perfectly OK to place EVERY component minus the LEA-4P GPS module.  Doing this allows you to divide and conquer should a problem arise during assembly.&lt;br /&gt;
&lt;br /&gt;
== Tiny13 1.1 Specifics ==&lt;br /&gt;
&lt;br /&gt;
* Place the vertically shorter tantalum chip capacitors near the supply first as you will be able to place the vertically taller with tweezers.&lt;br /&gt;
* Place the diode next to the large &amp;quot;pulse&amp;quot; inductor before any other backside components'&lt;br /&gt;
* Do not expect either of the two LEDs to illuminate.  They are configured via airborne flight code, you may never see or need them.&lt;br /&gt;
&lt;br /&gt;
== LEA-4P Mounting ==&lt;br /&gt;
&lt;br /&gt;
It is advised not to use hot air reflow rework station / solder paste for this assembly as it is quite easy to &amp;quot;blow&amp;quot; solder underneath the LEA-4P causing a short.  Instead apply a small amount of solder flux paste and a small tip soldering iron w/ fine solder.  This soldering tip should be as large as will allow you to apply solder to the pins.  The LEA-4P and surrounding ground planes are excellent heat sinks so the larger tip you can use the easier it will be.  Print out the schematic to see the required pin wiring.  Solder only the necessary pins, you will realize why if you ever have to remove the LEA-4P module from the PCB.  Realize that the footprint is not symmetrical and will only mount one way so you do not have to go crazy making sure you have the black dot facing the right direction.&lt;br /&gt;
&lt;br /&gt;
== Solder Paste Usage ==&lt;br /&gt;
&lt;br /&gt;
Solder paste can easily become your secret weapon against the difficult placing of the fine-pitch components in use in this project.  The most crucial parameter you can control is how much solder paste is used.  If too much is used (even 1/10 of a gram too much), you will be left removing many solder bridges between pins and pads manually.  Alternatively if too little is used you will be left individually soldering pins.&lt;br /&gt;
&lt;br /&gt;
Below is an example of too much&lt;br /&gt;
&lt;br /&gt;
[[image:SOLDERPASTE_TOOMUCH.jpg]]&lt;br /&gt;
&lt;br /&gt;
this is the result after reflowing: 5 different solder bridges that must be removed.  Sometimes it is as easy as applying a small amount of liquid flux to the area then dragging a hot micro tipped iron between the two pins, drawing the bridge towards the pad.  You may also want to try copper braid for wicking the excess solder away.  I often find this removes too much solder.&lt;br /&gt;
&lt;br /&gt;
[[image:Solderpaste_resulttoomuch.jpg]]&lt;br /&gt;
&lt;br /&gt;
Below is an image where an adequate amount of solder paste was applied.&lt;br /&gt;
&lt;br /&gt;
[[image:Solderpaste_enough.jpg]]&lt;br /&gt;
&lt;br /&gt;
The results of the above solder paste.&lt;br /&gt;
&lt;br /&gt;
[[image:Solderpaste_enough-results.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Expected Current Consumptions ==&lt;br /&gt;
&lt;br /&gt;
Here are some general current guidelines to aid in initial assembly checks.&lt;br /&gt;
&lt;br /&gt;
 Tiny13 w/ fresh, unprogrammed LPC &amp;amp; NO LEA-4P GPS: ~15mAh @ 12.3V (185mWh)&lt;br /&gt;
 Tiny13 running target code (not airborne code) &amp;amp; NO LEA-4P GPS: ~25mAh @ 12.3V (310mWh)&lt;br /&gt;
 Tiny13 running target code (not airborne code) w/ GPS: ~45mAh @ 12.3V (550mWh)&lt;br /&gt;
&lt;br /&gt;
''The Tiny13 uses a switching supply, realize that you will see varying currents with varied input voltages hence the inclusion of mWh units''&lt;br /&gt;
&lt;br /&gt;
== Some thoughts about starting up a Tiny ==&lt;br /&gt;
&lt;br /&gt;
* populate all parts except the LEA-4P for first tests to make them simpler&lt;br /&gt;
* check the polarity of all parts, compare to a picture of a working reference board&lt;br /&gt;
* use a microscope or a magnifying glass to check for short circuits&lt;br /&gt;
* use a power supply for first tests, not a battery, limit the current to about 100mA, use a voltage of about 7V&lt;br /&gt;
* use the on-board supply, do not try to feed voltage from the outside&lt;br /&gt;
* the 7V should not drop due to current limiting, measure the 5V and the 3.3V supply on the board&lt;br /&gt;
-&amp;gt; wrong voltages: check the parts around the power supply&lt;br /&gt;
* measure the current, it should be around 50mA at 7V with the LPC running and no code loaded (switching supply: reduces to around 25mA @12V)&lt;br /&gt;
* attach reset, therefore connect LPC_RESET to GND (the board button is NOT reset), current should reduce to 15mA at 7V (10mA @12V)&lt;br /&gt;
-&amp;gt; check if reset signal can be measured at the LPC reset pin 57&lt;br /&gt;
* check the 12MHz at LPC pin 61, XTAL2 (XTAL_out)&lt;br /&gt;
* connect LPC_TXD_0 and LPC_RXD_0 of Serial1 to the serial port of your PC through a 3.3V-USB-RS232 converter (LPC_TXD_0 - PC_RX, LPC_RX_0 - PC_TX), attach LPC_P0.14 to a buffered PC_RTS or connect to a button&lt;br /&gt;
* run the serial ROM loader lpc21isp to flash USB bootloader with&lt;br /&gt;
 make bl_upload&lt;br /&gt;
* pull the LPC_P0.14 line low if not connected to RTS and then reset the board&lt;br /&gt;
-&amp;gt; check the rx/tx pins for data if flashing does not succeed&lt;br /&gt;
* deattach the LPC_P0.14, reset the board&lt;br /&gt;
* the USB bootloader outputs debug information with 115200 8N1 on the serial port&lt;br /&gt;
-&amp;gt; try the uart_tunnel from arm7/test, logical high and low should be sent from LPC_RXD_0 to LPC_TXD_1 and LPC_RXD_1 to LPC_TXD_0 (at GPS pins)&lt;br /&gt;
* LPC_P0.23 (USB Vbus) should be low, LPC_USB_CONNECT high&lt;br /&gt;
-&amp;gt; check parts around Q1&lt;br /&gt;
* connect USB+ (D+), USB- (D-), LPC_P0.23 (USB Vbus) and GND of Serial2 with your PC, reset the board&lt;br /&gt;
* LPC_P0.23 (USB Vbus) should go high from PC USB, LPC_USB_CONNECT should go low through LPC software&lt;br /&gt;
* the PC will detect a new USB device, check with &amp;quot;dmesg&amp;quot; and &amp;quot;lsusb&amp;quot; - they should both show a USB device with VID/PID 7070:1234&lt;br /&gt;
-&amp;gt; if a new USB device is detected but does not accept new address, the USBconnect worked, but not the communication, check USB+ and USB-&lt;br /&gt;
* flash the autopilot with&lt;br /&gt;
 make [AIRCRAFT] ap.upload&lt;br /&gt;
* check telemetry through serial port, messages should be displayed&lt;br /&gt;
* test A/D converters for supply voltage and IR sensors&lt;br /&gt;
* check modem, connect tx, rx, gnd and supply&lt;br /&gt;
* try to aquire sats outside&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
Below are some oddball facts discovered in the process of debugging problems.  These bits of information may cut a few hours off of a bug chasing adventure.&lt;br /&gt;
&lt;br /&gt;
* With everything on the board, minus the LPC2148 you should see ~ 580 ohms of resistance on 3V3 rail&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Tiny_Assembly&amp;diff=2798</id>
		<title>Tiny Assembly</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Tiny_Assembly&amp;diff=2798"/>
		<updated>2007-10-20T01:00:09Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* Some thoughts about starting up a Tiny */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== General Tips ==&lt;br /&gt;
&lt;br /&gt;
* Use a quality pair of tweezers, 0402 components will seem like 1/4W resistors again&lt;br /&gt;
* Liquid Flux and a small brush or even the lead of a 1/4W resistor will turn a small congealed soldering mess into perfection&lt;br /&gt;
* Use optical magnification if you or your eyes need it (it is not necessary however)&lt;br /&gt;
* Use a liquid flux cleaner either spray on or brush on and scrub the board clean.  This will a) impress your friends b) reveal potential shorts or lack of solder and c) reduce high resistance electrical paths on the board particularly around the A/D section&lt;br /&gt;
* Print out a customized and enlarged diagram of the PCB you are working on.  Pencil in the component designators by hand while using the graphical desktop environment as an aid&lt;br /&gt;
* Print out a Bill of Materials sheet&lt;br /&gt;
* 0402 components, if fallen onto a dirty workbench will be hopelessly lost.  Use a clean white blotter or even some sheets of paper.&lt;br /&gt;
* Populate as little parts as necessary for a first power-up test.  In most cases it is perfectly OK to place EVERY component minus the LEA-4P GPS module.  Doing this allows you to divide and conquer should a problem arise during assembly.&lt;br /&gt;
&lt;br /&gt;
== Tiny13 1.1 Specifics ==&lt;br /&gt;
&lt;br /&gt;
* Place the vertically shorter tantalum chip capacitors near the supply first as you will be able to place the vertically taller with tweezers.&lt;br /&gt;
* Place the diode next to the large &amp;quot;pulse&amp;quot; inductor before any other backside components'&lt;br /&gt;
* Do not expect either of the two LEDs to illuminate.  They are configured via airborne flight code, you may never see or need them.&lt;br /&gt;
&lt;br /&gt;
== LEA-4P Mounting ==&lt;br /&gt;
&lt;br /&gt;
It is advised not to use hot air reflow rework station / solder paste for this assembly as it is quite easy to &amp;quot;blow&amp;quot; solder underneath the LEA-4P causing a short.  Instead apply a small amount of solder flux paste and a small tip soldering iron w/ fine solder.  This soldering tip should be as large as will allow you to apply solder to the pins.  The LEA-4P and surrounding ground planes are excellent heat sinks so the larger tip you can use the easier it will be.  Print out the schematic to see the required pin wiring.  Solder only the necessary pins, you will realize why if you ever have to remove the LEA-4P module from the PCB.  Realize that the footprint is not symmetrical and will only mount one way so you do not have to go crazy making sure you have the black dot facing the right direction.&lt;br /&gt;
&lt;br /&gt;
== Solder Paste Usage ==&lt;br /&gt;
&lt;br /&gt;
Solder paste can easily become your secret weapon against the difficult placing of the fine-pitch components in use in this project.  The most crucial parameter you can control is how much solder paste is used.  If too much is used (even 1/10 of a gram too much), you will be left removing many solder bridges between pins and pads manually.  Alternatively if too little is used you will be left individually soldering pins.&lt;br /&gt;
&lt;br /&gt;
Below is an example of too much&lt;br /&gt;
&lt;br /&gt;
[[image:SOLDERPASTE_TOOMUCH.jpg]]&lt;br /&gt;
&lt;br /&gt;
this is the result after reflowing: 5 different solder bridges that must be removed.  Sometimes it is as easy as applying a small amount of liquid flux to the area then dragging a hot micro tipped iron between the two pins, drawing the bridge towards the pad.  You may also want to try copper braid for wicking the excess solder away.  I often find this removes too much solder.&lt;br /&gt;
&lt;br /&gt;
[[image:Solderpaste_resulttoomuch.jpg]]&lt;br /&gt;
&lt;br /&gt;
Below is an image where an adequate amount of solder paste was applied.&lt;br /&gt;
&lt;br /&gt;
[[image:Solderpaste_enough.jpg]]&lt;br /&gt;
&lt;br /&gt;
The results of the above solder paste.&lt;br /&gt;
&lt;br /&gt;
[[image:Solderpaste_enough-results.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Expected Current Consumptions ==&lt;br /&gt;
&lt;br /&gt;
Here are some general current guidelines to aid in initial assembly checks.&lt;br /&gt;
&lt;br /&gt;
 Tiny13 w/ fresh, unprogrammed LPC &amp;amp; NO LEA-4P GPS: ~15mAh @ 12.3V (185mWh)&lt;br /&gt;
 Tiny13 running target code (not airborne code) &amp;amp; NO LEA-4P GPS: ~25mAh @ 12.3V (310mWh)&lt;br /&gt;
 Tiny13 running target code (not airborne code) w/ GPS: ~45mAh @ 12.3V (550mWh)&lt;br /&gt;
&lt;br /&gt;
''The Tiny13 uses a switching supply, realize that you will see varying currents with varied input voltages hence the inclusion of mWh units''&lt;br /&gt;
&lt;br /&gt;
== Some thoughts about starting up a Tiny ==&lt;br /&gt;
&lt;br /&gt;
* populate all parts except the LEA-4P for first tests to make them simpler&lt;br /&gt;
* check the polarity of all parts, compare to a picture of a working reference board&lt;br /&gt;
* use a microscope or a magnifying glass to check for short circuits&lt;br /&gt;
* use a power supply for first tests, not a battery, limit the current to about 100mA, use a voltage of about 7V&lt;br /&gt;
* use the on-board supply, do not try to feed voltage from the outside&lt;br /&gt;
* the 7V should not drop due to current limiting, measure the 5V and the 3.3V supply on the board&lt;br /&gt;
-&amp;gt; wrong voltages: check the parts around the power supply&lt;br /&gt;
* measure the current, it should be around 50mA at 7V with the LPC running and no code loaded (switching supply: reduces to around 25mA @12V)&lt;br /&gt;
* attach reset, therefore connect LPC_RESET to GND (the board button is NOT reset), current should reduce to 15mA at 7V (10mA @12V)&lt;br /&gt;
-&amp;gt; check if reset signal can be measured at the LPC reset pin 57&lt;br /&gt;
* check the 12MHz at LPC pin 61, XTAL2 (XTAL_out)&lt;br /&gt;
* connect LPC_TXD_0 and LPC_RXD_0 of Serial1 to the serial port of your PC through a 3.3V-USB-RS232 converter (LPC_TXD_0 - PC_RX, LPC_RX_0 - PC_TX), attach LPC_P0.14 to a buffered PC_RTS or connect to a button&lt;br /&gt;
* run the serial ROM loader lpc21isp to flash USB bootloader with&lt;br /&gt;
 make bl_upload&lt;br /&gt;
* pull the LPC_P0.14 line low if not connected to RTS and then reset the board&lt;br /&gt;
-&amp;gt; check the rx/tx pins for data if flashing does not succeed&lt;br /&gt;
* deattach the LPC_P0.14, reset the board&lt;br /&gt;
* the USB bootloader outputs debug information with 115200 8N1 on the serial port&lt;br /&gt;
-&amp;gt; try the uart_tunnel from arm7/test, logical high and low should be sent from LPC_RXD_0 to LPC_TXD_1 and LPC_RXD_1 to LPC_TXD_0 (at GPS pins)&lt;br /&gt;
* LPC_P0.23 (USB Vbus) should be low, LPC_USB_CONNECT high&lt;br /&gt;
-&amp;gt; check parts around Q1&lt;br /&gt;
* connect USB+ (D+), USB- (D-), LPC_P0.23 (USB Vbus) and GND of Serial2 with your PC, reset the board&lt;br /&gt;
* LPC_P0.23 (USB Vbus) should go high from PC USB, LPC_USB_CONNECT should go low through LPC software&lt;br /&gt;
* the PC will detect a new USB device, check with &amp;quot;dmesg&amp;quot; and &amp;quot;lsusb&amp;quot; - they should both show a USB device with VID/PID 7070:1234&lt;br /&gt;
-&amp;gt; if a new USB device is detected but does not accept new address, the USBconnect worked, but not the communication, check USB+ and USB-&lt;br /&gt;
* flash the autopilot with&lt;br /&gt;
 make [AIRCRAFT] ap.upload&lt;br /&gt;
* check telemetry through serial port, messages should be displayed&lt;br /&gt;
* test A/D converters for supply voltage and IR sensors&lt;br /&gt;
* check modem, connect tx, rx, gnd and supply&lt;br /&gt;
* try to aquire sats outside&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Tiny_Assembly&amp;diff=2797</id>
		<title>Tiny Assembly</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Tiny_Assembly&amp;diff=2797"/>
		<updated>2007-10-20T00:59:10Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* Some thoughts about starting up a Tiny */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== General Tips ==&lt;br /&gt;
&lt;br /&gt;
* Use a quality pair of tweezers, 0402 components will seem like 1/4W resistors again&lt;br /&gt;
* Liquid Flux and a small brush or even the lead of a 1/4W resistor will turn a small congealed soldering mess into perfection&lt;br /&gt;
* Use optical magnification if you or your eyes need it (it is not necessary however)&lt;br /&gt;
* Use a liquid flux cleaner either spray on or brush on and scrub the board clean.  This will a) impress your friends b) reveal potential shorts or lack of solder and c) reduce high resistance electrical paths on the board particularly around the A/D section&lt;br /&gt;
* Print out a customized and enlarged diagram of the PCB you are working on.  Pencil in the component designators by hand while using the graphical desktop environment as an aid&lt;br /&gt;
* Print out a Bill of Materials sheet&lt;br /&gt;
* 0402 components, if fallen onto a dirty workbench will be hopelessly lost.  Use a clean white blotter or even some sheets of paper.&lt;br /&gt;
* Populate as little parts as necessary for a first power-up test.  In most cases it is perfectly OK to place EVERY component minus the LEA-4P GPS module.  Doing this allows you to divide and conquer should a problem arise during assembly.&lt;br /&gt;
&lt;br /&gt;
== Tiny13 1.1 Specifics ==&lt;br /&gt;
&lt;br /&gt;
* Place the vertically shorter tantalum chip capacitors near the supply first as you will be able to place the vertically taller with tweezers.&lt;br /&gt;
* Place the diode next to the large &amp;quot;pulse&amp;quot; inductor before any other backside components'&lt;br /&gt;
* Do not expect either of the two LEDs to illuminate.  They are configured via airborne flight code, you may never see or need them.&lt;br /&gt;
&lt;br /&gt;
== LEA-4P Mounting ==&lt;br /&gt;
&lt;br /&gt;
It is advised not to use hot air reflow rework station / solder paste for this assembly as it is quite easy to &amp;quot;blow&amp;quot; solder underneath the LEA-4P causing a short.  Instead apply a small amount of solder flux paste and a small tip soldering iron w/ fine solder.  This soldering tip should be as large as will allow you to apply solder to the pins.  The LEA-4P and surrounding ground planes are excellent heat sinks so the larger tip you can use the easier it will be.  Print out the schematic to see the required pin wiring.  Solder only the necessary pins, you will realize why if you ever have to remove the LEA-4P module from the PCB.  Realize that the footprint is not symmetrical and will only mount one way so you do not have to go crazy making sure you have the black dot facing the right direction.&lt;br /&gt;
&lt;br /&gt;
== Solder Paste Usage ==&lt;br /&gt;
&lt;br /&gt;
Solder paste can easily become your secret weapon against the difficult placing of the fine-pitch components in use in this project.  The most crucial parameter you can control is how much solder paste is used.  If too much is used (even 1/10 of a gram too much), you will be left removing many solder bridges between pins and pads manually.  Alternatively if too little is used you will be left individually soldering pins.&lt;br /&gt;
&lt;br /&gt;
Below is an example of too much&lt;br /&gt;
&lt;br /&gt;
[[image:SOLDERPASTE_TOOMUCH.jpg]]&lt;br /&gt;
&lt;br /&gt;
this is the result after reflowing: 5 different solder bridges that must be removed.  Sometimes it is as easy as applying a small amount of liquid flux to the area then dragging a hot micro tipped iron between the two pins, drawing the bridge towards the pad.  You may also want to try copper braid for wicking the excess solder away.  I often find this removes too much solder.&lt;br /&gt;
&lt;br /&gt;
[[image:Solderpaste_resulttoomuch.jpg]]&lt;br /&gt;
&lt;br /&gt;
Below is an image where an adequate amount of solder paste was applied.&lt;br /&gt;
&lt;br /&gt;
[[image:Solderpaste_enough.jpg]]&lt;br /&gt;
&lt;br /&gt;
The results of the above solder paste.&lt;br /&gt;
&lt;br /&gt;
[[image:Solderpaste_enough-results.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Expected Current Consumptions ==&lt;br /&gt;
&lt;br /&gt;
Here are some general current guidelines to aid in initial assembly checks.&lt;br /&gt;
&lt;br /&gt;
 Tiny13 w/ fresh, unprogrammed LPC &amp;amp; NO LEA-4P GPS: ~15mAh @ 12.3V (185mWh)&lt;br /&gt;
 Tiny13 running target code (not airborne code) &amp;amp; NO LEA-4P GPS: ~25mAh @ 12.3V (310mWh)&lt;br /&gt;
 Tiny13 running target code (not airborne code) w/ GPS: ~45mAh @ 12.3V (550mWh)&lt;br /&gt;
&lt;br /&gt;
''The Tiny13 uses a switching supply, realize that you will see varying currents with varied input voltages hence the inclusion of mWh units''&lt;br /&gt;
&lt;br /&gt;
== Some thoughts about starting up a Tiny ==&lt;br /&gt;
&lt;br /&gt;
* populate all parts except the LEA-4P for first tests to make them simpler&lt;br /&gt;
* check the polarity of all parts, compare to a picture of a working reference board&lt;br /&gt;
* use a microscope or a magnifying glass to check for short circuits&lt;br /&gt;
* use a power supply for first tests, not a battery, limit the current to about 100mA, use a voltage of about 7V&lt;br /&gt;
* With everything on the board, minus the LPC2148 you should see ~ 580 ohms of resistance on 3V3 rail&lt;br /&gt;
* use the on-board supply, do not try to feed voltage from the outside&lt;br /&gt;
* the 7V should not drop due to current limiting, measure the 5V and the 3.3V supply on the board&lt;br /&gt;
-&amp;gt; wrong voltages: check the parts around the power supply&lt;br /&gt;
* measure the current, it should be around 50mA at 7V with the LPC running and no code loaded (switching supply: reduces to around 25mA @12V)&lt;br /&gt;
* attach reset, therefore connect LPC_RESET to GND (the board button is NOT reset), current should reduce to 15mA at 7V (10mA @12V)&lt;br /&gt;
-&amp;gt; check if reset signal can be measured at the LPC reset pin 57&lt;br /&gt;
* check the 12MHz at LPC pin 61, XTAL2 (XTAL_out)&lt;br /&gt;
* connect LPC_TXD_0 and LPC_RXD_0 of Serial1 to the serial port of your PC through a 3.3V-USB-RS232 converter (LPC_TXD_0 - PC_RX, LPC_RX_0 - PC_TX), attach LPC_P0.14 to a buffered PC_RTS or connect to a button&lt;br /&gt;
* run the serial ROM loader lpc21isp to flash USB bootloader with&lt;br /&gt;
 make bl_upload&lt;br /&gt;
* pull the LPC_P0.14 line low if not connected to RTS and then reset the board&lt;br /&gt;
-&amp;gt; check the rx/tx pins for data if flashing does not succeed&lt;br /&gt;
* deattach the LPC_P0.14, reset the board&lt;br /&gt;
* the USB bootloader outputs debug information with 115200 8N1 on the serial port&lt;br /&gt;
-&amp;gt; try the uart_tunnel from arm7/test, logical high and low should be sent from LPC_RXD_0 to LPC_TXD_1 and LPC_RXD_1 to LPC_TXD_0 (at GPS pins)&lt;br /&gt;
* LPC_P0.23 (USB Vbus) should be low, LPC_USB_CONNECT high&lt;br /&gt;
-&amp;gt; check parts around Q1&lt;br /&gt;
* connect USB+ (D+), USB- (D-), LPC_P0.23 (USB Vbus) and GND of Serial2 with your PC, reset the board&lt;br /&gt;
* LPC_P0.23 (USB Vbus) should go high from PC USB, LPC_USB_CONNECT should go low through LPC software&lt;br /&gt;
* the PC will detect a new USB device, check with &amp;quot;dmesg&amp;quot; and &amp;quot;lsusb&amp;quot; - they should both show a USB device with VID/PID 7070:1234&lt;br /&gt;
-&amp;gt; if a new USB device is detected but does not accept new address, the USBconnect worked, but not the communication, check USB+ and USB-&lt;br /&gt;
* flash the autopilot with&lt;br /&gt;
 make [AIRCRAFT] ap.upload&lt;br /&gt;
* check telemetry through serial port, messages should be displayed&lt;br /&gt;
* test A/D converters for supply voltage and IR sensors&lt;br /&gt;
* check modem, connect tx, rx, gnd and supply&lt;br /&gt;
* try to aquire sats outside&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Tiny_v1.1&amp;diff=2796</id>
		<title>Tiny v1.1</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Tiny_v1.1&amp;diff=2796"/>
		<updated>2007-10-20T00:57:44Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* Home Assembly */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Tiny autopilot was designed with an end user application in mind.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
* Single LPC2148 MCU &lt;br /&gt;
* 8 Analog input channels 0V - 3.3V&lt;br /&gt;
* 1 3.3V TTL UART (5V tolerant)&lt;br /&gt;
* 7 PWM outputs&lt;br /&gt;
* 1 R/C receiver PWM frame input&lt;br /&gt;
* 1 [http://en.wikipedia.org/wiki/Serial_Peripheral_Interface SPI] bus&lt;br /&gt;
* 1 [http://en.wikipedia.org/wiki/I2c I&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;C] bus&lt;br /&gt;
* 1 USB (client)&lt;br /&gt;
* Integrated GPS receiver and patch antenna (4Hz update)&lt;br /&gt;
* 5V/2A switching power supply &amp;amp; 3.3V linear regulator&lt;br /&gt;
* 2 LEDs (status display)&lt;br /&gt;
* 1 button (initiate launch)&lt;br /&gt;
* 25 grams&lt;br /&gt;
* 63 x 35mm (smaller then a business card)&lt;br /&gt;
&lt;br /&gt;
The Tiny autopilot uses a single Philips LPC2148 ARM7 based microcontroller.&lt;br /&gt;
The [http://www.arm.com/products/CPUs/families/ARM7Family.html ARM7] is a low-power 32-bit RISC processor core and the [http://www.standardics.philips.com/products/lpc2000/ Philips LPC2148] has 512KB on-chip Flash ROM, 40KB RAM and can be clocked at 60MHz.&lt;br /&gt;
&lt;br /&gt;
Although critical control code such as the R/C interface and servo output are well segregated in Paparazzi software and well protected from interference from flaws in the stability/navigation/comm/payload code, great care must be taken when experimenting with new software as some errors can cause a the processor to halt or stall for extended periods causing total loss of control.  The dual processor [[Classix]] addresses this risk by runnning critical code on a separate independent processor.&lt;br /&gt;
&lt;br /&gt;
The schematics are available from the [http://cvs.savannah.nongnu.org/viewcvs/paparazzi3/hw/controller/?root=paparazzi CVS repository].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:TINY_1.3_MCU_300PX.jpg]]&lt;br /&gt;
[[Image:TINY_1.3_MCU_BOTTOM_300PX.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Architecture ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Tiny_v099_Architecture.gif]]&lt;br /&gt;
&lt;br /&gt;
== Pinout ==&lt;br /&gt;
'''(Tiny13 v1.1)'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Tiny13_v1_1_pinout.gif]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Pins Name and Type are specified with respect to the Autopilot Board''&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;  cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;text-align:center&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
|+'''SERIAL 1'''&lt;br /&gt;
!''Pin #''!!''Name''!!''Type''!!''Desription''!!width=&amp;quot;50&amp;quot;|''Suggested Color''&lt;br /&gt;
|-&lt;br /&gt;
|1||GND||PWR||common ground||style=&amp;quot;background:black; color:white&amp;quot;|Black&lt;br /&gt;
|-&lt;br /&gt;
|2|| +3.3v||PWR||3.3v Rail from Tiny||style=&amp;quot;background:red; color:white&amp;quot;|Red&lt;br /&gt;
|-&lt;br /&gt;
|3||SDA0||I/O O.D.||I2C0 data||&lt;br /&gt;
|-&lt;br /&gt;
|4||SCL0||I/O O.D.||I2C0 clock||&lt;br /&gt;
|-&lt;br /&gt;
|5||P0.14||IN||In-Circuit Serial Programming (ISP) enable - LOW on this pin during boot up to enable ''(Note 1)''||&lt;br /&gt;
|-&lt;br /&gt;
|6||RESET||IN||External Reset - A LOW on this pin performs a MCU hardware reset||&lt;br /&gt;
|-&lt;br /&gt;
|7||RXD_0||IN||UART0 Serial Input (used by ISP Serial Bootloader) (5V Tolerant)||style=&amp;quot;background:green; color:white&amp;quot;|Green&lt;br /&gt;
|-&lt;br /&gt;
|8||TXD_0||OUT||UART0 Serial Output (used by ISP Serial Bootloader) (5V Tolerant)||style=&amp;quot;background:blue; color:white&amp;quot;|Blue&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Note 1 : Holding this pin low for at least 3mS after a RESET (or power up) instructs the controller to enter programming mode.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;  cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;text-align:center&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
|+'''SERIAL 2'''&lt;br /&gt;
!''Pin #''!!''Name''!!''Type''!!''Desription''!!width=&amp;quot;50&amp;quot;|''Suggested Color''&lt;br /&gt;
|-&lt;br /&gt;
|1||GND||PWR||common ground||style=&amp;quot;background:black; color:white&amp;quot;|Black&lt;br /&gt;
|-&lt;br /&gt;
|2|| +3.3V||PWR||3.3v Rail from Tiny||style=&amp;quot;background:red; color:white&amp;quot;|Red&lt;br /&gt;
|-&lt;br /&gt;
|3||SCK||I/O||SPI0 Serial clock. Clock output from master or input to slave||&lt;br /&gt;
|-&lt;br /&gt;
|4||MISO||I/O||SPI0 Master In Slave Out. Data input to master or data output from slave||&lt;br /&gt;
|-&lt;br /&gt;
|5||MOSI||I/O||SPI0 Master Out Slave In. Data output from master or data input to slave||&lt;br /&gt;
|-&lt;br /&gt;
|6||SSEL||IN||SSP Slave Select. Selects the SSP interface as a slave (SSEL1)||&lt;br /&gt;
|-&lt;br /&gt;
|7||INT||IN||External interrupt 2 input (EINT2)||&lt;br /&gt;
|-&lt;br /&gt;
|8||USB+||I/O||USB bidirectional D+ line||style=&amp;quot;background:green; color:white&amp;quot;|Green&lt;br /&gt;
|-&lt;br /&gt;
|9||USB-||I/O||USB bidirectional D- line||style=&amp;quot;background:white; color:black&amp;quot;|White&lt;br /&gt;
|-&lt;br /&gt;
|10||P0.23||IN||Indicates the presence of USB bus power (VBUS) (5V Tolerant)||style=&amp;quot;background:orange; color:white&amp;quot;|Orange&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;  cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;text-align:center&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
|+'''RC'''&lt;br /&gt;
!''Pin #''!!''Name''!!''Type''!!''Desription''!!width=&amp;quot;50&amp;quot;|''Suggested Color''&lt;br /&gt;
|-&lt;br /&gt;
|1||GND||PWR||common ground||style=&amp;quot;background:black; color:white&amp;quot;|Black&lt;br /&gt;
|-&lt;br /&gt;
|2|| +5v||PWR||5v Rail from Tiny to R/C receiver supply||style=&amp;quot;background:red; color:white&amp;quot;|Red&lt;br /&gt;
|-&lt;br /&gt;
|3||PPM_IN||IN||PPM Stream from RC Receiver (5V TOLERANT)||style=&amp;quot;background:white; color:black&amp;quot;|White&lt;br /&gt;
|-&lt;br /&gt;
|4||NC||-||''no connection''||&lt;br /&gt;
|-&lt;br /&gt;
|5||NC||-||''no connection''||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;  cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;text-align:center&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
|+'''ANALOG'''&lt;br /&gt;
!''Pin #''!!''Name''!!''Type''!!''Desription''!!width=&amp;quot;50&amp;quot;|''Suggested Color''&lt;br /&gt;
|-&lt;br /&gt;
|1||GND||PWR||common ground||style=&amp;quot;background:black; color:white&amp;quot;|Black&lt;br /&gt;
|-&lt;br /&gt;
|2|| +3.3V||PWR||3.3v Rail from Tiny||style=&amp;quot;background:red; color:white&amp;quot;|Red&lt;br /&gt;
|-&lt;br /&gt;
|3||ADC_0||IN||Analog to Digital Converter Input #0||&lt;br /&gt;
|-&lt;br /&gt;
|4||ADC_1||IN||Analog to Digital Converter Input #1||&lt;br /&gt;
|-&lt;br /&gt;
|5||ADC_2||IN||Analog to Digital Converter Input #2||&lt;br /&gt;
|-&lt;br /&gt;
|6||ADC_3||IN||Analog to Digital Converter Input #3||&lt;br /&gt;
|-&lt;br /&gt;
|7||ADC_4||IN||Analog to Digital Converter Input #4||&lt;br /&gt;
|-&lt;br /&gt;
|8||ADC_5||IN||Analog to Digital Converter Input #5||&lt;br /&gt;
|-&lt;br /&gt;
|9||ADC_6||IN||Analog to Digital Converter Input #6||&lt;br /&gt;
|-&lt;br /&gt;
|10||ADC_7||IN||Analog to Digital Converter Input #7||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''POWER SUPPLY'''&amp;lt;br&amp;gt;&lt;br /&gt;
For reference, Matthew Currie is assembling his Tiny(s) with WS Deans Micro 2R connectors for power as they are a commonly available R/C connector and are of high quality and durability.  They do not have a positive lock mechanism but insert under a lot of pressure.  They do not require any special crimping tools and withstand up to 10A.&lt;br /&gt;
&lt;br /&gt;
[[Image:Wsdm3007.png]]&lt;br /&gt;
&lt;br /&gt;
== Bill of Materials (BOM) ==&lt;br /&gt;
&lt;br /&gt;
Please note that there are differences between 0.9, 0.99, and 1.1.  Choose the version that matches your hardware.&lt;br /&gt;
&lt;br /&gt;
'''Warning''': C20 needs to be a low ESR capacitor and the one listed on the BOM isn't. A proper replacement would be B45197A2226K209. This could potentially cause instability of the 3V3 supply which, of course, is critical.&lt;br /&gt;
&lt;br /&gt;
=== Tiny 1.1 BOM ===&lt;br /&gt;
&lt;br /&gt;
[http://www.recherche.enac.fr/paparazzi/wiki_images/b/b1/1.1_bom.zip 1.1_bom.zip]&lt;br /&gt;
&lt;br /&gt;
Addendum:  There are digikey part numbers for two more of the components.&lt;br /&gt;
Murata inductor is 490-1116-1-ND&lt;br /&gt;
Tactile Switch is either SW1020CT-ND (grounded) or SW1021CT-ND.&lt;br /&gt;
&lt;br /&gt;
=== Tiny 0.99 BOM ===&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
{| &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|Qty ||Value||Device||Parts||Manufacturer||PN||distr PN&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||7 || - ||53047-03 ||CAMERA, RC_RX, S0, S1, S3, S4, S5 ||Molex ||53047-0310 ||DK WM1732-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 || - ||53047-04 ||VIDEO_TX ||Molex ||53047-0410 ||DK WM1733-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 || - ||53047-08 ||SERIAL_1 ||Molex ||53047-0810 ||DK WM1737-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||2 || - ||53047-10 ||ANALOG, SERIAL_2 ||Molex ||53047-1010 ||DK WM1739-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||FUTABA_BEND ||FUTABA_BEND ||CON_ESC || - || - || -&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||2 ||LEDCHIP ||LED0805 ||LED1, LED2 ||Kingbright ||APT2012EC ||MO 604-APT2012EC&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||B3S ||B3S ||SW1 || OMRON ELECTRONICS || B3S-1002 || RS 183-717&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||0.47uH ||L-EUL2012C ||L2 || WURTH ELEKTRONIK || 74479032 || RS 308-8564&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||15uH ||WE_PD ||L1 ||Pulse ||P1168.153T ||MO 673-P1168.153T&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||2 ||33R ||R-EU_R1005 ||R9, R10 ||Yageo ||RC0402JR-0733L ||DK 311-33JRCT-ND &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||150R ||R-EU_R1005 ||R12 ||Yageo ||RC0402JR-07150L ||DK 311-150JRCT-ND &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||3 ||1K ||R-EU_R1005 ||R2, R3, R8 ||Yageo ||RC0402JR-071KL ||DK 311-1.0KJRCT-ND &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||1.5K ||R-EU_R1005 ||R11 ||Yageo ||RC0402JR-071K5L ||DK 311-1.5KJRCT-ND &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||2 ||3.3K ||R-EU_R1005 ||R6, R15 ||Yageo ||RC0402JR-073K3L ||DK 311-3.3KJRCT-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||4.7K ||R-EU_R1005 ||R1 ||Yageo ||RC0402JR-074K7L ||DK 311-4.7KJRCT-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||7 ||10K ||R-EU_R1005 ||R4, R5, R13, R14, R16, R17, R18 ||Yageo ||RC0402JR-0710KL ||DK 311-10KJRCT-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||2 ||12K ||R-EU_R1005 ||R103, R105 ||Yageo ||RC0402JR-0712KL ||DK 311-12KJRCT-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||15K ||R-EU_R1005 ||R7 ||Yageo ||RC0402JR-0715KL ||DK 311-15KJRCT-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||2 ||56K ||R-EU_R1005 ||R102, R104 ||Yageo ||RC0402JR-0756KL ||DK 311-56KJRCT-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||100K ||R-EU_R1005 ||R101 ||Yageo ||RC0402JR-07100KL ||DK 311-100KJRCT-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||3 ||18pF ||C-EUC0402K ||C3, C7, C10 ||TDK ||C1005C0G1H180J ||DK 445-1238-1-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||2 ||22pF ||C-EUC0402K ||C8_1, C9_1 ||Yageo ||CC0402JRNPO9BN220 ||DK 311-1018-1-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||100pF ||C-EUC0402K ||C103 ||Kemet ||C0402C101J3GACTU ||DK 399-1022-1-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||220pF ||C-EUC0402K ||C102 ||Kemet ||C0402C221K5RACTU ||DK 399-1030-1-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||220pF/50V ||C-EUC1206K ||C4 ||Yageo ||CC1206KRX7R9BB221 ||DK 311-1164-1-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||1nF ||C-EUC0402K ||C104 ||Kemet ||C0402C102K3RACTU ||DK 399-1031-1-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||3.3nF ||C-EUC0402K ||C101 ||Kemet ||C0402C332K5RACTU ||DK 399-3070-1-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||22nF/50V ||C-EUC1206K ||C6 ||Yageo ||CC1206KRX7R9BB222 ||DK 311-1176-1-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||8 ||100nF ||C-EUC0402K ||C1_1, C2, C3_1, C4_1, C5_1, C6_1, C7_1, C106 ||Kemet ||C0402C104K8PACTU ||DK 99-3027-1-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||3 ||100nF ||C-EUC0603 ||C8, C9, C21 ||Kemet ||C0603C104J4RACTU ||DK 399-1097-1-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||10uF ||CPOL-EUA/3216-18R ||C18, C105 ||Kemet ||T491A106M010AS ||DK 399-1564-1-ND MO-80-T491A106K010&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||22uF ||CPOL-EUB/3528-21R ||C20 ||Kemet ||B45196H1226M209 ||DK 495-2185-1-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||47uF/16V ||CPOL-EUD/7343-31R ||C5 ||Kemet ||B45197A3476K409 ||DK 495-1544-1-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||330uF/10V ||CPOL-EUD/7343-31R ||C1 ||Kemet ||B45197A2337K509 ||DK 495-1536-1-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||0.2F ||J1ROUND ||C77 ||Panasonic - ECG ||EEC-EN0F204J1 ||DK P11070CT-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||AD8552RU ||AD8552RU ||IC2 ||Analog Devices Inc ||AD8552ARU ||DK AD8552ARU-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||BAS70 ||BAS70 ||D1 ||Micro Commercial Co. ||BAS40-TP ||DK BAS40TPMSCT-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||STPS2L ||STPS2L ||D2 ||STMicroelectronics ||STPS2L30A ||DK 497-3759-1-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||CD4015B ||CD4015B ||IC1 ||Texas Instruments ||CD4015BPWR ||DK 296-14090-1-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||12MHz ||CRYSTAL_CTS ||Q1 ||CTS-Frequency Controls ||405C35B12M00000 ||DK CTX639CT-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||DDTA143 ||MUN2111T1 ||T1 ||Diodes Inc ||DDTA143ZCA-7 ||DK DDTA143ZCADICT-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||L5973D ||L5973D ||REG1 ||STMicroelectronics ||L5973D013TR ||DK 497-3638-1-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||REG1117 ||REG1117 ||REG2 ||National Semiconductor ||LM1117MP-3.3 ||DK LM1117MP-3.3CT-ND&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||LEA-4P ||LEA-4P ||GPS ||Microblox ||LEA-4P-0-000-0 || -&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||GPS_ANT_13 ||GPS_ANT_13 ||ANTENNA ||Sangshin || KSA-ST1580MS13 || -&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||1 ||LPC2148 ||LPC2148 ||MCU ||Philips ||LPC2148FBD64-S ||DK 568-1765-ND&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
DK = digikey&lt;br /&gt;
&lt;br /&gt;
MO = mouser&lt;br /&gt;
&lt;br /&gt;
RS = radiospares&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Home Assembly ==&lt;br /&gt;
&lt;br /&gt;
Visit here for the wiki page on [[Tiny_Assembly|Self Assembly Tips and Techniques]].  This page also includes Hardware Troubleshooting.&lt;br /&gt;
&lt;br /&gt;
== Programming ==&lt;br /&gt;
[[Image:Tiny_test_wiring.jpg|thumb|Example wiring for programming and telemetry]]&lt;br /&gt;
The Philips LPC21xx series ARM7 microcontrollers include hardware ISP (InCircuit Serial Programming) and can be programmed through the serial interface UART0 (Serial1) by holding pin P0.14 low during power-up.  Paparazzi software includes a USB bootloader program that allows for easy 1-second programming through a standard USB port with no adapters needed.  This allows us to upload new settings, flight plans, or software updates quickly and conveniently without the need to disconnect the modem from UART0.  &amp;lt;br&amp;gt;See the [[Compiling|Compiling and Flashing]] page for instructions on installing the bootloader and autopilot software.&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Contact&amp;diff=2777</id>
		<title>Contact</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Contact&amp;diff=2777"/>
		<updated>2007-10-15T17:23:11Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Get in touch with active members of the group through any of the following means:&lt;br /&gt;
== Paparazzi Users Forum ==&lt;br /&gt;
&lt;br /&gt;
http://rc-autopilot.de/smf&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
Browse the mailing list archives at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://lists.gnu.org/archive/html/paparazzi-devel/ http://lists.gnu.org/archive/html/paparazzi-devel/]&lt;br /&gt;
&lt;br /&gt;
And join the Paparazzi mailing list at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://lists.nongnu.org/mailman/listinfo/paparazzi-devel http://lists.nongnu.org/mailman/listinfo/paparazzi-devel]&lt;br /&gt;
&lt;br /&gt;
After registering, you can send an e-mail to the entire group by using the address: paparazzi-devel@nongnu.org&lt;br /&gt;
&lt;br /&gt;
== The IRC Chat Channel ==&lt;br /&gt;
&lt;br /&gt;
The most active discussion occurs on [http://en.wikipedia.org/wiki/Internet_Relay_Chat IRC] where a dozen or so members are typically online.  Stop by anytime and say hello to the group, but don't be discouraged by hours of inactivity at certian times of day.  We run a [http://hq.curtek.com/cgi-bin/irc.cgi web-based IRC portal] that makes it easy for people to jump in from any computer, but more active users will benefit from the power of conventional client software such as [http://www.xchat.org Xchat] or [http://www.mirc.com mIRC].&lt;br /&gt;
&lt;br /&gt;
=== Web Based Access ===&lt;br /&gt;
Simply go to [http://www.ircatwork.com/ www.ircatwork.com].  Enter the server, channel name, a unique ''nickname'', and say hello to the team!&lt;br /&gt;
&lt;br /&gt;
=== Client Software ===&lt;br /&gt;
A full featured IRC chat program is essential for active users.  Download one of the many freeware/shareware IRC clients and put [irc://irc.freenode.net/#paparazzi irc://irc.freenode.net/#paparazzi] at the top of your favorites list!&lt;br /&gt;
* [http://www.xchat.org Xchat] is a popular and easy to use freeware application.  &lt;br /&gt;
*: Run ''apt-get install xchat'' to install in Linux, or download a [http://b0at.tx0.org/xchat/ Windows build.]&lt;br /&gt;
*: Choose '''FreeNode''' and some nicknames in the network list and click '''Edit''' to enter the '''#paparazzi''' channel and a Nicserv password.  Follow the instructions below to register your chosen nickname and password on the network.&lt;br /&gt;
* [http://www.mirc.com mIRC] is another popular freeware client for Windows only.&lt;br /&gt;
&lt;br /&gt;
==== Registering on the Freenode IRC Network ====&lt;br /&gt;
&lt;br /&gt;
Registering is optional but is required for private one-on-one chats.  Private chats are useful for pasting large amounts of code back and forth without flooding the group or for any off-topic discussion you may wish to have.  Commands in IRC begin with a forward slash '/'.  Type these two commands into your IRC client to register and log on.&lt;br /&gt;
&lt;br /&gt;
Select your own unique password and use it in place of ''&amp;lt;password&amp;gt;''.  Make sure you are currently using the &amp;quot;nickname&amp;quot; that you would like to use.&lt;br /&gt;
&lt;br /&gt;
 /msg NickServ REGISTER &amp;lt;password&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will now have registered your nickname to your hostmask (or IP address) and the Freenode IRC network will attempt to prevent others from using your nickname.  You will need to identify yourself to the system now every time you log onto IRC with the command below.  This can be added to the &amp;quot;perform&amp;quot; section of your software to be run automatically every time you log on.&lt;br /&gt;
&lt;br /&gt;
 /msg NickServ IDENTIFY &amp;lt;password&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These commands return output results as well, depending on what IRC client you are using to chat it may have appeared in either your main chat window or a separate server window where other server related messages appear.  Check this window for confirmation.&lt;br /&gt;
&lt;br /&gt;
Note: You may find that your IRC connection will occasionally be interrupted, leaving your nic floating on the server.  When this happens the server will not let you log back on using the same nic until that nic has been dropped, usually within 30 minutes.  The convention is to append an underscore to your original nic for temporary use.&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Airframes&amp;diff=2734</id>
		<title>Airframes</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Airframes&amp;diff=2734"/>
		<updated>2007-10-11T21:12:18Z</updated>

		<summary type="html">&lt;p&gt;Mcurrie: /* Multiplex FunJet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Multiplex FunJet ==&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[Image:Funjet_flight_dawnron1.jpg|thumb|left|Multiplex FunJet]]&lt;br /&gt;
|&lt;br /&gt;
The [[FunJet|FunJet]] is a new electric pusher-prop model from Multiplex made of durable and CA safe Elapor foam.  It offers plenty of room internally for avionics in an attractive package.  &lt;br /&gt;
  &lt;br /&gt;
'''[[FunJet|More details...]]'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Misc Airframe Notes ==&lt;br /&gt;
&lt;br /&gt;
[http://www.motocalc.com MotoCalc] is an Electric Flight Performance Prediction program for Windows and is available for a 30 day free trial.  MotoCalc has an internal database of thousands of motors/props/etc. and can make power/flight predictions based on data input.&lt;br /&gt;
&lt;br /&gt;
[http://brantuas.com/ezcalc/dma1.asp Electric Motor Calculator] by Diversity Model Aircraft is a free online tool for matching props to motors to batteries.&lt;br /&gt;
&lt;br /&gt;
[http://www.gobrushless.com/testing/thrust_calculator.php?prop=45&amp;amp;rb1=1&amp;amp;Value=9720&amp;amp;submit=Calculate+Now Propeller Thrust Calculator] is a free online calculator to give thrust from given propeller and RPM or vice versa.&lt;br /&gt;
&lt;br /&gt;
=== Battery Specs ===&lt;br /&gt;
&lt;br /&gt;
'''Nickel Cadmium (NiCd)'''&lt;br /&gt;
&lt;br /&gt;
* Energy/Weight: 40-60 Wh/kg&lt;br /&gt;
* Nominal Cell Voltage: 1.2V&lt;br /&gt;
* Fully Charged Cell Voltage: 1.2V&lt;br /&gt;
* Depleted Cell Voltage: 0.8-1.0V&lt;br /&gt;
&lt;br /&gt;
'''Nickel Metal Hydride (NiMh)'''&lt;br /&gt;
&lt;br /&gt;
* Energy/Weight: 30-80 Wh/kg&lt;br /&gt;
* Nominal Cell Voltage: 1.2V&lt;br /&gt;
* Fully Charged Cell Voltage: 1.35-1.4 V (unloaded)&lt;br /&gt;
* Depleted Cell Voltage: 1.0V&lt;br /&gt;
&lt;br /&gt;
'''Lithium-Ion'''&lt;br /&gt;
&lt;br /&gt;
* Energy/weight: 160 Wh/kg&lt;br /&gt;
* Nominal Cell Voltage: 3.6 / 3.7 V&lt;br /&gt;
* Fully Charged Cell Voltage: 4.2V&lt;br /&gt;
* Lowest Cell Discharge Voltage Before Damage: 2.4v to 3.0v&lt;br /&gt;
&lt;br /&gt;
'''Lithium-Ion Polymer (LiPo)'''&lt;br /&gt;
&lt;br /&gt;
* Energy/weight: 130-200 Wh/kg&lt;br /&gt;
* Nominal Cell Voltage: 3.7V&lt;br /&gt;
* Fully Charged Cell Voltage: 4.23V&lt;br /&gt;
* Lowest Cell Discharge Voltage Before Damage: 3.0V&lt;br /&gt;
&lt;br /&gt;
'''Typical Power Requirements'''&lt;br /&gt;
&lt;br /&gt;
* 70W/kg (35W/lb) for sedate flying from hand launch&lt;br /&gt;
* 100W/kg (50W/lb) for ground take off&lt;br /&gt;
* 150W/kg (75W/lb) for performance / aerobatics&lt;br /&gt;
&lt;br /&gt;
== Mass Figures ==&lt;br /&gt;
&lt;br /&gt;
Provided below are some weights to aid in estimating an all up weight for your uav&lt;br /&gt;
&lt;br /&gt;
* Tiny13 1.1 Weight: 25g (0.88oz)&lt;br /&gt;
* IR Sensor Head: 5g (0.18oz)&lt;br /&gt;
* XBee Pro: 4g (0.14oz)&lt;br /&gt;
* Hitec HS-55 Servo: 8g (0.28)&lt;br /&gt;
* Brushless Outrunner 250W: ~90g (~3oz)&lt;br /&gt;
* FunJet assembled, no hardware: 165g (5.82oz)&lt;br /&gt;
* FMA Encore 5ch Receiver: 11g (0.40oz)&lt;br /&gt;
* Castle Creations Phoenix 35: 24.5g (0.9oz)&lt;/div&gt;</summary>
		<author><name>Mcurrie</name></author>
	</entry>
</feed>