http://wiki.paparazziuav.org/w/api.php?action=feedcontributions&user=Aerovista&feedformat=atomPaparazziUAV - User contributions [en]2024-03-19T08:26:58ZUser contributionsMediaWiki 1.37.1http://wiki.paparazziuav.org/w/index.php?title=Gallery&diff=12196Gallery2012-05-01T06:43:00Z<p>Aerovista: /* User's Aircraft Gallery */</p>
<hr />
<div>== User's Gallery ==<br />
=== User's Aircraft Gallery ===<br />
{|<br />
|-valign="top"<br />
|<br />
<gallery caption="Paparazzi Aircraft"><br />
Image:early_twinstar.jpg|<b>Early Twinstar</b><br>Antoine Drouin and Pascal Brisset<br />
Image:glotzer.jpg|<b>Glotzer</b><br>Martin Mueller and Christian Lindenberg<br />
Image:microvertigo.png|<b>Micro-Vertigo (3D SLS Printed)</b><br>University of Arizona<br>Span 20 cm, mass 100g<br />
Image:Dragonfly_0626.jpg|<b>Dragonfly</b><br>University of Arizona<br>Span 30cm, mass 220g<br />
Image:minivertigo.jpg|<b>Mini-Vertigo II</b><br>University of Arizona<br>Span 30 cm, mass 100g<br />
Image:Lelantos.jpg|<b>Lelantos</b><br>University of Arizona<br>Span 15 cm, mass 200g<br />
Image:DragonSlayer_0948sm.jpg|<b>Dragon Slayer</b><br>Miraterre Flight Systems<br>Span 33cm, mass 300g<br />
Image:Twinstar_2_Twinjet_night.JPG|<b>Night-equipped Twinstar and Twinjet</b><br>Antoine Drouin and Pascal Brisset<br />
Image:Orange_One_0999.jpg|<b>M.A.C. Orange One</b><br>Martin Mueller and Christian Lindenberg<br />
Image:slayer_twinstar_ii.jpg|<b>Slayer and Twinstar</b><br>The Twinstar performs an autonomous aerial launch of the Slayer<br />
Image:Sephiroth_Pre-Paparazzi.jpg|<b>Sephiroth</b><br>P-51 Mustang, off-board video processing for horizon-based stabilization<br />
Image:Triple-X.JPG|<b>Triple-X Prototype</b><br>Miraterre Flight Systems<br>Span 90cm, mass 1400g<br />
Image:Cybereye.jpg|<b>CyberEye</b><br>Miraterre Flight Systems<br>Span 130cm, mass 2kg<br />
Image:osamuavs.jpg|<b>Two Zagi's, and Aggiebird</b><br>Wing Spans 48", 60", and 100"<br> OSAM-UAV Team <br />
Image:NoVa1.jpg|<b>NoVa Quadrotor</b><br>AJ Kochevar<br> Attitude Stabilized quadrotor using Tiny 2.0 <br />
Image:nirvana.jpg|<b>Nirvana</b><br>The 3 Minimag used at the LAAS-CNRS Laboratory<br />
Image:PPZFJ01.JPG| <b>FJ1</b><br>The PPZUAV project aircraft and demo<br />
Image:Paparazzitelema1.jpg | <b>Telemaster</b><br> Autonomous platform to get used to the system<br />
Image:Easystar cropped w800.JPG| <b> John Burt</b><br> tested and flying<br />
Image:UAV.JPG|<b>Luke Ionno</b><br> over at rcgroups<br />
Image:Mentor.JPG|<b>Multiplex Mentor</b><br>Joekadet, 7 flights, Auto2 working now.<br />
Image:Azorean_UAV_01.jpg|<b>Twinstar II</b><br>[[Rui Costa]]<br>Azores - Portugal.<br />
Image:Y-UAV1.JPG|<b>Y-UAV</b><br> [http://www.y-uav.com Home Page]<br>Meilen - Switzerland.<br />
Image:UMARS.JPG|<b>UMARS</b><br> [http://www.imes.zhaw.ch/de/engineering/imes/projekte/leichtbautechnik/umars/projektbeschreibung.html Home Page]<br>Winterthur - Switzerland.<br />
Image:eHawk.JPG|<b>eHawk</b><br>R. Büttner<br>Meilen - Switzerland.<br />
Image:TwinStar_stspies1.JPG|<b>TwinStar II</b><br>[http://paparazzi.enac.fr/wiki/User:Stspies Steffen]<br>Germany.<br />
Image:Mentormaur.jpg|<b>Multiplex Mentor</b><br>R. Maurer<br>Bottighofen - Switzerland.<br />
Image:WindS50Emaur.jpg|<b>SebArt Wind S 50E</b><br>R. Maurer<br>Bottighofen - Switzerland.<br />
Image:Cougar.JPG|<b>Cougar</b><br>R. Büttner<br>Meilen - Switzerland.<br />
Image:UofA_UAP1.jpg|<b>Senior Telemaster</b><br>[http://paparazzi.enac.fr/wiki/UAlberta_UASGroup U of A UAS Group]<br>Edmonton - Canada.<br />
Image:High_Performance_Flying_Wing.JPG|<b>Flying Wing</b><br>T. Habermacher<br>Zürich - Switzerland.<br />
</gallery><br />
|<br />
<br />
|}<br />
<br />
==Video==<br />
<br />
[http://www.youtube.com/watch?v=M1k_TLcQ2ic Micro UAV climbing to 1500m on Spitsbergen/Arctic]<br />
<br />
[http://www.youtube.com/user/aerovistapunktch#p/u/3/7OCcMA4vluM Desktop Record GCS Y-UAV]<br />
<br />
[http://www.youtube.com/user/aerovistapunktch#p/u/1/o6auxzO93lU Bungee Launch Y-UAV]<br />
<br />
== Flight competitions ==<br />
=== [http://www.nal.res.in/MAV08/ MAV08] ===<br />
; Agra, India, (March 10th -- 15th, 2008)<br />
Best Mission Performance:<br />
* [http://www.asctec.de/ Ascending Technologies GmbH] Hornet hexa-rotor (MIT) <br />
* Paparazzi Slicer (ENAC)<br />
* Paparazzi Glass One(s) (Martin Mueller Engineering)<br />
* Paparazzi Dragonfly (University of Arizona)<br />
<br />
Best Hover Performance/Rotorcraft:<br />
* [http://www.asctec.de/ Ascending Technologies GmbH] Hornet hexa-rotor (MIT)<br />
* Indian Institute of Technology, Bombay (IITB)<br />
<br />
Best Autonomous Micro Air Vehicle:<br />
* Paparazzi Slicer (ENAC)<br />
<br />
Best Exotic Design Micro Air Vehicle:<br />
* Paparazzi Dragonfly (University of Arizona)<br />
<br />
Best UGV Performance:<br />
* [http://cmr.mech.unsw.edu.au/mavstar/ MAVSTAR] (UNSW)<br />
<br />
{|<br />
|-valign="top"<br />
|<br />
<gallery caption="MAV08, Agra, India"><br />
Image:Slicer.jpg|<b>Slicer</b><br>ENAC<br />
Image:Glassone.jpg|<b>Glass One</b><br><br />
Image:MAVSTAR.jpg|<b>MAVSTAR</b><br><br />
</gallery><br />
|}<br />
<br />
=== MAV07 ===<br />
; Toulouse, France, (September 19th - 22nd, 2007)<br />
* 1st place (shared): Paparazzi ''Dragon Slayer''<br />
* 1st place (shared): Micropilot ''Ping Wing''<br />
* 3rd place : Paparazzi ''Tyto'' (Supaero)<br />
* 4th place : Paparazzi ''MAC 07'' (Martin Mueller Engineering)<br />
* 5th place : Paparazzi ''Storm1'' (Murat Bronz)<br />
{|<br />
|-valign="top"<br />
|<br />
<gallery caption="MAV07, Toulouse"><br />
Image:Slayer-105416sm.jpg|<b>Dragon Slayer</b><br>Miraterre Flight Systems<br />
Image:Twisted_1413sm.jpg|<b>Twisted Logic</b><br>Miraterre Flight Systems<br />
Image:Storm1.jpg|<b>Storm1</b><br>Murat BRONZ<br />
Image:Pingwing.jpg|<b>Ping Wing</b><br>Sweden<br />
Image:Tyto.jpg|<b>Tyto</b><br>Supaero<br />
Image:Redone.jpg|<b>Red One/MAC 07</b><br><br />
</gallery><br />
|}<br />
<br />
=== MAV06 ===<br />
; Sandestin, Florida, USA (October 29th - November 2nd, 2006)<br />
* 1st place : Procerus Kestrel (Bringham Young University)<br />
* 2nd place : Paparazzi ''Dualing Slayers'' (ENAC / Miraterre)<br />
* 3rd place : Paparazzi ''Black One'' ("fake" Martin Mueller Engineering)<br />
{|<br />
|-valign="top"<br />
|<br />
<gallery caption="MAV06, Florida"><br />
Image:MAC-OrangeOne-MAV06.jpg|<b>Orange One</b><br>Martin Mueller and Christian Lindenberg<br />
Image:MAC-BlackOne-MAV06.jpg|<b>Black One</b><br>Martin Mueller and Christian Lindenberg<br />
Image:ENAC-Planning-MAV06.jpg|<b>ENAC Team</b><br />
Image:Slayers-MAV06.jpg|<b>Dragon Slayers</b><br>Slayers acquiring GPS fix<br><br />
Image:Michel_vs_Slayer-MAV06.jpg|<b>Catch!</b><br>Michel bravely catching the Slayer in an autonomous landing<br><br />
Image:BYU-MAV06.jpg|<b>BYU's Winning Design</b><br>BYU used the Procerus Kestrel autopilot<br><br />
</gallery><br />
|}<br />
<br />
=== EMAV2006 ===<br />
; Braunschweig, Niedersachsen, Germany (25-26 July 2006)<br />
* 1st place : Paparazzi ''DragonSlayer/BlackOne/Microjet''<br />
* 2nd place : Paparazzi ''JeanMav360''<br />
<br />
{|<br />
|-valign="top"<br />
|<br />
[[Image:emav2006_paparazzies.jpg|thumb|left|EMAV06 Paparazzi Team]]<br />
<br style="clear:both"><br />
|}<br />
<br />
=== MAV05 ===<br />
; Garmisch-Partenkirchen, Bavaria, Germany (17-23 September 2005)<br />
* 1st place : Paparazzi ''Dragonfly''<br />
* 2nd place : Paparazzi ''Glotzer''<br />
* 3rd place : Paparazzi ''Plaster''<br />
* 4th place : Paparazzi ''Plaster duo''<br />
<br />
{|<br />
|-valign="top"<br />
|<br />
<gallery caption="MAV05, Germany"<br />
Image:MAV05_paparazzies.jpg|<b>The Paparazzi teams in Garmisch</b><br />
Image:mav05_dragonfly.jpg|<b>Dragonfly</b><br>''University of Arizona''<br />
Image:mav05_depronazzi.jpg|<b>Glotzer</b><br>''Martin Mueller and Christian Lindenberg''<br />
Image:mav05_ladybug.jpg|<b>Ladybug</b><br>''ENAC''<br />
Image:mav05_enac.jpg|<b>ENAC Team</b><br />
</gallery><br />
|}<br />
<br />
=== 4eme Journées microdrones ===<br />
; Toulouse, France ( 15 septembre 2004)<br />
* 1st place : Paparazzi ''Microjet''<br />
<br />
{|<br />
|-valign="top"<br />
| [[Image:Paparazzi_Equiped_Aircraft.jpg|thumb|left|Microjet]] <br style="clear:both"><br />
|}<br />
<br />
=== EMAV2004 ===<br />
; Braunschweig, Niedersachsen, Germany (13 July 2004)<br />
* 1st place : Paparazzi ''Microjet''<br />
<br />
{|<br />
|-valign="top"<br />
|<br />
<gallery caption="EMAV2004"><br />
Image:emav04_01.jpg|<b>The Paparazzi team</b><br />
Image:emav04_02.jpg|<b>Spectators</b><br />
Image:emav04_03.jpg|<b>Automatic tracking antenna</b><br />
</gallery><br />
|}<br />
<br />
=== EMAV2003 ===<br />
; Toulouse, France ( 3 october 2003)<br />
* 1st place : Paparazzi ''Twinstar''<br />
<br />
{|-valign="top"<br />
|<br />
<gallery caption="EMAV2003"><br />
Image:emav03_01.jpg|<b>Twinstar ready for flight</b><br />
Image:emav03_02.jpg|<b>Paparazzi team</b><br />
</gallery><br />
|<br />
|}<br />
<br />
== Scientific campaigns ==<br />
<br />
=== FLOHOF 2007 ===<br />
; Around the Hofsjökull glacier, Iceland, (August 2007)<br />
{|<br />
|-valign="top"<br />
|<br />
<gallery caption="FLOHOF 2007, Iceland"><br />
Image:Kerlingafjoll.jpg|Flying southwest of the glacier<br />
Image:High_alt.png|Climb slope<br />
</gallery><br />
|}<br />
<br />
=== THORPEX/Svalbard 2008 ===<br />
; On and around Svalbard, Arctic Sea, (February 25th - March 15th, 2008)<br />
{|<br />
|-valign="top"<br />
|<br />
<gallery caption="THORPEX 2008, Svalbard"><br />
Image:Kv_svalbard_ice.jpg|KV Svalbard<br />
Image:Hangar.jpg|The KV Svalbard hangar<br />
Image:Funjet_spitsbergen.jpg|Flying over the icy sea near Spitsbergen<br />
Image:Waves.jpg|Waves in rough sea<br />
Image:Breaking_ice.jpg|Breaking the ice<br />
Image:Longyearbyen.jpg|Preparing the aircraft<br />
Image:Landing_spitsbergen.jpg|Landing near Longyearbyen<br />
</gallery><br />
|}<br />
<br />
[[Category:Community]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=File:High_Performance_Flying_Wing.JPG&diff=12195File:High Performance Flying Wing.JPG2012-05-01T06:39:19Z<p>Aerovista: High performance flying wing
Wingspan 140cm, 2kg, 75 km/h, 2 hours endurance.</p>
<hr />
<div>High performance flying wing<br />
Wingspan 140cm, 2kg, 75 km/h, 2 hours endurance.</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=Sensors/IMU&diff=12157Sensors/IMU2012-04-22T09:34:09Z<p>Aerovista: /* 3rd Party IMU */</p>
<hr />
<div><categorytree style="float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;" mode=pages>Sensors</categorytree><br />
== Terminology ==<br />
* '''IMU''': inertial measurement unit: only measures the accelerations and rotation rates (and magnetic field)<br />
* '''AHRS''': attitude and heading reference system: uses IMU data + extra (airspeed/GPS/baro/...) to do sensor fusion and provide pitch and roll<br />
* '''INS''': integrated navigation system: uses IMU + Navigation sensor(s) (e.g. GPS) + even more complex algorithms that besides pitch and roll also interpolates positions and velocities using the attitude corrected acceleration measurements.<br />
<br />
== Paparazzi IMUs ==<br />
<br />
=== Booz IMU v 1.2 ===<br />
<br />
*High quality analog devices sensors<br />
*16bit ADC capable of 200 000 samples per second<br />
*Special attention to clean power with onboard linear supplies<br />
*Efficient high-speed SPI for minimal microcontroller overhead and ultra-low latency (=better controller performance).<br />
*Fits on Booz, Lisa AND Tiny/TWOG autopilots. <br />
<br />
While originally designed for use with rotorcrafts, code is now available for use with fixed wing. <br />
<br />
[[Image:IMU001.jpg|240px]]<br />
<br />
The hardware description is [[BoozIMU|here]].<br />
<br />
Available at [https://mini.ppzuav.com/osc/product_info.php?cPath=15&products_id=122&osCsid=bq9cget2u5c7ksa6kd9ssdf03lisuksq PPZUAV].<br />
<br />
=== YAI v1.0 ===<br />
<br />
Why "yet another imu" while there are already so many out there?<br />
<br />
[[Image:yai_assemb.jpg|240px]]<br />
<br />
*Designed to be completely compatible with original booz IMU and its code<br />
*Cheaper sensors (lower bias stability)<br />
*Higher resolution (16bits) and frequency (200ksps) and cleaner onboard power supply, better grounding and shielding than compared with e.g. external sparkfun breakout boards<br />
*Fast low latency SPI communication (no uart as the tiny/twog miss uarts)<br />
*The most important part of attitude determination is proper kinematic compensation using for instance GPS, pressure sensors etc etc. When using IMU with external processors there is often less flexibility. Things as timing for instance are as important as the quality of the gyros themselves.<br />
<br />
Board, BOM -> [ http://svn.savannah.nongnu.org/viewvc/paparazzi-hardware/trunk/sensors/yai/?root=paparazzi Hardware Repository]<br />
<br />
=== Aspirin IMU ===<br />
<br />
[[Image:Aspirin_imu_front.jpg|240px]]<br />
<br />
[[AspirinIMU|Next generation flat imu.]] This little imu with latest generation of integrated high rate high resolution gyros's moreover has very low noise and stable power supplies and outputs all sensors interrupt pins for optimal performance.<br />
<br />
Note: while the main intended use is the very low latency high performance spi+i2c+interrupts connection (e.g. on lisa/M), please note that aspirin v2 can also be used with any tiny/twog for fixedwing aircraft with the same 4-wire interface and identical software as the PPZUAV-IMU. (connect Aspirin-SCK and aspirin-SCL to the I2C-SCL, aspirin-mosi and aspirin-SDA to I2C-SDA, Vcc to 5V (preferably linear), aspirin-gnd and aspirin-miso to GND, and aspirin-CS to 3.3V.)<br />
<br />
Detailed information about the [[AspirinIMU|Aspirin IMU]] is available [[AspirinIMU|here.]]<br />
<br />
== 3rd Party IMU ==<br />
<br />
'''Loose Terminology Note:''' Like the sparkfun website, the following text incorrectly equates the term "degree-of-freedom" with sensor measurement. Unless we're talking about articulated arms (which paparazzi to date isn't involved with), a body can only have 6 physical DOFs and that would correspond to translation and rotations in the x,y,z cartesian directions of 3D space. If the vehicle state vector includes positions and velocities for each degree of freedom, the state vector would have a dimension of 6 x 2 = 12 states. The goal is to reconstruct these vehicle states using sensor measurements, as once the states can be obtained with reasonable certainty, a control algorithm can have a shot at controlling the system. Using various filtering techniques, multiple sensor types can be combined to estimate these states.<br />
<br />
IMU's measure rotation rates, acceleration (6DOF) and some also magnetic fields (9DOF). This data is used by an autopilot to estimate the state of the aircraft. They that can be used with a Paparazzi autopilot based UAS. If you happen to have such a device, we really would love to see that you share your IMU paparazzi autopilot integration projects information on this Wiki.<br />
<br />
=== Ryan Mechatronics CHIMU AHRS ===<br />
<br />
Very nice product: using the ultra high speed ultra low latency 200Hz SPI-slave mode (even 200Hz innerloop control of fixedwing is possible) or simple 4-wire connection via serial port to any TWOG/TINY/LISA/YAPA. <br />
<br />
Don't want to spend time testing AHRS filters? Nor calibrating IMU? This module with molex connector can be bought calibrated and does all the filtering internally.<br />
<br />
Use it with highspeed SPI on LPC-based boards: http://www.youtube.com/watch?v=mxx-f3Ur0L8<br />
<br />
<modules><br />
<load name="ins_chimu_spi.xml" /><br />
</modules><br />
<br />
...<br />
<br />
<subsystem name="spi_slave_hs"/><br />
<br />
Use CHIMU with simple uart connection on both lisa or tiny/twog<br />
<br />
<modules><br />
<load name="ins_chimu_uart.xml"><br />
<configure name="CHIMU_UART_NR" value="0"/><br />
</load><br />
</modules><br />
<br />
=== SparkFun Razor 6DOF IMU ===<br />
<br />
[[Image:RazzorIMU.jpg|thumb|left|Razor IMU (top) with the tiny13 autopilot]]<br />
<br />
[[Image:RazzorIMUb.jpg|thumb|left|Razor IMU in the tiny13 autopilot box]]<br />
<br />
[http://www.sparkfun.com/commerce/product_info.php?products_id=10010 Official website]<br />
<br />
6DOF - Ultra-Thin IMU<br />
<br />
Very cheap, currently 62-72 Euro. [http://www.watterott.com/de/Sensoren/IMU Shop in Europe]<br />
<br />
<br />
Has been integrated in Paparazzi by Hochschule Bremen, Germany.<br />
<br />
Remove the high pass filters of the RazorIMU to get better results.<br />
<br />
For the Twog and Tiny 2.2 autopilots you have also remove the resistors to GND and the series resistors to the MC of the 5V analog inputs. The code to fly normal plane is currently in the repository. Christoph is working on improvements look here: http://paparazzi.enac.fr/wiki/User:Christoph <br />
<br />
[[Media:Wiring_Razor_IMU.pdf|Connections and wiring to the tiny13]]<br />
<br />
<br style="clear:both"><br />
<br />
=== SparkFun SEN-10121 ===<br />
[[Image:SEN-10121.jpg|thumb|left|SEN-10121]]<br />
<br />
IMU Digital Combo Board - 6 Degrees of Freedom ITG3200/ADXL345<br />
<br />
http://www.sparkfun.com/products/10121<br />
<br />
Tiny, ADXL345 accelerometer, ITG-3200 gyro, 3.3V input, I2C interface.<br />
<br />
This IMU has been tested and flown with Tiny v2.11 and TWOG. It is very similar to the PPZUAV IMU.<br />
<br />
Details of [http://paparazzi.enac.fr/wiki/IMU/SEN-10121 configuration].<br />
<br />
<br style="clear:both"><br />
<br />
=== Cloudcap Crista IMU ===<br />
[[Image:crista_sensorhead.jpg|thumb|left|Christa IMU]]<br />
<br />
[http://www.cloudcaptech.com/crista_sensorhead.shtm Official website]<br />
<br />
More infos soon.<br />
<br />
<br style="clear:both"><br />
<br />
== 3rd Party INS ==<br />
<br />
INS measure rates with their sensors and run algorithms to estimate the state on their own. They give this information the the autopilot (e.g. Euler angles) that can then use it for navigation.<br />
<br />
===[http://diydrones.com/profiles/blogs/arduimu-v2-flat-now-available|DIYDrones ArduIMU+ V2 (Flat)] ===<br />
[[Image:ArduIMU.jpg|thumb|left|ArduIMU]]<br />
<br />
[http://code.google.com/p/ardu-imu/wiki/HomePage?tm=6 Official website]<br />
<br />
[[ArduIMU|Paparazzi Wiki Page]]<br />
<br />
* 3 axis accelerometer + 3 axis gyroscope<br />
* Low cost<br />
* Has been integrated in Paparazzi by ZHAW, Winterthur, Switzerland.<br />
* A magnetometer has been integrated in the software to compensate drift in yaw.<br />
* GPS data from the Tiny is passed over I2C to the AHRS on the IMU.<br />
* Is sold by [http://www.sparkfun.com/products/9956 Sparkfun] and [http://store.diydrones.com/ProductDetails.asp?ProductCode=KT-ArduIMU-20 DIYDrones Store].<br />
<br style="clear:both"><br />
<br />
=== Vector-Nav VN-100 ===<br />
[[Image:VN-100.jpg|thumb|left|Vector-Nav VN-100]]<br />
<br />
[http://www.vectornav.com/vn-100-features Official website]<br />
<br />
There is a [[Modules|module]] for this AHRS (ins_vn100.xml for fixedwings).<br />
<br />
<br style="clear:both"><br />
<br />
=== MicroStrain 3DM-GX2 === <br />
[[Image:3DM-GX2.jpg|thumb|left|MicroStrain 3DM-GX2]]<br />
<br />
[http://www.microstrain.com/3dm-gx2.aspx Official website]<br />
<br />
More info soon.<br />
<br />
<br style="clear:both"><br />
<br />
=== Xsens MTi and MTi-G (with GPS) ===<br />
[[Image:MTi.jpeg|thumb|left|Xsens MTi]]<br />
<br />
[[Image:MTi-G.jpeg|thumb|left|Xsens MTi-G (with GPS)]]<br />
<br />
[http://www.xsens.com/en/general/mti Official website MTi]<br />
<br />
[http://www.xsens.com/en/general/mti-g Official website MTi-G]<br />
<br />
In sensor fusion, calibration and timing are crucial. If you want latency compensated ADXRS gyro integrated attitude done by an efficient and optimized Blackfin DSP you need an XSens. For rotorcraft the 100Hz is a bit slow, but for fixedwing it's perfect. Directly compatible with [[Yapa]] and [[Lisa]] and all needed code in paparazi. <br />
<br />
<br style="clear:both"><br />
<br />
=== MemSense MAG3 ===<br />
<br />
MAG3 - 6 DOF Analog IMU with Triaxial Magnetometer<br />
<br />
[http://www.memsense.com/index.php/Product-Pages/mag3-worlds-smallest-analog-inertial-measurement-unit.html Official website mag3]<br />
<br />
== The Very Short Essential Introduction To Inertial Attitude Estimation ==<br />
<br />
The only physical entity related to attitude (pitch and roll) is the earth gravity vector (unless you use a multi-antenna phase-measuring GPS... $$$$). Unfortunately, the sensors that measure gravity (=accelerometers) also measure so-called kinematic accelerations or in other words: changes in speed: like centrifugal forces, Coriolis forces, linear accelerations etc... The sum of all these litteraly is "what you feel" and is called [http://en.wikipedia.org/wiki/Specific_force "specific force"]. <br />
<br />
so <br />
<br />
accelerometer_value (specific force) = earth_gravity + change in velocity (linear accelerations) + velocity times turn rate (centrifugal etc)<br />
<br />
or<br />
<br />
A = B + C + D <br />
<br />
You measure A and want to know B. What all "gyroscopes and accelerometer only" AHRS projects are doing in some way or another is to neglect the last 2 (C and D). In many situations this is not bad: for instance: when testing the AHRS attached to your computer: it can not accelerate for a very long time (at most a few meters: so if you accerate to the left, then you need to accelerate to the right directly after so the average is zero) and can not rotate to much either (or your cable gets strangled). This is why all AHRS videos on youtube look perfect. And on the desk they are perfect: you neglected 2 terms in the equation that in that situation are perfectly neglect-able. Also with a quadrotor that hovers and keeps its nose in the same direction all the time, these neglected terms are small.<br />
<br />
Now what about the gyroscopes you might ask. I deliberately keep them only second as gyroscopes (turn rate or rotation speed sensors) do NOT give you attitude but ONLY HELP TO SOLVE SHORT TERM errors in the previous part. If gyroscopes would measure turn-rate perfectly, then they would help more but all MEMS/PIEZZO sensors are more or less sensitive to 1) temperature, 2) turnrate, 3) vibrations, 4) accelerations, 5) radiation, 6) power supply quality 7) non-linearity 8) ADC-quality 9) dynamic range and saturation problems, ... so if you integrate gyroscopes, sooner or later errors build up (drift). I put this list here so you know what to pay attention for: if using gyroscopes: always try to keep the temperature as constant as possible or let the temperature settle, reduce vibrations (dampers), use better ADC (e.g. 10bit ADC with +/- 1200 deg/sec gyros have a resolution of 2.4 degrees/s per ADC tick, so your phi/theta might drift 1.2deg/sec without noticing) and power supply filtering and shielding etc to start with. All of these define for how long (seconds!/minutes?) gyroscope integration is useful.<br />
<br />
If you convert the accelerometer directly to attitude and plot it, it will vibrate a lot and will show errors when you accelerate the AHRS on your desk. During a coordinated turn of a fixedwing plane, the force you feel is perpendicular to the plane (not pointing to earth). The accelerometer only clearly is insufficient to know your attitude. One solution is to use gyroscopes that are so good that you can predict for many minutes (then the average acceleration during several turns would still point to earth). But if your gyros can only help for shorter terms (like all MEMS sensors of less than 500euro/each) then extra information is required. E.g: if you add GPS data or airspeed data however, from the flightpath you can quite accurately reconstruct the missing C and D terms. Together with the accelerometer you can know "where the earth is" even when you keep accelerating and turning. Here questions like latency, update rate, noisy derivatives (linear acceleration) are of importance. <br />
<br />
Finally there is the heading... GPS ground-track is not the same as nose direction. Gyroscopes measure how much the nose has been turning, so using GPS to correct it induces errors that increase with corsswind. Magnetometers can help here, and become necessary whenever you do not move enough anymore (hovering). This situation can also occur in plane flying in very strong winds.<br />
<br />
The theory of the DCM algorithm (used in Paparazzi for the AdruIMU and Razzor hardware) can be found here:[[Media:DCMDraft2.pdf|DCMDraft2.pdf]] <br />
[[Category:Sensors]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=File:SEN-10121.jpg&diff=12156File:SEN-10121.jpg2012-04-22T09:17:25Z<p>Aerovista: IMU Digital Combo Board - 6 Degrees of Freedom ITG3200/ADXL345</p>
<hr />
<div>IMU Digital Combo Board - 6 Degrees of Freedom ITG3200/ADXL345</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=Maps&diff=12076Maps2012-04-12T15:09:12Z<p>Aerovista: /* Satellite photo map tiles */</p>
<hr />
<div>__TOC__<br />
== Satellite photo map tiles ==<br />
<br />
The Paparazzi GCS can automatically download satellite photo tiles from Google, MS Maps and Openstreetmap for the area defined in the flight plan. The tiles of Openstreetmap are not real photos (YET!) but rendered tiles. These tiles are fully calibrated and automatically stitched together by the GCS. To load the map tiles simply select Maps->Google Maps Fill (Ctrl-G) from the GCS pulldown menu and the tiles corresponding to the GPS coordinates defined in the [[Flight_Plans|flight plan]] will begin downloading. Pan or zoom the map and re-fill to get more tiles. Tiles are saved in <tt>var/maps/</tt> for off-line use. Checking ''Maps->Google Maps Auto'' will automatically fill the map with tiles while paning and zooming. There is also a command line option to start the GCS with the Auto-fill feature enabled: <br />
<tt>path_to_ground_segment/cockpit/gcs -google_fill</tt>. <br />
If you are behind a firewall, you can use a proxy by setting the <tt>http_proxy</tt> environment variable:<br />
<tt>export http_proxy=<nowiki>http://squid:3128</nowiki></tt><br />
<br />
If you wish to create a calibrated map from the Google tiles, so that upon launching the map2d program a map of the area is shown, go ahead and put into view the area you wish to make the map. While holding left click, drag the area for the map. A red border will appear around the area. Next click on Maps->Map of Region or Maps->Map of Google Tiles. While the former will save the visible region (with waypoints, tracks, ...if any, under the current zoom), the latter will stich together the original Google tiles covering the selected region. Save the xml file to the <tt>data/maps/</tt> directory. This program will automatically screenshot the image and take reference location points and calibrate the map using them. You will be able to load this map in your next sessions (with the Maps->Load menu or with the <tt>-m</tt> option you can add in the your section of <tt>control_panel.xml</tt>.<br />
<br />
Example of map created from google tiles, <tt>gifhorn.xml</tt>:<br />
<tt><map file="gifhorn.jpg" projection="Mercator"><br />
<point x="0" y="0" geo="WGS84 52.527982 10.452157"/><br />
<point x="1965" y="1284" geo="WGS84 52.519595 10.473248"/><br />
</map></tt><br />
<br />
The GCS currently supports three projections (UTM, Mercator and LambertIIe). If you try to place a calibrated map for one projection (e.g. UTM) on another projection plot (e.g. Mercator) the image will be rotated and skewed and a warning will be shown during loading.<br />
<br />
=== Google Restrictions ===<br />
<br />
==== Wrong Maptiles ====<br />
<br />
Sometimes wrong Google maptiles are downloaded due to the beginning of the bandwidth restriction enforced by Google. If this happen and you do not wan to re-download all of you tiles, close the GCS type the following in a command prompt:<br />
<br />
$ cd ~/paparazzi/var/maps/<br />
<br />
or maybe some other directory where you installed the Paparazzi software, then type<br />
<br />
$ rm ??????????????.jpg<br />
<br />
That are indeed 14 questionmarks, better cut and paste the line. This leaves the good resolution images and deletes the bad ones. It would be even better if you could fix the GCS sourcecode and the remove the text of this workaround here from the Wiki.<br />
<br />
==== No more Maptiles ====<br />
<br />
After downloading a lot of maptiles from google you might experience problems getting more due to restrictions enforced by Google. For flight plans covering a large area OSM can be better, as OSM has no such restrictions.<br />
<br />
== Manually Defined Maps ==<br />
<br />
Maps are used in the groundstation to give geographical reference to the flight area. These ''calibrated'' maps are described with two files: the image itself (.png, .jpg or .gif) and an xml file containing geographic references of some points of the bitmap.<br />
<br />
For example, <tt>muret_UTM.xml</tt>:<br />
<tt><map file="muret_UTM.gif" projection="UTM" scale="2.5" approx_ground_altitude="185" utm_zone="31" opacity="100"><br />
<point x="0" y="0" utm_x="359000" utm_y="4815000" geo="WGS84 43.474630 1.256652"/><br />
<point x="0" y="800" utm_x="359000" utm_y="4813000" geo="WGS84 43.456629 1.257169"/><br />
<point x="800" y="800" utm_x="361000" utm_y="4813000"/><br />
</map></tt><br />
<br />
These maps can be created from any image (many are available from various websites). Save the file as a jpeg and place it in the <tt>data/maps/</tt> folder. From the GCS select Maps->Calibrate. After loading the image (which is displayed), you will have to choose at least two reference points, name them with their geographic coordinates (in WGS84 or UTM) and save. The created map (an XML file describing the geographical position of your original bitmap) can then be loaded (Maps->Load).<br />
<br />
== Height Data ==<br />
<br />
=== Intoduction ===<br />
The Shuttle Radar Topography Mission (SRTM) obtained elevation data on a near-global scale to generate the most complete high-resolution digital topographic database of Earth. SRTM consisted of a specially modified radar system that flew onboard the Space Shuttle Endeavour during an 11-day mission in February of 2000.<br />
<br />
The Paparazzi GCS can use this height data. The [http://srtm.usgs.gov/ SRTM] option from the ''Nav'' menu in the GCS displays the ground altitude of the mouse in the top right hand corner.<br />
<br />
=== Getting and using SRTM Data ===<br />
The SRTM data files can be downloaded using the make process. The only thing that is required is to know the name of the file that is needed. Fortunately the GCS will present an dialog box with the names of the required files.<br />
<br />
To illustrate the process. If you needed the file <tt>N47E016.hgt.zip</tt> (47 deg North latitude, 16 deg East longitude) then you could run the following make command:<br />
<pre>make N47E016.hgt.zip</pre><br />
<br />
Alternatively you can download the SRTM data files (<tt>.hgt.zip</tt> or <tt>.hgt.bz2</tt>) to the <tt>data/srtm/</tt> directory.<br />
<br />
They can be downloaded from [http://dds.cr.usgs.gov/srtm/version2_1/SRTM3 http://dds.cr.usgs.gov/srtm/version2_1/SRTM3].<br />
<br />
=== Better and more ===<br />
Some areas, for example high latitudes, are not well covered by official NASA SRTM data. Some additional data and data with higher accuracy has been compiled in the same format: [http://www.viewfinderpanoramas.org/dem3.html http://www.viewfinderpanoramas.org/dem3.html].<br />
<br />
=== Automating script ===<br />
If you want to get a specific range of height data, for example if you test your UAS in various areas on a continent, use the script below. Change the values for the ranges you need.<br />
<br />
$ nano grabheightdata.sh<br />
<br />
Then copy via slecting the script below then CTRL+C and then use CTRL+SHIFT+V to paste it into the nano editor. Then use CTRL+X to save the file. <br />
<br />
#!/bin/bash<br />
# Use freely, OpenUAS 2010<br />
# Script to grab ranges of height data, very handy if you test your UAS in various areas in a continent ;)<br />
# Change, add or delete values in 49 50 51 and 003 004 005 006 007 008 009 to get the ranges you need.<br />
i=1<br />
for lat in 49 50 51<br />
do<br />
j=1<br />
for long in 003 004 005 006 007 008 009<br />
do<br />
let "j+=1"<br />
wget -N --waitretry=40 "http://dds.cr.usgs.gov/srtm/version2_1/SRTM3/Eurasia/N"$lat"E"$long".hgt.zip"<br />
done<br />
let "i+=1" <br />
done <br />
exit 0<br />
<br />
then to be able to siply run the script <br />
<br />
$ chmod u+x grabheightdata.sh<br />
<br />
Finally you can run the script, use and wait a while...<br />
<br />
$ ./grabheightdata.sh<br />
<br />
[[Category:Software]] [[Category:User_Documentation]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=Tiny_v2&diff=9905Tiny v22011-08-05T09:08:12Z<p>Aerovista: /* Feature additions : Tiny 2.1 vs Tiny 1.1 */</p>
<hr />
<div>The complete re-design of the popular Tiny autopilot was done on October 9, 2007. The new design is not a bug-fix as no known flaws exist with the current 0.99 and 1.1 versions, so the redesign is performance, easy to use and easy to assemble-oriented !<br />
[[Image:Tiny_v2-1_3D_top.jpg|right|500px|Tiny v2.11 3D top view (18mm GPS antenna)]]<br />
<br />
== Hardware Revision History ==<br />
<br />
{|border="1" cellspacing="0" style="text-align:center" cellpadding="6"<br />
!''Version #''!!''Release Date''!!''Release Notes''<br />
|-<br />
|v2.11||12/2007||Bug fix : GPS Reset pin protection (D2)<br />
|-<br />
|v2.1||10/2007||3.3V regulator type changed, power switch type changed, connectivity improved <br />
|-<br />
|v2.0||06/2007||Initial release of Tiny v2<br />
|}<br />
<br />
<br />
== Features ==<br />
<br />
* Single [http://www.standardics.nxp.com/products/lpc2000/lpc214x LPC2148 MCU]<br />
* 8 x Analog input channels 0V - 3.3V (2 channels with optional on-board resistor bridge)<br />
* 1 x 3.3V TTL UART (5V tolerant)<br />
* 8 x PWM outputs<br />
* 1 x R/C receiver PPM frame input<br />
* 1 x [http://en.wikipedia.org/wiki/Serial_Peripheral_Interface SPI] bus<br />
* 1 x [http://en.wikipedia.org/wiki/I2c I<sup>2</sup>C] bus<br />
* 1 x USB (client)<br />
* Integrated GPS receiver and patch antenna (4Hz update)<br />
* 5v / 2.25A switching power supply (input voltage range 6.1v &rarr; 18v)<br />
* 3.3v / 1A linear regulator<br />
* 3 x status LEDs with attached test point<br />
* 24 grams (with LEA-4P GPS and 18mm GPS antenna)<br />
* 70.8 x 40mm (smaller then a banking card)<br />
* 2 layers PCB design, 0603 components<br />
<br />
<gallery><br />
Image:Tiny_v2-1_3D_top.jpg|Tiny v2.1 3D top view (18mm GPS antenna)<br />
Image:Tiny_v2-1_3D_bottom.jpg|Tiny v2.1 3D bottom view<br />
Image:Tiny_2_1_top_side.jpg|Tiny v2.1 top side view (13mm GPS antenna)<br />
Image:Tiny_2_1_bottom_side.jpg|Tiny v2.1 bottom side view<br />
</gallery><br />
<br />
The Tiny v2.1 autopilot uses a single Philips LPC2148 ARM7 based microcontroller.<br />
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.<br />
<br />
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.<br />
<br />
=== Feature additions : Tiny 2.1 vs Tiny 1.1 ===<br />
<br />
* Hardware flow control on the modem<br />
: The LPC has one "full-featured" serial port and one basic serial port.<br />
::Tiny v1.1 had the full-featured port hard-wired to the GPS in order to leave the basic port open for initial bootloader programming.<br />
::Tiny v2.1 exchange these ports and use the GPS Reset signal to "disconnect" the GPS for the one-time bootloader programming. Hardware flow control on the modem is now possible.<br />
<br />
* 5V switching power supply<br />
::The Texas Instruments [http://focus.ti.com/docs/prod/folders/print/pth08080w.html PTH08080WAH] switching 5V/2.25A integrated power supply module greatly simplify manufacturing, reduce costs, and improve performance.<br />
::Tiny v2.1 have a voltage input range of 6.1V &rarr; 18V and enough 5V power for servos, high-power modems and video systems. Be careful using high power or digital servos consuming a lot of current. If you use four or more of them on your airframe it is recommended to supply them separately.<br />
<br />
* 3.3V linear regulator<br />
:Tiny v2.1 use a [http://www.national.com/mpf/LM/LM3940.html LM3940] 1A regulator for 5V to 3.3V conversion in a SOT223 standard pinout package which is capable of providing plenty of power to modems or other devices.<br />
:Tests have shown that any device with irregular power consumption can cause significant voltage fluctuations on the critical 3.3V bus.<br />
:Users are advised to use a separate regulator as needed for such devices.<br />
<br />
* Video/payload power switch.<br />
:The TPS1100 transistor used on the Tiny v1.1 design has proven extremely useful but is intended for high-speed power switching of motor controllers and occupies a 5mm x 6mm space (SOIC-8).<br />
:The replacement on the new Tiny v2.1 is a current-limiting switch TPS2051B intended for peripheral power control and should protect the 5V supply from voltage sags during the power-up of high capacitance peripherals as well as allow the 5V supply to continue working in the event of a complete short-circuit in the payload.<br />
:: [http://www.digikey.com/scripts/DkSearch/dksus.dll?PName?Name=296-21265-1-ND&Site=US TPS2051BDBVR] Single 500mA (1A limited) switch in a 3mm x 3mm SOT23-5 package<br />
<br />
* GPS ground plane and antenna <br />
:The 13mm antenna on previous Tiny v1.1 proved to be an unworthy exchange of performance for weight. Crude parking-lot tests showed an approximate 3dBi loss (as expected from the data sheets), but the narrow bandwidth of the small antenna made it more sensitive to de-tuning from nearby components in the aircraft. Flight performance was acceptable but poor climb rate calculations were observed with the smaller antenna. Tiny 1.1 users are advised to fit a 20mm antenna.<br />
::Tiny v2.1 use a 18mm x 4mm antenna (20mm x 4mm is possible but no more available) and feature 30% more ground plane area (40 x 40mm).<br />
<br />
* GPS Reset<br />
:Occasionally the GPS fails to boot properly, displays very poor S/N ratios, and fails to obtain a valid fix. This may be caused by a slow power-up of the 5V or 3V regulators, or by some unusual EMI that is only present at boot. Usually a simple power cycle will correct the problem but occasionally the receiver seems to use the backup battery to retain the bad state.<br />
:: On the Tiny v2.1 design GPS reset is connected to a GPIO pin on the MCU and allow the operator to reset the GPS as needed.<br />
<br />
*Headers<br />
:Tiny v2.1 feature revised header layouts on all peripherals.<br />
::*The modem header have CTS/RTS/DTR and both 5V and 3.3V supplies.(3.3V is shared with LPC and ADC channels - use with caution and only with very low power modems like the 10mW Xbee).<br />
::*The Tiny v1.1 button is removed and it's function is combined on the USB header along with a LED trigger so that indicator, button, and USB can be remotely mounted.<br />
::* Vertical Infrared (1 ADC) with 3.3v supply<br />
::* Horizontal Infrared (2 ADC) with 3.3v supply<br />
::* 2 general purpose ADC with both 3.3v and 5v supplies<br />
::* 2 general purpose ADC with optional on-board resistor bridge and both 3.3v and 5v supplies<br />
::* Two axis Camera control with two servo signal, vdo switch control, vdo power switch and both 5V and 3.3V supplies<br />
::* SPI bus with 3.3V supply<br />
::* I2C bus with both 5V and 3V supplies<br />
<br />
* Leds & testpoints<br />
:3 status LEDs with attached test point available on Tiny v2.1 design (instead 2 on Tiny v1.1)<br />
<br />
* Components size<br />
:Many users (not only beginners) don't really think that 0402 components on Tiny v1.1 is a great saving from any viewpoint. Even if one saves a little space by using these components, there must still be enough room around to solder it by hand with a soldering iron.<br />
:Tiny v2.1 use 0603 components, the assembly should be a bit more friendly to everyone.<br />
<br />
* Layers amount<br />
:Tiny v2.1 2 Layer design (instead 4 Layers on Tiny v1.1) should simplify manufacturing and reduce costs.<br />
<br />
== Architecture ==<br />
[[Image:Tiny_v2_Architecture.png]]<br />
<br />
== Pinout ==<br />
Pins Name and Type are specified with respect to the Autopilot Board<br />
<br />
[[Image:Tiny_v2-1_pinout.png]]<br />
<br />
<br />
{|border="1" cellspacing="0" style="text-align:center" cellpadding="6"<br />
|+'''SERIAL'''<br />
!''Pin #''!!width="80"|''Name''!!''Type''!!width="500"|''Description''!!width="50"|''Suggested Color''<br />
|-<br />
|1||GND||PWR||common ground||style="background:black; color:white"|Black<br />
|-<br />
|2|| +5V||PWR||5V Rail from Tiny||style="background:Orange; color:white"|Orange<br />
|-<br />
|3|| +3.3V||PWR||3.3V Rail from Tiny||style="background:Red; color:white"|Red<br />
|-<br />
|4||DTR|| || ||<br />
|-<br />
|5||CTS|| || || <br />
|-<br />
|6||RTS|| || ||<br />
|-<br />
|7||RXD1||IN||UART1 Serial Input (3.3V level, 5V Tolerant)||style="background:green; color:white"|Green<br />
|-<br />
|8||TXD1||OUT||UART1 Serial Output (3.3V level)||style="background:blue; color:white"|Blue<br />
|}<br />
<br />
<br />
{|border="1" cellspacing="0" style="text-align:center" cellpadding="6"<br />
|+'''SPI'''<br />
!''Pin #''!!width="80"|''Name''!!''Type''!!width="500"|''Description''!!width="50"|''Suggested Color''<br />
|-<br />
|1||GND||PWR||common ground||style="background:black; color:white"|Black<br />
|-<br />
|2|| +3.3V||PWR||3.3V Rail from Tiny||style="background:red; color:white"|Red<br />
|-<br />
|3||SSEL||IN||SSP Slave Select. Selects the SSP interface as a slave (SSEL1)||style="background:sienna; color:white"|Brown<br />
|-<br />
|4||MOSI||I/O||SPI1 Master Out Slave In. Data output from master or data input to slave||style="background:Grey; color:white"|Grey<br />
|-<br />
|5||MISO||I/O||SPI1 Master In Slave Out. Data input to master or data output from slave||style="background:Green; color:white"|Green<br />
|-<br />
|6||DRDY||IN||External interrupt 0 input (EINT0)||style="background:Purple; color:white"|Purple<br />
|-<br />
|7||SCK||I/O||SPI0 Serial clock. Clock output from master or input to slave||style="background:Yellow; color:black"|Yellow<br />
|}<br />
<br />
<br />
{|border="1" cellspacing="0" style="text-align:center" cellpadding="6"<br />
|+'''PPM'''<br />
!''Pin #''!!width="80"|''Name''!!''Type''!!width="500"|''Description''!!width="50"|''Suggested Color''<br />
|-<br />
|1||GND||PWR||common ground||style="background:black; color:white"|Black<br />
|-<br />
|2|| +5v||PWR||5V Rail from Tiny to R/C receiver supply||style="background:Orange; color:white"|Orange<br />
|-<br />
|3||PPM_IN||IN||PPM Stream from R/C Receiver (5V tolerant)||style="background:white; color:black"|White<br />
|-<br />
|4||SERV_RST||OUT||external PPM decoder reset ''(Note 1)''||<br />
|-<br />
|5||SERV_CLK||OUT||external PPM decoder clock ''(Note 1)''||<br />
|}<br />
''Note 1 : Used only if servos are connected to the R/C receiver''<br />
<br />
<br />
{|border="1" cellspacing="0" style="text-align:center" cellpadding="6"<br />
|+'''USB'''<br />
!''Pin #''!!width="80"|''Name''!!''Type''!!width="500"|''Description''!!width="50"|''Suggested Color''<br />
|-<br />
|1||GND||PWR||common ground||style="background:black; color:white"|Black<br />
|-<br />
|2|| +3.3V||PWR||3.3V Rail from Tiny||style="background:red; color:white"|Red<br />
|-<br />
|3||USB+||I/O||USB bidirectional D+ line||style="background:green; color:white"|Green<br />
|-<br />
|4||USB-||I/O||USB bidirectional D- line||style="background:white; color:black"|White<br />
|-<br />
|5||VBUS||IN||Indicates the presence of USB bus power (P0.23) (5V level)||style="background:orange; color:white"|Orange<br />
|-<br />
|6||BUTTON||IN||External Button (+3.3v pullup)||<br />
|-<br />
|7||LED3||OUT||GPIO (LED #3 command)||<br />
|-<br />
|8||ADC_7||IN||Analog to Digital Converter Input #7||<br />
|}<br />
<br />
<br />
{|border="1" cellspacing="0" style="text-align:center" cellpadding="6"<br />
|+'''IRV'''<br />
!''Pin #''!!width="80"|''Name''!!''Type''!!width="500"|''Description''!!width="50"|''Suggested Color''<br />
|-<br />
|1||GND||PWR||common ground||style="background:black; color:white"|Black<br />
|-<br />
|2|| +3.3V||PWR||3.3V Rail from Tiny||style="background:red; color:white"|Red<br />
|-<br />
|3||IRV||IN||Vertical IR Sensor signal (Analog to Digital Converter Input #0)||style="background:Purple; color:white"|Purple<br />
|}<br />
<br />
<br />
{|border="1" cellspacing="0" style="text-align:center" cellpadding="6"<br />
|+'''IRH'''<br />
!''Pin #''!!width="80"|''Name''!!''Type''!!width="500"|''Description''!!width="50"|''Suggested Color''<br />
|-<br />
|1||GND||PWR||common ground||style="background:black; color:white"|Black<br />
|-<br />
|2|| +3.3V||PWR||3.3V Rail from Tiny||style="background:red; color:white"|Red<br />
|-<br />
|3||IRH_2||IN||Horizontal IR Sensor signal axis 2 (Analog to Digital Converter Input #2)||style="background:Grey; color:white"|Grey<br />
|-<br />
|4||IRH_1||IN||Horizontal IR Sensor signal axis 1 (Analog to Digital Converter Input #1)||style="background:Sienna; color:white"|Brown<br />
|}<br />
<br />
<br />
{|border="1" cellspacing="0" style="text-align:center" cellpadding="6"<br />
|+'''ADC1'''<br />
!''Pin #''!!width="80"|''Name''!!''Type''!!width="500"|''Description''!!width="50"|''Suggested Color''<br />
|-<br />
|1||GND||PWR||common ground||style="background:black; color:white"|Black<br />
|-<br />
|2|| +5v||PWR||5V Rail from Tiny||style="background:Orange; color:white"|Orange<br />
|-<br />
|3|| +3.3V||PWR||3.3V Rail from Tiny||style="background:red; color:white"|Red<br />
|-<br />
|4||ADC_4||IN||Analog to Digital Converter Input #4||<br />
|-<br />
|5||ADC_3||IN||Analog to Digital Converter Input #3||<br />
|}<br />
<br />
<br />
{|border="1" cellspacing="0" style="text-align:center" cellpadding="6"<br />
|+'''ADC2'''<br />
!''Pin #''!!width="80"|''Name''!!''Type''!!width="500"|''Description''!!width="50"|''Suggested Color''<br />
|-<br />
|1||GND||PWR||common ground||style="background:black; color:white"|Black<br />
|-<br />
|2|| +5v||PWR||5V Rail from Tiny||style="background:Orange; color:white"|Orange<br />
|-<br />
|3|| +3.3V||PWR||3.3V Rail from Tiny||style="background:red; color:white"|Red<br />
|-<br />
|4||ADC_6||IN||Analog to Digital Converter Input #6 (Maximum input level can be selected with R12 value)||<br />
|-<br />
|5||ADC_5||IN||Analog to Digital Converter Input #5 (Maximum input level can be selected with R13 value)||<br />
|}<br />
<br />
<br />
{|border="1" cellspacing="0" style="text-align:center" cellpadding="6"<br />
|+'''DOWNLOAD'''<br />
!''Pin #''!!width="80"|''Name''!!''Type''!!width="500"|''Description''!!width="50"|''Suggested Color''<br />
|-<br />
|1||GND||PWR||common ground||style="background:black; color:white"|Black<br />
|-<br />
|2|| +5v||PWR||5V Rail from Tiny||style="background:Orange; color:white"|Orange<br />
|-<br />
|3|| +3.3V||PWR||3.3V Rail from Tiny||style="background:red; color:white"|Red<br />
|-<br />
|4||BOOT||IN||In-Circuit Serial Programming (ISP) enable (P0.14, +3.3v pullup) ''(Note 2)''||<br />
|-<br />
|5||GPS_RESET||IN||leave unconnected, hold this pin low only for bootloader programming||<br />
|-<br />
|6||TXD0||OUT||UART0 Serial Output (shared with GPS receiver)||style="background:blue; color:white"|Blue<br />
|-<br />
|7||RXD0||IN||UART0 Serial Input (shared with GPS receiver)||style="background:green; color:white"|Green<br />
|}<br />
''Note 2 : Holding this pin low for at least 3mS after a RESET (or power up) instructs the controller to enter programming mode.''<br />
<br />
<br />
{|border="1" cellspacing="0" style="text-align:center" cellpadding="6"<br />
|+'''I2C'''<br />
!''Pin #''!!width="80"|''Name''!!''Type''!!width="500"|''Description''!!width="50"|''Suggested Color''<br />
|-<br />
|1||GND||PWR||common ground||style="background:black; color:white"|Black<br />
|-<br />
|2|| +5V||PWR||5V Rail from Tiny||style="background:Orange; color:white"|Orange<br />
|-<br />
|3|| +3.3V||PWR||3.3V Rail from Tiny||style="background:red; color:white"|Red<br />
|-<br />
|4||SDA||I/O||I2C bus Serial DAta||<br />
|-<br />
|5||SCL||I/O||I2C bus Serial CLock||<br />
|}<br />
<br />
<br />
{|border="1" cellspacing="0" style="text-align:center" cellpadding="6"<br />
|+'''CAM'''<br />
!''Pin #''!!width="80"|''Name''!!''Type''!!width="500"|''Description''!!width="50"|''Suggested Color''<br />
|-<br />
|1||GND||PWR||common ground||style="background:black; color:white"|Black<br />
|-<br />
|2|| +5V||PWR||5V Rail from Tiny||style="background:Orange; color:white"|Orange<br />
|-<br />
|3|| +3.3V||PWR||3.3V Rail from Tiny||style="background:red; color:white"|Red<br />
|-<br />
|4||CAM_SW||OUT||video source/payload selection signal||<br />
|-<br />
|5||SRV_1||OUT||Servo PWM signal #1||<br />
|-<br />
|6||SRV_5||OUT||Servo PWM signal #5||<br />
|-<br />
|7||AUX||PWR||video/payload switchable 5V power suply||<br />
|}<br />
<br />
<br />
== Schematic ==<br />
[[Image:Tiny v2-1 Schematic.png|left|900px|Tiny v2.11 Schematic]]<br />
<br style="clear:both"><br />
<br />
<br />
== PCB ==<br />
<gallery><br />
Image:Tiny_v2-1_PCB_top.jpg|Tiny v2.1 PCB top side view (Olimex)<br />
Image:Tiny_v2-1_Top_Copper.png|Tiny v2.11 PCB top copper<br />
Image:Tiny_v2-1_PCB_bottom.jpg|Tiny v2.1 PCB bottom side view (Olimex)<br />
Image:Tiny_v2-1_Bottom_Copper.png|Tiny v2.11 PCB bottom copper<br />
</gallery><br />
<br />
=== Gerber & Drill Files ===<br />
<br />
''Download [[Media:Gerber_for_Tiny_v2-11.zip|Tiny v2.11 gerber & drill files (zip)]]''<br />
<br />
RS274X, units = Inches, format = 2:5<br />
<br />
:*Tiny_v2-11.GTO (Top Component Print Layer)<br />
:*Tiny_v2-11.GTS (Top Solder Mask)<br />
:*Tiny_v2-11.GTL (Top Copper Layer)<br />
:*Tiny_v2-11.GBL (Bottom Copper Layer)<br />
:*Tiny_v2-11.GBS (Bottom Solder Mask)<br />
:*Tiny_v2-11.DRI (NC XY coordinates & Drill tools sizes)<br />
<br />
<br />
== Assembly ==<br />
Have a look at the [[Tiny_Assembly]] for assembly hints.<br />
===Components Layout===<br />
<gallery><br />
Image:Tiny_v2-1_2D_top.jpg|Tiny v2.11 top components Layout<br />
Image:Tiny_v2-1_2D_bottom.jpg|Tiny v2.11 bottom components Layout<br />
Image:Tiny_v2-1_Top_Components.png|Tiny v2.11 top components details<br />
Image:Tiny_v2-1_Bottom_Components.png|Tiny v2.11 bottom components details<br />
</gallery><br />
<br />
=== Bill Of Material ===<br />
Download ''[[Media:Tiny_v2-11_BOM.zip|Tiny v2.11 Bill Of Material (zipped .xls file)]]''<br />
<br />
<br />
{|border="1" cellspacing="0" style="text-align:center" cellpadding="2" valign="top"<br />
|-style="background:LightYellow; color:black"<br />
!''Qty''!!''Manufacturer part #''!!width="150pt"|''Schematic part name / value''!!''Designator''!!width="150pt"|''Description''!!''Manufacturer''!!''Package''!!''Optional''!!''Digikey.com''!!width="150pt"|''Other distributor''<br />
|-style="background:WhiteSmoke; color:black"<br />
|colspan="10" align="left"|''Resistors''<br />
|-<br />
|2||ERJ-3EKF33R0V||33||R21, R22||1/16W, 5%||Panasonic||0603||||P33HCT-ND||<br />
|-<br />
|2||ERJ-3EKF1000V||100||R5, R24||1/16W, 5%||Panasonic||0603||||P100HCT-ND||<br />
|-<br />
|1||ERJ-3EKF3300V||330||R4||1/16W, 5%||Panasonic||0603||||P330HCT-ND||<br />
|-<br />
|3||ERJ-3EKF1001V||1K||R16, R17, R23||1/16W, 5%||Panasonic||0603||||P1.00KHCT-ND||<br />
|-<br />
|3||ERJ-3EKF1501V||1.5K||R2, R19, R20||1/16W, 5%||Panasonic||0603||||P1.50KHCT-ND||<br />
|-<br />
|2||ERJ-3EKF1801V||1.8k ''(see note1)''||R13,R18||1/16W, 5%||Panasonic||0603||||P1.8KHCT-ND||<br />
|-<br />
|3||ERJ-3EKF3301V||3.3K||R3, R14, R15||1/16W, 5%||Panasonic||0603||||P3.3KHCT-ND||<br />
|-<br />
|7||ERJ-3EKF1002V||10K||R1, R6 to R11||1/16W, 5%||Panasonic||0603||||P10.0KHCT-ND||<br />
|-<br />
|1||ERJ-3EKF1502V||15K ''(see note2)''||R12||1/16W, 5%||Panasonic||0603||||P15.0KHCT-ND||<br />
|- style="background:WhiteSmoke; color:black"<br />
|colspan="10" align="left"|''Capacitors''<br />
|-<br />
|5||C0603C180J5GAC||18pF||C22, C26 to C29||50V, 5%||Kemet||0603||||399-1052-1-ND||<br />
|-<br />
|19||C0603C104K5RAC||100nF||C2 to C20||50V, 10%||Kemet||0603||||399-5089-1-ND||<br />
|-<br />
|2||T520A336M006ATE070||33uF/6V||C24, C25||SMD tantalum capacitor||Kemet||A case (EIA 3216-18)||||399-4719-1-ND||<br />
|-<br />
|2||TAJD107K020R||100uF/20V||C1, C21||SMD tantalum capacitor||AVX Corp.||D case (EIA 7343-31)||||478-1724-1-ND||<br />
|-<br />
|1||EEC-EN0F204JK||0.2F||C23||SMD double layer capacitor (Goldcap)||Panasonic||specific||||P11070CT-ND||<br />
|-<br />
|colspan="10" align="left" style="background:WhiteSmoke; color:black"|''Inductors''<br />
|-<br />
|1||MLF2012DR47K||0.47uH||L1||SMD Inductor||TDK||0805||||445-1043-1-ND||<br />
|- style="background:WhiteSmoke; color:black"<br />
|colspan="10" align="left"|Semiconductors<br />
|-<br />
|2||1PS79SB10||1PS79SB10||D1, D2||Schottky diode 0.2A/30v||NXP||SOD523 (EIA SC79)||||1PS79SB10 T/R-ND||<br />
|-<br />
|1||LM3940IMP-3.3||LM3940IMP-3.3||IC3||1A low dropout regulator for 5V to 3.3V conversion||National Semic.||SOT223||||LM3940IMP-3.3CT-ND||<br />
|-<br />
|1||TPS2051BDBV||TPS2051B||IC4||Current Limited Power Distribution Switch||Texas Instr.||SOT23-5||''yes''||296-21265-1-ND||<br />
|-<br />
|1||LPC2148FBD64||LPC2148FBD64||IC5||Single-chip ARM7 32-bit microcontroller||NXP||LQFP64||||568-1765-ND||<br />
|-<br />
|1||CD4017BPW||4017||IC6||Decade Counter/Divider with 10 Decoded Outputs||Texas Instr.||TSSOP16||||296-14252-1-ND||<br />
|-<br />
|1||APT1608MGC||KP-1608MGC||LED1||SMD Chip Green LED Lamp ||Kingbright||0603||||754-1118-1-ND||<br />
|-<br />
|1||APT1608SURCK||KP-1608SURC||LED2||SMD Chip Red LED Lamp ||Kingbright||0603||''yes''||754-1123-1-ND||<br />
|-<br />
|1||APT1608SYCK||KP-1608SYC||LED3||SMD Chip Yellow LED Lamp ||Kingbright||0603||''yes''||754-1124-1-ND||<br />
|-<br />
|1||BC807-40||BC807||T1||PNP general purpose transistor||NXP||SOT23||||568-1629-1-ND||<br />
|- style="background:WhiteSmoke; color:black"<br />
|colspan="10" align="left"|''Modules''<br />
|-<br />
|1||PTH08080WAH||PTH_08080W||IC1||Wide-input adjustable switching regulator||Texas Instr.||specific||||296-20432-ND||<br />
|-<br />
|1||LEA-4P-0-000-0 ||LEA_4P||IC2||GPS receiver||ublox||specific||||''N/A''||(u-blox.com, ''see note 3'')<br />
|- style="background:WhiteSmoke; color:black"<br />
|colspan="10" align="left"|''Connectors''<br />
|-<br />
|7||53047-0310 ||SRV0, SRV4, SRV2, SRV6, IRV, SRV3, SRV7||J12 to J18||Picoblade 3 pins 1.25mm straight header||Molex||specific||||WM1732-ND||<br />
|-<br />
|1||53047-0410||IRH||J11||Picoblade 4 pins 1.25mm straight header||Molex||specific||||WM1733-ND||<br />
|-<br />
|4||53047-0510||PPM,I2C,ADC2,ADC1||J4, J6, J8, J10||Picoblade 5 pins 1.25mm straight header||Molex||specific||''J6,J8,J10''||WM1734-ND||<br />
|-<br />
|3||53047-0710||SPI,CAM,DOWNLOAD||J3, J5, J7||Picoblade 7 pins 1.25mm straight header||Molex||specific||''J3,J5''||WM1736-ND||<br />
|-<br />
|2||53047-0810||SERIAL,USB||J2, J9||Picoblade 8 pins 1.25mm straight header||Molex||specific||||WM1737-ND||<br />
|- style="background:WhiteSmoke; color:black"<br />
|colspan="10" align="left"|''Other''<br />
|-<br />
|1||405C35B12M00000||CTS405 12MHz||Q1||SMD 12MHz Quartz Crystal||CTS||specific||||CTX639CT-ND||<br />
|-<br />
| rowspan="2"|1||KSA-ST1580MS18||rowspan="2"|KSA-ST1580MS18||rowspan="2"|A1||rowspan="2"|18x18mm ceramic Patch Antenna||Sangshin||rowspan="2"|specific||rowspan="2"|-||rowspan="2"|''N/A''||KSA-ST1580MS18 (rfmw.com)<br />
|-<br />
|ANA1580T18D4||Emtac||ANA1580T18D4 (transplantgps.com)<br />
|}<br />
<br />
<br />
Note 1 :<br />
R13 calculated according attached ADC5 desired input level :<br />
:*3.3v &rArr; 0<br />
:*5v &rArr; 1.8k (default)<br />
:*8v &rArr; 4.7k <br />
:*13v &rArr; 10k<br />
:*18v &rArr; 15K<br />
:*Other &rArr; R13 = (Vin - 3.3) x 1000<br />
<br />
Note 2 :<br />
R12 calculated according attached ADC6 desired input level :<br />
:*3.3v &rArr; 0<br />
:*5v &rArr; 1.8k<br />
:*8v &rArr; 4.7k <br />
:*13v &rArr; 10k<br />
:*18v &rArr; 15K (default)<br />
:*Other &rArr; R13 = (Vin - 3.3) x 1000<br />
<br />
Note 3 :<br />
For sales make contact with Ublox distributor in the appropriate region (http://www.u-blox.com/disti/index.html)<br />
Remark: u-blox are strictly controlling their GPS Chips right now, for some reason! They will refer you to get one on their website, which is $99.<br />
<br />
== PCB and assembled boards suppliers ==<br />
<br />
For private companies and enthusiast Paparazzi hardware suppliers, see [[Get_Hardware|Get Hardware]] page.<br />
<br />
<br />
== Downloads ==<br />
<br />
<br />
'''Source files'''<br />
:*download ''[[Media:Tiny_v2-11_Protel_design.zip|Tiny v2.11 Protel 99SE SP6 design (zipped Protel 99 ddb file)]]''<br />
'''Gerber & Drill files'''<br />
:*download ''[[Media:Gerber_for_Tiny_v2-11.zip|Tiny v2.11 gerber & drill files (zip)]]''<br />
'''Assembly files'''<br />
:*download ''[[Media:Tiny_v2-11_Components_layouts.pdf|Tiny v2.11 Components layouts (pdf)]]''<br />
:*download ''[[Media:Tiny_v2-11_BOM.zip|Tiny v2.11 Bill Of Material (zipped .xls file)]]''<br />
<br />
<br />
== Programming ==<br />
[[Image:Tiny211program.jpg|thumb|Example wiring for programming and telemetry]]<br />
The Philips LPC21xx series ARM7 microcontrollers include hardware ISP (InCircuit Serial Programming) and can be programmed through the serial interface UART0 (labled "download" on the PCB) by holding pin P0.14 (count 4 pins in from outside of PCB on download connector) low during power-up and until USB boot code programming is completed. Note this is a 1x operation usually done by the person supplying the Tiny v2 autopilot so you may want to ask if this was done from your Tiny v2 vendor.<br><br />
<br />
Once the USB boot code is loaded (see above) the Paparazzi software includes a USB bootloader program that allows for easy 1-second programming through a standard USB port (labeled "USB" on the PCB) with only a USB to Tiny Molex 8-pin adapter cable needed. Using either the GUI (paparazzi) or command line arguments you can now upload new settings, flight plans, or software updates quickly and conveniently.<br />
<br />
See the [[Compiling|Compiling and Flashing]] page for more detailed instructions on installing the bootloader and autopilot software.<br />
===Shortcuts===<br />
*[[USB_Boot_Loader]]<br />
*[[Tunnel]]<br />
*[[GPS_CONFIG]]<br />
<br />
[[Category:Hardware]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=FAQ&diff=9904FAQ2011-08-05T09:07:24Z<p>Aerovista: /* Will the autopilot provide enough 5V power for many/large/digital servos as well as a modem, video TX, etc.? */</p>
<hr />
<div><noinclude><br />
{| width="100%" style="border: solid 2px #A3B1BF; background: #F5FAFF" |<br />
|-<br />
| <br />
<h2 style="background-color:#cedff2; border-bottom:0px; border: 1px solid #a3b0bf; text-align:center; padding-top:4px;">General Paparazzi FAQ<br />
</h2></noinclude><br />
<br/><!--TOC spacing--><br />
'''This is a general Paparazzi FAQ. If you are already using Paparazzi you can have a look at the [[Common_problems|Common Problems FAQ]].'''<br />
<br />
<br/><!--TOC spacing--><br />
__NOTOC__ __TOC__<br />
<br />
==Is it possible to __________?==<br />
:Yes, of course! That's the beauty of an open-source system - virtually any feature or function you want can be added to the hardware and/or software.<br />
<br />
==How can I contribute?==<br />
:See the [[Contributing| how to contribute]] wiki page.<br />
<br />
==What equipment and components are suggested==<br />
:Linux (Debian or Ubuntu) compatible notebook computer, preferably with a very bright screen for outdoor use.<br />
:Most any airframe that will accommodate IR sensors and some extra weight and wiring - ''brushless motors are strongly suggested.'' See the [[Gallery|User's Gallery]] for some airframe examples.<br />
:[[Autopilots|Tiny]] autopilot from one of the [[Get_Hardware|Paparazzi vendors]] or build your own from the downloadable plans/gerbers<br />
:[[Infrared_Sensors|IR sensor (x-y)]] board from one of the [[Get_Hardware|Paparazzi vendors]]<br />
:[[Infrared_Sensors|IR sensor (z)]] board from one of the [[Get_Hardware|Paparazzi vendors]]<br />
:R/C Transmitter with a 3-position switch for selecting Manual/Stabilized/Auto. Some common models are listed in [http://cvs.savannah.gnu.org/viewvc/paparazzi/paparazzi3/conf/radios/ conf/radios]<br />
:R/C Receiver with an accessible PPM signal to tap. See: [[Other_Hardware#R.2FC_Receiver|Suggested R/C receivers]]<br />
:A pair of [[Modems]] along with any enclosures and antennas<br />
:[http://www.mouser.com/search/ProductDetail.aspx?R=TTL-232R-3V3virtualkey62620000virtualkey626-DLP-TTL-232R-3V3 FTDI USB-TTL] cable for connecting the modem to your USB port and/or for serial flashing of bootloader code or tunnel access to the GPS receiver<br />
:A standard [http://www.mouser.com/search/ProductDetail.aspx?R=68806-0019virtualkey53830000virtualkey538-68806-0019 Mini-B USB cable] and [http://www.mouser.com/search/productdetail.aspx?R=500075-0517virtualkey53810000virtualkey538-500075-0517 receptacle] for uploading firmware to the autopilot<br />
:Lots of [[Other_Hardware#Wiring|very durable wire, crimpers, and molex pins or pre-crimped wire.]]<br />
<br />
==Are internal combustion engines supported?==<br />
:Yes, not relying solely on inertial measurement, the Paparazzi system is very well suited for aircraft with high vibration levels. Care must be taken to prevent oily exhaust residue buildup on the IR sensors and a simple variable must be added to properly address the special idle/kill needs of an IC engine.<br />
<br />
==Can Paparazzi fly a glider?==<br />
:Sure. Paparazzi uses throttle and pitch to control climb rate by default. You can fit an airspeed sensor and adjust your airframe configuration to maintain airspeed instead.<br />
<br />
==Will the autopilot provide enough 5V power for many/large/digital servos as well as a modem, video TX, etc.?==<br />
:The [[Tiny]] includes a high capacity and high efficiency switching voltage regulator intended to power servos, modems, video systems and other payloads. This regulator should be preferred to power the servos rather than a linear regulator. While linear regulators may be rated for several amps, they require a great deal of cooling and can easily overheat with only a few hundred milliamps of continuous current without cooling. By comparison, the switching regulator included on the Tiny can work continuously at 2A with little or no cooling. Be careful using high power or digital servos consuming a lot of current. If you use four or more of them on your airframe it is recommended to supply them separately. It is important to realize that the servos in any stabilized aircraft will operate continuously. Therefore a power supply that powers the servos reliably in manual flight may easily overheat or produce critical voltage drops in autonomous flight.<br />
<br />
==Do I need a separate battery or regulator to isolate the autopilot, servos, video, modem, etc. from one another?==<br />
:The autopilot processor and sensors are powered by a 3.3V regulator and therefore are rather isolated from voltage fluctuations on the battery or 5V bus.<br />
<br />
==Can I use a Sirf, Trimble, etc. instead of the u-Blox GPS receiver?==<br />
:Yes, but it would require a tremendous amount of work as some of the navigation code is dependent on some of the UBX messages. NMEA does not provide messages in the desired form and substantial calculation would be required for conversion. Any of the other proprietary protocols would work but you would need to write your own protocol handler. u-Blox is one of the most expensive receivers on the market but offers great performance, size, and speed as well as the ability to easily configure the internal Kalman filter parameters to expect significant acceleration in 3-D space - a very important feature. If you find a more capable receiver, let the group know about it, but this is not the place to save $40.<br />
<br />
==Does Paparazzi use DGPS, WAAS, EGNOS, or MSAS?==<br />
:Most modern GPS receivers have the ability to process serial data sent from an external DGPS receiver, but the advent of WAAS/EGNOS has made the early ground-based DGPS transmitters nearly obsolete. The u-Blox GPS receiver supports all common SBAS systems (WAAS, EGNOS, and MSAS), as well as any standard form of external DGPS. It's important to understand that DGPS merely improves the ''accuracy'' of the position estimate by subtracting any static error. The only way to improve the ''precision'' of the GPS is by improving the antenna or the GPS module itself. See [http://en.wikipedia.org/wiki/Accuracy_and_precision Wikipedia:Accuracy and Precsion] for a detailed explanation of these terms.<br />
<br />
==How does the R/C receiver interface with the autopilot?==<br />
:Standard hobby R/C transmitters multiplex up to 9 channels of PWM servo data into a single PPM signal which is encoded onto an FM wave for transmission, this signal is then decoded by the RF section of the R/C receiver back into the original PPM signal containing 9 servo position PWM values. This signal is normally then sent to a demultiplexer (i.e. 4017) where it is separated into 9 individual servo signals on 9 individual pins. The Paparazzi autopilot intercepts the signal between the RF section and the demultiplexer and does its own demultiplexing, filtering, and processing before multiplexing the manual or autonomous servo commands back into a single signal and passing them to the 4017 to be distributed to the servos.<br />
<br />
==Why does Paparazzi tap directly into the R/C receiver instead of using individual servo signals?==<br />
:By connecting directly to the RF section of the R/C receiver we are able to obtain up to 9 channels of R/C servo data from a small, lightweight inexpensive 4 channel receiver with only 3 wires needed to connect the components. Furthermore, the autopilot then has direct access to the raw R/C signal where it can be filtered, evaluated, and assessed for quality. The autopilot can then alert the user of any loss of R/C signal as well as perform any pre-configured autonomous commands in response to a loss of signal.<br />
<br />
==Are PCM or 2.4GHz R/C systems compatible with Paparazzi?==<br />
:Yes. Some receivers have the signal available for tapping into the input pin with success and can thus be modified to get the required PPM signal. A general rule of thumb is that if you see any type of demultiplexer on your R/C receiver, you can look up the data sheet for it and likely tap into the input pin with success. Some information on compatible R/C receivers and how to find the PPM signal of your own receiver is given in the [[Other_Hardware#R.2FC_Receiver|RC receiver]] section.<br />
<br />
:If that's not possible, you can use the available PPM encoder board, to re-multiplex the servo channels into one PPM signal. This seems to be a common solution.<br />
<br />
==What R/C transmitters are compatible?==<br />
:No mixing or programming is done in the transmitter so even the simplest models will suffice but one important requirement is a 3-position switch to select among the three autopilot modes: manual, stabilized only, and fully autonomous. Those handy with electronics can replace a dial with a switch and resistor if needed. The transmitter's PPM values need to be recorded and the channel used to control the autopilot mode must be stated. Some commonly used transmitter configuration files are provided in the [http://cvs.savannah.gnu.org/viewvc/paparazzi/paparazzi3/conf/radios/ conf/radios] folder and the syntax of these files is easy to follow for those using other brands or models.<br />
<br />
==Can a gamepad/joystick be used to control the aircraft through the modem?==<br />
:Yes, the code to do this was written some time ago though it was not tested in flight due to latency concerns with the primitive [[Modems#Coronis_WaveCard|Coronis]] modems used at the time. Any of the [[modems]] currently recommended should work well in this manner but the theoretical reliability is still questionable due to the fact that no interrupt or prioritization structure exists for the telemetry data so any manual control inputs would be lumped in with the rest of the data to be lost or delayed as needed.<br />
<br />
==What do MANUAL/AUTO1/AUTO2 stand for?==<br />
:Those are the three modes that Paparazzi can operate in. MANUAL is for controling your airframe by your Transmitter yourself. Please note that any trims and deflections set in your airframe config file still apply. AUTO1 is stabilized flight, the autopilot will keep the airframe level and stabilized, but you need to steer the airframe youself where you want it to go. AUTO2 is fully autonomous stabilization and navigation, where you do not need steer or anything.<br />
<br />
==What Motor Controllers (ESC) are compatible?==<br />
:Any controller can be used, the exact PWM value that is sent to the controller for 0-100% throttle is completely configurable in the airframe file so all controllers are compatible and any controller will arm properly with or without the use of an R/C transmitter. Upon each boot, the autopilot immediately sends whatever you have defined as 0% throttle (typically around 1200ms) and maintains that signal until a manual or autonomous command is given. Most modern controllers are "auto calibrating" which is an undesirable feature for R/C pilots and even more so for autonomous systems but can be dealt with. The calibration is done by defining the PWM value at boot to be 0% power and then defining some initial arbitrary mid-range value such as 1500ms to be 100% until a higher value is seen. The net result of this behavior is that the motor is given full power at any command above 50% throttle until 100% throttle has actually been commanded at least once. This is not an issue for planes that routinely take off at 100% throttle but can disrupt the throttle tuning and altitude control on any flights where 100% throttle has never been commanded. Castle Creations controllers can be configured for "fixed endpoints" which permanently sets the range to 1250-1850ms providing a consistent and predictable throttle response.<br />
<br />
==Can traditional throttle stick programming be done on the ESC once connected to the autopilot?==<br />
:Yes. If the transmitter is on with the throttle at full or whatever is required for your ESC when the autopilot is first booted, the autopilot will immediately see the manual control signal and the throttle position and pass that along to the ESC as the first value, triggering the programming mode.<br />
<br />
==Does Paparazzi support digital servos?==<br />
:Of course. Digital servos use exactly the same electrical interface as their analog counterparts, the only difference being in the way they control the motor. Analog servos use a '''P'''roportional feedback loop, meaning the voltage sent to the motor is proportional to the difference between the measured and intended position of the arm. Digital servos use a '''P'''roportional + '''D'''erivative ('''PD''') feedback loop. The derivative term considers the current speed and direction of the servo as well as the speed and direction of the pilot's stick command. The derivative term will increase power to the motor if the servo is moving the wrong direction (providing faster direction changes) and will reduce/reverse power if the servo is near it's desired position but moving too fast (reducing overshoot). The net effect of this is that a digital servo can use a much stronger '''P''' term without risk of oscillation and overshoot because the '''D''' term is there to intelligently dampen it as needed and boost it whenever it can.<br />
:How does the inclusion of a '''D''' term make an analog servo become digital? Analog servos use a simple opamp to linearly relate the motor voltage to the difference between the potentiometer reading and PWM signal, whereas digital servos use a microprocessor to analyze the potentiometer position and velocity as well as the current and recent PWM signals to calculate the optimum voltage to send to the motor. <br />
:'''Important:''' Please be aware that autonomous flight involves ''continuous'' movement of all servos. Make sure your power supply is capable of handling this and that your servos are capable of continuous operation without overheating - especially if you use digital servos.<br />
<br />
==Can I solder wires directly to the autopilot instead of using the molex connectors?==<br />
:Yes. All of the molex headers are thru-hole and you can easily solder small gauge wire directly to the pins that protrude from these headers on the back of the board. It's important to note that '''standard servo wire cannot be soldered reliably''' in this fashion - you must use only high-grade wire intended for soldering (no vinyl insulation!). Direct soldering is not recommended, but it is possible ofcourse. See the [[Other_Hardware#Wiring|Wiring]] section for suggested wire types and sources. If you want to go the direct soldering path, be sure to you have '''excellent soldering skills''' and use high quality wiring.<br />
<br />
==What are the paparazzi failsafe features and how do I configure them?==<br />
See [[Failsafe]]<br />
<br />
==Why do I only get a blank (black) GCS==<br />
:The GCS stays blank until you get telemetry messages (either from the real aircraft or simulated) with the correct MD5 checksum meaning the autopilot has the correct and up to date flightplan/airframe/... programmed in it (in case of an MD5 problem you constantly get a lot of warnings in paparazzi center). <br />
:'''Solution''': Probably your telemetry is not set up correctly, this is most likely a [[XBee configuration]] issue.<br />
<br />
==Why do I get a Failure("#of_world:no georef") when trying to load map tiles==<br />
:You get the georef error because the location is not initialized (probably GCS still blank and no aircraft are present). You can't get map tiles for nowhere...<br />
:'''Solution''': Set up your telemetry properly so you get messages from the aircraft OR start a simulation with the appropriate coordinates then load the map tiles.<br />
<br />
==How do I check if my telemetry is working?==<br />
:'''Solution''': Launch the link and messages tools in the Paparazzi Center. You should see the the messages coming in (blinking green) in the messages window.<br />
: If you get an the error ''Failure("Error opening modem serial device : fd < 0 (/dev/ttyUSB0)")'' from ''link'', your modem is either not connected at all, or just available under a different device name. Check if you set the [[Installation#Setting_access_rights_for_USB_download|udev rules]] and if your modem becomes available under the device you set.<br />
: You might need to adjust the device and baud-rate of the link according to your setup, e.g. <tt>link -d /dev/ttyUSB0 -s 57600</tt><br />
: If you're stuck you can make ''link'' very verbose by setting the ''PPRZ_DEBUG'' environment variable to '' '*' ''<br />
<br />
==Why don't I get a GPS position?==<br />
:'''Problem''': Your GPS seems to be working, but you cannot get a valid position fix. Speed and course are displayed correctly, though. Possibly you also see Invalid_argument("Latlong.of_utm") errors on the GCS log.<br />
<br />
This may happen if you have configured the wrong GPS subsystem for your Tiny board.<br />
If you have the LEA-5H module on your Tiny board, but have configured<br />
<tt><subsystem name="gps" type="ublox_utm"/></tt><br />
in your airframe file, this will occur because the 5H module does not support UTM position.<br />
<br />
:'''Solution''': Make sure your GPS is [[GPS#GPS_configuration_using_U-Center|configured]] correctly and change the gps type to "<tt>ublox</tt>" if applicable.<br />
<br />
<br />
|}<br />
<br />
[[Category:User_Documentation]] [[Category:Developer_Documentation]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=Tiny_v2&diff=9903Tiny v22011-08-05T08:56:09Z<p>Aerovista: /* Feature additions : Tiny 2.1 vs Tiny 1.1 */</p>
<hr />
<div>The complete re-design of the popular Tiny autopilot was done on October 9, 2007. The new design is not a bug-fix as no known flaws exist with the current 0.99 and 1.1 versions, so the redesign is performance, easy to use and easy to assemble-oriented !<br />
[[Image:Tiny_v2-1_3D_top.jpg|right|500px|Tiny v2.11 3D top view (18mm GPS antenna)]]<br />
<br />
== Hardware Revision History ==<br />
<br />
{|border="1" cellspacing="0" style="text-align:center" cellpadding="6"<br />
!''Version #''!!''Release Date''!!''Release Notes''<br />
|-<br />
|v2.11||12/2007||Bug fix : GPS Reset pin protection (D2)<br />
|-<br />
|v2.1||10/2007||3.3V regulator type changed, power switch type changed, connectivity improved <br />
|-<br />
|v2.0||06/2007||Initial release of Tiny v2<br />
|}<br />
<br />
<br />
== Features ==<br />
<br />
* Single [http://www.standardics.nxp.com/products/lpc2000/lpc214x LPC2148 MCU]<br />
* 8 x Analog input channels 0V - 3.3V (2 channels with optional on-board resistor bridge)<br />
* 1 x 3.3V TTL UART (5V tolerant)<br />
* 8 x PWM outputs<br />
* 1 x R/C receiver PPM frame input<br />
* 1 x [http://en.wikipedia.org/wiki/Serial_Peripheral_Interface SPI] bus<br />
* 1 x [http://en.wikipedia.org/wiki/I2c I<sup>2</sup>C] bus<br />
* 1 x USB (client)<br />
* Integrated GPS receiver and patch antenna (4Hz update)<br />
* 5v / 2.25A switching power supply (input voltage range 6.1v &rarr; 18v)<br />
* 3.3v / 1A linear regulator<br />
* 3 x status LEDs with attached test point<br />
* 24 grams (with LEA-4P GPS and 18mm GPS antenna)<br />
* 70.8 x 40mm (smaller then a banking card)<br />
* 2 layers PCB design, 0603 components<br />
<br />
<gallery><br />
Image:Tiny_v2-1_3D_top.jpg|Tiny v2.1 3D top view (18mm GPS antenna)<br />
Image:Tiny_v2-1_3D_bottom.jpg|Tiny v2.1 3D bottom view<br />
Image:Tiny_2_1_top_side.jpg|Tiny v2.1 top side view (13mm GPS antenna)<br />
Image:Tiny_2_1_bottom_side.jpg|Tiny v2.1 bottom side view<br />
</gallery><br />
<br />
The Tiny v2.1 autopilot uses a single Philips LPC2148 ARM7 based microcontroller.<br />
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.<br />
<br />
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.<br />
<br />
=== Feature additions : Tiny 2.1 vs Tiny 1.1 ===<br />
<br />
* Hardware flow control on the modem<br />
: The LPC has one "full-featured" serial port and one basic serial port.<br />
::Tiny v1.1 had the full-featured port hard-wired to the GPS in order to leave the basic port open for initial bootloader programming.<br />
::Tiny v2.1 exchange these ports and use the GPS Reset signal to "disconnect" the GPS for the one-time bootloader programming. Hardware flow control on the modem is now possible.<br />
<br />
* 5V switching power supply<br />
::The Texas Instruments [http://focus.ti.com/docs/prod/folders/print/pth08080w.html PTH08080WAH] switching 5V/2.25A integrated power supply module greatly simplify manufacturing, reduce costs, and improve performance.<br />
::Tiny v2.1 have a voltage input range of 6.1V &rarr; 18V and enough 5V power for servos, high-power modems and video systems. Be careful using large or digital servos consuming a lot of current. If you use four or more of them on your airframe it is recommended to supply them separately.<br />
<br />
* 3.3V linear regulator<br />
:Tiny v2.1 use a [http://www.national.com/mpf/LM/LM3940.html LM3940] 1A regulator for 5V to 3.3V conversion in a SOT223 standard pinout package which is capable of providing plenty of power to modems or other devices.<br />
:Tests have shown that any device with irregular power consumption can cause significant voltage fluctuations on the critical 3.3V bus.<br />
:Users are advised to use a separate regulator as needed for such devices.<br />
<br />
* Video/payload power switch.<br />
:The TPS1100 transistor used on the Tiny v1.1 design has proven extremely useful but is intended for high-speed power switching of motor controllers and occupies a 5mm x 6mm space (SOIC-8).<br />
:The replacement on the new Tiny v2.1 is a current-limiting switch TPS2051B intended for peripheral power control and should protect the 5V supply from voltage sags during the power-up of high capacitance peripherals as well as allow the 5V supply to continue working in the event of a complete short-circuit in the payload.<br />
:: [http://www.digikey.com/scripts/DkSearch/dksus.dll?PName?Name=296-21265-1-ND&Site=US TPS2051BDBVR] Single 500mA (1A limited) switch in a 3mm x 3mm SOT23-5 package<br />
<br />
* GPS ground plane and antenna <br />
:The 13mm antenna on previous Tiny v1.1 proved to be an unworthy exchange of performance for weight. Crude parking-lot tests showed an approximate 3dBi loss (as expected from the data sheets), but the narrow bandwidth of the small antenna made it more sensitive to de-tuning from nearby components in the aircraft. Flight performance was acceptable but poor climb rate calculations were observed with the smaller antenna. Tiny 1.1 users are advised to fit a 20mm antenna.<br />
::Tiny v2.1 use a 18mm x 4mm antenna (20mm x 4mm is possible but no more available) and feature 30% more ground plane area (40 x 40mm).<br />
<br />
* GPS Reset<br />
:Occasionally the GPS fails to boot properly, displays very poor S/N ratios, and fails to obtain a valid fix. This may be caused by a slow power-up of the 5V or 3V regulators, or by some unusual EMI that is only present at boot. Usually a simple power cycle will correct the problem but occasionally the receiver seems to use the backup battery to retain the bad state.<br />
:: On the Tiny v2.1 design GPS reset is connected to a GPIO pin on the MCU and allow the operator to reset the GPS as needed.<br />
<br />
*Headers<br />
:Tiny v2.1 feature revised header layouts on all peripherals.<br />
::*The modem header have CTS/RTS/DTR and both 5V and 3.3V supplies.(3.3V is shared with LPC and ADC channels - use with caution and only with very low power modems like the 10mW Xbee).<br />
::*The Tiny v1.1 button is removed and it's function is combined on the USB header along with a LED trigger so that indicator, button, and USB can be remotely mounted.<br />
::* Vertical Infrared (1 ADC) with 3.3v supply<br />
::* Horizontal Infrared (2 ADC) with 3.3v supply<br />
::* 2 general purpose ADC with both 3.3v and 5v supplies<br />
::* 2 general purpose ADC with optional on-board resistor bridge and both 3.3v and 5v supplies<br />
::* Two axis Camera control with two servo signal, vdo switch control, vdo power switch and both 5V and 3.3V supplies<br />
::* SPI bus with 3.3V supply<br />
::* I2C bus with both 5V and 3V supplies<br />
<br />
* Leds & testpoints<br />
:3 status LEDs with attached test point available on Tiny v2.1 design (instead 2 on Tiny v1.1)<br />
<br />
* Components size<br />
:Many users (not only beginners) don't really think that 0402 components on Tiny v1.1 is a great saving from any viewpoint. Even if one saves a little space by using these components, there must still be enough room around to solder it by hand with a soldering iron.<br />
:Tiny v2.1 use 0603 components, the assembly should be a bit more friendly to everyone.<br />
<br />
* Layers amount<br />
:Tiny v2.1 2 Layer design (instead 4 Layers on Tiny v1.1) should simplify manufacturing and reduce costs.<br />
<br />
== Architecture ==<br />
[[Image:Tiny_v2_Architecture.png]]<br />
<br />
== Pinout ==<br />
Pins Name and Type are specified with respect to the Autopilot Board<br />
<br />
[[Image:Tiny_v2-1_pinout.png]]<br />
<br />
<br />
{|border="1" cellspacing="0" style="text-align:center" cellpadding="6"<br />
|+'''SERIAL'''<br />
!''Pin #''!!width="80"|''Name''!!''Type''!!width="500"|''Description''!!width="50"|''Suggested Color''<br />
|-<br />
|1||GND||PWR||common ground||style="background:black; color:white"|Black<br />
|-<br />
|2|| +5V||PWR||5V Rail from Tiny||style="background:Orange; color:white"|Orange<br />
|-<br />
|3|| +3.3V||PWR||3.3V Rail from Tiny||style="background:Red; color:white"|Red<br />
|-<br />
|4||DTR|| || ||<br />
|-<br />
|5||CTS|| || || <br />
|-<br />
|6||RTS|| || ||<br />
|-<br />
|7||RXD1||IN||UART1 Serial Input (3.3V level, 5V Tolerant)||style="background:green; color:white"|Green<br />
|-<br />
|8||TXD1||OUT||UART1 Serial Output (3.3V level)||style="background:blue; color:white"|Blue<br />
|}<br />
<br />
<br />
{|border="1" cellspacing="0" style="text-align:center" cellpadding="6"<br />
|+'''SPI'''<br />
!''Pin #''!!width="80"|''Name''!!''Type''!!width="500"|''Description''!!width="50"|''Suggested Color''<br />
|-<br />
|1||GND||PWR||common ground||style="background:black; color:white"|Black<br />
|-<br />
|2|| +3.3V||PWR||3.3V Rail from Tiny||style="background:red; color:white"|Red<br />
|-<br />
|3||SSEL||IN||SSP Slave Select. Selects the SSP interface as a slave (SSEL1)||style="background:sienna; color:white"|Brown<br />
|-<br />
|4||MOSI||I/O||SPI1 Master Out Slave In. Data output from master or data input to slave||style="background:Grey; color:white"|Grey<br />
|-<br />
|5||MISO||I/O||SPI1 Master In Slave Out. Data input to master or data output from slave||style="background:Green; color:white"|Green<br />
|-<br />
|6||DRDY||IN||External interrupt 0 input (EINT0)||style="background:Purple; color:white"|Purple<br />
|-<br />
|7||SCK||I/O||SPI0 Serial clock. Clock output from master or input to slave||style="background:Yellow; color:black"|Yellow<br />
|}<br />
<br />
<br />
{|border="1" cellspacing="0" style="text-align:center" cellpadding="6"<br />
|+'''PPM'''<br />
!''Pin #''!!width="80"|''Name''!!''Type''!!width="500"|''Description''!!width="50"|''Suggested Color''<br />
|-<br />
|1||GND||PWR||common ground||style="background:black; color:white"|Black<br />
|-<br />
|2|| +5v||PWR||5V Rail from Tiny to R/C receiver supply||style="background:Orange; color:white"|Orange<br />
|-<br />
|3||PPM_IN||IN||PPM Stream from R/C Receiver (5V tolerant)||style="background:white; color:black"|White<br />
|-<br />
|4||SERV_RST||OUT||external PPM decoder reset ''(Note 1)''||<br />
|-<br />
|5||SERV_CLK||OUT||external PPM decoder clock ''(Note 1)''||<br />
|}<br />
''Note 1 : Used only if servos are connected to the R/C receiver''<br />
<br />
<br />
{|border="1" cellspacing="0" style="text-align:center" cellpadding="6"<br />
|+'''USB'''<br />
!''Pin #''!!width="80"|''Name''!!''Type''!!width="500"|''Description''!!width="50"|''Suggested Color''<br />
|-<br />
|1||GND||PWR||common ground||style="background:black; color:white"|Black<br />
|-<br />
|2|| +3.3V||PWR||3.3V Rail from Tiny||style="background:red; color:white"|Red<br />
|-<br />
|3||USB+||I/O||USB bidirectional D+ line||style="background:green; color:white"|Green<br />
|-<br />
|4||USB-||I/O||USB bidirectional D- line||style="background:white; color:black"|White<br />
|-<br />
|5||VBUS||IN||Indicates the presence of USB bus power (P0.23) (5V level)||style="background:orange; color:white"|Orange<br />
|-<br />
|6||BUTTON||IN||External Button (+3.3v pullup)||<br />
|-<br />
|7||LED3||OUT||GPIO (LED #3 command)||<br />
|-<br />
|8||ADC_7||IN||Analog to Digital Converter Input #7||<br />
|}<br />
<br />
<br />
{|border="1" cellspacing="0" style="text-align:center" cellpadding="6"<br />
|+'''IRV'''<br />
!''Pin #''!!width="80"|''Name''!!''Type''!!width="500"|''Description''!!width="50"|''Suggested Color''<br />
|-<br />
|1||GND||PWR||common ground||style="background:black; color:white"|Black<br />
|-<br />
|2|| +3.3V||PWR||3.3V Rail from Tiny||style="background:red; color:white"|Red<br />
|-<br />
|3||IRV||IN||Vertical IR Sensor signal (Analog to Digital Converter Input #0)||style="background:Purple; color:white"|Purple<br />
|}<br />
<br />
<br />
{|border="1" cellspacing="0" style="text-align:center" cellpadding="6"<br />
|+'''IRH'''<br />
!''Pin #''!!width="80"|''Name''!!''Type''!!width="500"|''Description''!!width="50"|''Suggested Color''<br />
|-<br />
|1||GND||PWR||common ground||style="background:black; color:white"|Black<br />
|-<br />
|2|| +3.3V||PWR||3.3V Rail from Tiny||style="background:red; color:white"|Red<br />
|-<br />
|3||IRH_2||IN||Horizontal IR Sensor signal axis 2 (Analog to Digital Converter Input #2)||style="background:Grey; color:white"|Grey<br />
|-<br />
|4||IRH_1||IN||Horizontal IR Sensor signal axis 1 (Analog to Digital Converter Input #1)||style="background:Sienna; color:white"|Brown<br />
|}<br />
<br />
<br />
{|border="1" cellspacing="0" style="text-align:center" cellpadding="6"<br />
|+'''ADC1'''<br />
!''Pin #''!!width="80"|''Name''!!''Type''!!width="500"|''Description''!!width="50"|''Suggested Color''<br />
|-<br />
|1||GND||PWR||common ground||style="background:black; color:white"|Black<br />
|-<br />
|2|| +5v||PWR||5V Rail from Tiny||style="background:Orange; color:white"|Orange<br />
|-<br />
|3|| +3.3V||PWR||3.3V Rail from Tiny||style="background:red; color:white"|Red<br />
|-<br />
|4||ADC_4||IN||Analog to Digital Converter Input #4||<br />
|-<br />
|5||ADC_3||IN||Analog to Digital Converter Input #3||<br />
|}<br />
<br />
<br />
{|border="1" cellspacing="0" style="text-align:center" cellpadding="6"<br />
|+'''ADC2'''<br />
!''Pin #''!!width="80"|''Name''!!''Type''!!width="500"|''Description''!!width="50"|''Suggested Color''<br />
|-<br />
|1||GND||PWR||common ground||style="background:black; color:white"|Black<br />
|-<br />
|2|| +5v||PWR||5V Rail from Tiny||style="background:Orange; color:white"|Orange<br />
|-<br />
|3|| +3.3V||PWR||3.3V Rail from Tiny||style="background:red; color:white"|Red<br />
|-<br />
|4||ADC_6||IN||Analog to Digital Converter Input #6 (Maximum input level can be selected with R12 value)||<br />
|-<br />
|5||ADC_5||IN||Analog to Digital Converter Input #5 (Maximum input level can be selected with R13 value)||<br />
|}<br />
<br />
<br />
{|border="1" cellspacing="0" style="text-align:center" cellpadding="6"<br />
|+'''DOWNLOAD'''<br />
!''Pin #''!!width="80"|''Name''!!''Type''!!width="500"|''Description''!!width="50"|''Suggested Color''<br />
|-<br />
|1||GND||PWR||common ground||style="background:black; color:white"|Black<br />
|-<br />
|2|| +5v||PWR||5V Rail from Tiny||style="background:Orange; color:white"|Orange<br />
|-<br />
|3|| +3.3V||PWR||3.3V Rail from Tiny||style="background:red; color:white"|Red<br />
|-<br />
|4||BOOT||IN||In-Circuit Serial Programming (ISP) enable (P0.14, +3.3v pullup) ''(Note 2)''||<br />
|-<br />
|5||GPS_RESET||IN||leave unconnected, hold this pin low only for bootloader programming||<br />
|-<br />
|6||TXD0||OUT||UART0 Serial Output (shared with GPS receiver)||style="background:blue; color:white"|Blue<br />
|-<br />
|7||RXD0||IN||UART0 Serial Input (shared with GPS receiver)||style="background:green; color:white"|Green<br />
|}<br />
''Note 2 : Holding this pin low for at least 3mS after a RESET (or power up) instructs the controller to enter programming mode.''<br />
<br />
<br />
{|border="1" cellspacing="0" style="text-align:center" cellpadding="6"<br />
|+'''I2C'''<br />
!''Pin #''!!width="80"|''Name''!!''Type''!!width="500"|''Description''!!width="50"|''Suggested Color''<br />
|-<br />
|1||GND||PWR||common ground||style="background:black; color:white"|Black<br />
|-<br />
|2|| +5V||PWR||5V Rail from Tiny||style="background:Orange; color:white"|Orange<br />
|-<br />
|3|| +3.3V||PWR||3.3V Rail from Tiny||style="background:red; color:white"|Red<br />
|-<br />
|4||SDA||I/O||I2C bus Serial DAta||<br />
|-<br />
|5||SCL||I/O||I2C bus Serial CLock||<br />
|}<br />
<br />
<br />
{|border="1" cellspacing="0" style="text-align:center" cellpadding="6"<br />
|+'''CAM'''<br />
!''Pin #''!!width="80"|''Name''!!''Type''!!width="500"|''Description''!!width="50"|''Suggested Color''<br />
|-<br />
|1||GND||PWR||common ground||style="background:black; color:white"|Black<br />
|-<br />
|2|| +5V||PWR||5V Rail from Tiny||style="background:Orange; color:white"|Orange<br />
|-<br />
|3|| +3.3V||PWR||3.3V Rail from Tiny||style="background:red; color:white"|Red<br />
|-<br />
|4||CAM_SW||OUT||video source/payload selection signal||<br />
|-<br />
|5||SRV_1||OUT||Servo PWM signal #1||<br />
|-<br />
|6||SRV_5||OUT||Servo PWM signal #5||<br />
|-<br />
|7||AUX||PWR||video/payload switchable 5V power suply||<br />
|}<br />
<br />
<br />
== Schematic ==<br />
[[Image:Tiny v2-1 Schematic.png|left|900px|Tiny v2.11 Schematic]]<br />
<br style="clear:both"><br />
<br />
<br />
== PCB ==<br />
<gallery><br />
Image:Tiny_v2-1_PCB_top.jpg|Tiny v2.1 PCB top side view (Olimex)<br />
Image:Tiny_v2-1_Top_Copper.png|Tiny v2.11 PCB top copper<br />
Image:Tiny_v2-1_PCB_bottom.jpg|Tiny v2.1 PCB bottom side view (Olimex)<br />
Image:Tiny_v2-1_Bottom_Copper.png|Tiny v2.11 PCB bottom copper<br />
</gallery><br />
<br />
=== Gerber & Drill Files ===<br />
<br />
''Download [[Media:Gerber_for_Tiny_v2-11.zip|Tiny v2.11 gerber & drill files (zip)]]''<br />
<br />
RS274X, units = Inches, format = 2:5<br />
<br />
:*Tiny_v2-11.GTO (Top Component Print Layer)<br />
:*Tiny_v2-11.GTS (Top Solder Mask)<br />
:*Tiny_v2-11.GTL (Top Copper Layer)<br />
:*Tiny_v2-11.GBL (Bottom Copper Layer)<br />
:*Tiny_v2-11.GBS (Bottom Solder Mask)<br />
:*Tiny_v2-11.DRI (NC XY coordinates & Drill tools sizes)<br />
<br />
<br />
== Assembly ==<br />
Have a look at the [[Tiny_Assembly]] for assembly hints.<br />
===Components Layout===<br />
<gallery><br />
Image:Tiny_v2-1_2D_top.jpg|Tiny v2.11 top components Layout<br />
Image:Tiny_v2-1_2D_bottom.jpg|Tiny v2.11 bottom components Layout<br />
Image:Tiny_v2-1_Top_Components.png|Tiny v2.11 top components details<br />
Image:Tiny_v2-1_Bottom_Components.png|Tiny v2.11 bottom components details<br />
</gallery><br />
<br />
=== Bill Of Material ===<br />
Download ''[[Media:Tiny_v2-11_BOM.zip|Tiny v2.11 Bill Of Material (zipped .xls file)]]''<br />
<br />
<br />
{|border="1" cellspacing="0" style="text-align:center" cellpadding="2" valign="top"<br />
|-style="background:LightYellow; color:black"<br />
!''Qty''!!''Manufacturer part #''!!width="150pt"|''Schematic part name / value''!!''Designator''!!width="150pt"|''Description''!!''Manufacturer''!!''Package''!!''Optional''!!''Digikey.com''!!width="150pt"|''Other distributor''<br />
|-style="background:WhiteSmoke; color:black"<br />
|colspan="10" align="left"|''Resistors''<br />
|-<br />
|2||ERJ-3EKF33R0V||33||R21, R22||1/16W, 5%||Panasonic||0603||||P33HCT-ND||<br />
|-<br />
|2||ERJ-3EKF1000V||100||R5, R24||1/16W, 5%||Panasonic||0603||||P100HCT-ND||<br />
|-<br />
|1||ERJ-3EKF3300V||330||R4||1/16W, 5%||Panasonic||0603||||P330HCT-ND||<br />
|-<br />
|3||ERJ-3EKF1001V||1K||R16, R17, R23||1/16W, 5%||Panasonic||0603||||P1.00KHCT-ND||<br />
|-<br />
|3||ERJ-3EKF1501V||1.5K||R2, R19, R20||1/16W, 5%||Panasonic||0603||||P1.50KHCT-ND||<br />
|-<br />
|2||ERJ-3EKF1801V||1.8k ''(see note1)''||R13,R18||1/16W, 5%||Panasonic||0603||||P1.8KHCT-ND||<br />
|-<br />
|3||ERJ-3EKF3301V||3.3K||R3, R14, R15||1/16W, 5%||Panasonic||0603||||P3.3KHCT-ND||<br />
|-<br />
|7||ERJ-3EKF1002V||10K||R1, R6 to R11||1/16W, 5%||Panasonic||0603||||P10.0KHCT-ND||<br />
|-<br />
|1||ERJ-3EKF1502V||15K ''(see note2)''||R12||1/16W, 5%||Panasonic||0603||||P15.0KHCT-ND||<br />
|- style="background:WhiteSmoke; color:black"<br />
|colspan="10" align="left"|''Capacitors''<br />
|-<br />
|5||C0603C180J5GAC||18pF||C22, C26 to C29||50V, 5%||Kemet||0603||||399-1052-1-ND||<br />
|-<br />
|19||C0603C104K5RAC||100nF||C2 to C20||50V, 10%||Kemet||0603||||399-5089-1-ND||<br />
|-<br />
|2||T520A336M006ATE070||33uF/6V||C24, C25||SMD tantalum capacitor||Kemet||A case (EIA 3216-18)||||399-4719-1-ND||<br />
|-<br />
|2||TAJD107K020R||100uF/20V||C1, C21||SMD tantalum capacitor||AVX Corp.||D case (EIA 7343-31)||||478-1724-1-ND||<br />
|-<br />
|1||EEC-EN0F204JK||0.2F||C23||SMD double layer capacitor (Goldcap)||Panasonic||specific||||P11070CT-ND||<br />
|-<br />
|colspan="10" align="left" style="background:WhiteSmoke; color:black"|''Inductors''<br />
|-<br />
|1||MLF2012DR47K||0.47uH||L1||SMD Inductor||TDK||0805||||445-1043-1-ND||<br />
|- style="background:WhiteSmoke; color:black"<br />
|colspan="10" align="left"|Semiconductors<br />
|-<br />
|2||1PS79SB10||1PS79SB10||D1, D2||Schottky diode 0.2A/30v||NXP||SOD523 (EIA SC79)||||1PS79SB10 T/R-ND||<br />
|-<br />
|1||LM3940IMP-3.3||LM3940IMP-3.3||IC3||1A low dropout regulator for 5V to 3.3V conversion||National Semic.||SOT223||||LM3940IMP-3.3CT-ND||<br />
|-<br />
|1||TPS2051BDBV||TPS2051B||IC4||Current Limited Power Distribution Switch||Texas Instr.||SOT23-5||''yes''||296-21265-1-ND||<br />
|-<br />
|1||LPC2148FBD64||LPC2148FBD64||IC5||Single-chip ARM7 32-bit microcontroller||NXP||LQFP64||||568-1765-ND||<br />
|-<br />
|1||CD4017BPW||4017||IC6||Decade Counter/Divider with 10 Decoded Outputs||Texas Instr.||TSSOP16||||296-14252-1-ND||<br />
|-<br />
|1||APT1608MGC||KP-1608MGC||LED1||SMD Chip Green LED Lamp ||Kingbright||0603||||754-1118-1-ND||<br />
|-<br />
|1||APT1608SURCK||KP-1608SURC||LED2||SMD Chip Red LED Lamp ||Kingbright||0603||''yes''||754-1123-1-ND||<br />
|-<br />
|1||APT1608SYCK||KP-1608SYC||LED3||SMD Chip Yellow LED Lamp ||Kingbright||0603||''yes''||754-1124-1-ND||<br />
|-<br />
|1||BC807-40||BC807||T1||PNP general purpose transistor||NXP||SOT23||||568-1629-1-ND||<br />
|- style="background:WhiteSmoke; color:black"<br />
|colspan="10" align="left"|''Modules''<br />
|-<br />
|1||PTH08080WAH||PTH_08080W||IC1||Wide-input adjustable switching regulator||Texas Instr.||specific||||296-20432-ND||<br />
|-<br />
|1||LEA-4P-0-000-0 ||LEA_4P||IC2||GPS receiver||ublox||specific||||''N/A''||(u-blox.com, ''see note 3'')<br />
|- style="background:WhiteSmoke; color:black"<br />
|colspan="10" align="left"|''Connectors''<br />
|-<br />
|7||53047-0310 ||SRV0, SRV4, SRV2, SRV6, IRV, SRV3, SRV7||J12 to J18||Picoblade 3 pins 1.25mm straight header||Molex||specific||||WM1732-ND||<br />
|-<br />
|1||53047-0410||IRH||J11||Picoblade 4 pins 1.25mm straight header||Molex||specific||||WM1733-ND||<br />
|-<br />
|4||53047-0510||PPM,I2C,ADC2,ADC1||J4, J6, J8, J10||Picoblade 5 pins 1.25mm straight header||Molex||specific||''J6,J8,J10''||WM1734-ND||<br />
|-<br />
|3||53047-0710||SPI,CAM,DOWNLOAD||J3, J5, J7||Picoblade 7 pins 1.25mm straight header||Molex||specific||''J3,J5''||WM1736-ND||<br />
|-<br />
|2||53047-0810||SERIAL,USB||J2, J9||Picoblade 8 pins 1.25mm straight header||Molex||specific||||WM1737-ND||<br />
|- style="background:WhiteSmoke; color:black"<br />
|colspan="10" align="left"|''Other''<br />
|-<br />
|1||405C35B12M00000||CTS405 12MHz||Q1||SMD 12MHz Quartz Crystal||CTS||specific||||CTX639CT-ND||<br />
|-<br />
| rowspan="2"|1||KSA-ST1580MS18||rowspan="2"|KSA-ST1580MS18||rowspan="2"|A1||rowspan="2"|18x18mm ceramic Patch Antenna||Sangshin||rowspan="2"|specific||rowspan="2"|-||rowspan="2"|''N/A''||KSA-ST1580MS18 (rfmw.com)<br />
|-<br />
|ANA1580T18D4||Emtac||ANA1580T18D4 (transplantgps.com)<br />
|}<br />
<br />
<br />
Note 1 :<br />
R13 calculated according attached ADC5 desired input level :<br />
:*3.3v &rArr; 0<br />
:*5v &rArr; 1.8k (default)<br />
:*8v &rArr; 4.7k <br />
:*13v &rArr; 10k<br />
:*18v &rArr; 15K<br />
:*Other &rArr; R13 = (Vin - 3.3) x 1000<br />
<br />
Note 2 :<br />
R12 calculated according attached ADC6 desired input level :<br />
:*3.3v &rArr; 0<br />
:*5v &rArr; 1.8k<br />
:*8v &rArr; 4.7k <br />
:*13v &rArr; 10k<br />
:*18v &rArr; 15K (default)<br />
:*Other &rArr; R13 = (Vin - 3.3) x 1000<br />
<br />
Note 3 :<br />
For sales make contact with Ublox distributor in the appropriate region (http://www.u-blox.com/disti/index.html)<br />
Remark: u-blox are strictly controlling their GPS Chips right now, for some reason! They will refer you to get one on their website, which is $99.<br />
<br />
== PCB and assembled boards suppliers ==<br />
<br />
For private companies and enthusiast Paparazzi hardware suppliers, see [[Get_Hardware|Get Hardware]] page.<br />
<br />
<br />
== Downloads ==<br />
<br />
<br />
'''Source files'''<br />
:*download ''[[Media:Tiny_v2-11_Protel_design.zip|Tiny v2.11 Protel 99SE SP6 design (zipped Protel 99 ddb file)]]''<br />
'''Gerber & Drill files'''<br />
:*download ''[[Media:Gerber_for_Tiny_v2-11.zip|Tiny v2.11 gerber & drill files (zip)]]''<br />
'''Assembly files'''<br />
:*download ''[[Media:Tiny_v2-11_Components_layouts.pdf|Tiny v2.11 Components layouts (pdf)]]''<br />
:*download ''[[Media:Tiny_v2-11_BOM.zip|Tiny v2.11 Bill Of Material (zipped .xls file)]]''<br />
<br />
<br />
== Programming ==<br />
[[Image:Tiny211program.jpg|thumb|Example wiring for programming and telemetry]]<br />
The Philips LPC21xx series ARM7 microcontrollers include hardware ISP (InCircuit Serial Programming) and can be programmed through the serial interface UART0 (labled "download" on the PCB) by holding pin P0.14 (count 4 pins in from outside of PCB on download connector) low during power-up and until USB boot code programming is completed. Note this is a 1x operation usually done by the person supplying the Tiny v2 autopilot so you may want to ask if this was done from your Tiny v2 vendor.<br><br />
<br />
Once the USB boot code is loaded (see above) the Paparazzi software includes a USB bootloader program that allows for easy 1-second programming through a standard USB port (labeled "USB" on the PCB) with only a USB to Tiny Molex 8-pin adapter cable needed. Using either the GUI (paparazzi) or command line arguments you can now upload new settings, flight plans, or software updates quickly and conveniently.<br />
<br />
See the [[Compiling|Compiling and Flashing]] page for more detailed instructions on installing the bootloader and autopilot software.<br />
===Shortcuts===<br />
*[[USB_Boot_Loader]]<br />
*[[Tunnel]]<br />
*[[GPS_CONFIG]]<br />
<br />
[[Category:Hardware]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=Gallery&diff=9891Gallery2011-08-03T15:58:06Z<p>Aerovista: /* User's Aircraft Gallery */</p>
<hr />
<div>== User's Gallery ==<br />
=== User's Aircraft Gallery ===<br />
{|<br />
|-valign="top"<br />
|<br />
<gallery caption="Paparazzi Aircraft"><br />
Image:early_twinstar.jpg|<b>Early Twinstar</b><br>Antoine Drouin and Pascal Brisset<br />
Image:glotzer.jpg|<b>Glotzer</b><br>Martin Mueller and Christian Lindenberg<br />
Image:Dragonfly_0626.jpg|<b>Dragonfly</b><br>University of Arizona<br>Span 30cm, mass 220g<br />
Image:DragonSlayer_0948sm.jpg|<b>Dragon Slayer</b><br>Miraterre Flight Systems<br>Span 33cm, mass 300g<br />
Image:Twinstar_2_Twinjet_night.JPG|<b>Night-equipped Twinstar and Twinjet</b><br>Antoine Drouin and Pascal Brisset<br />
Image:Orange_One_0999.jpg|<b>M.A.C. Orange One</b><br>Martin Mueller and Christian Lindenberg<br />
Image:slayer_twinstar_ii.jpg|<b>Slayer and Twinstar</b><br>The Twinstar performs an autonomous aerial launch of the Slayer<br />
Image:Sephiroth_Pre-Paparazzi.jpg|<b>Sephiroth</b><br>P-51 Mustang, off-board video processing for horizon-based stabilization<br />
Image:Triple-X.JPG|<b>Triple-X Prototype</b><br>Miraterre Flight Systems<br>Span 90cm, mass 1400g<br />
Image:Cybereye.jpg|<b>CyberEye</b><br>Miraterre Flight Systems<br>Span 130cm, mass 2kg<br />
Image:osamuavs.jpg|<b>Two Zagi's, and Aggiebird</b><br>Wing Spans 48", 60", and 100"<br> OSAM-UAV Team <br />
Image:NoVa1.jpg|<b>NoVa Quadrotor</b><br>AJ Kochevar<br> Attitude Stabilized quadrotor using Tiny 2.0 <br />
Image:nirvana.jpg|<b>Nirvana</b><br>The 3 Minimag used at the LAAS-CNRS Laboratory<br />
Image:PPZFJ01.JPG| <b>FJ1</b><br>The PPZUAV project aircraft and demo<br />
Image:Paparazzitelema1.jpg | <b>Telemaster</b><br> Autonomous platform to get used to the system<br />
Image:Easystar cropped w800.JPG| <b> John Burt</b><br> tested and flying<br />
Image:UAV.JPG|<b>Luke Ionno</b><br> over at rcgroups<br />
Image:Mentor.JPG|<b>Multiplex Mentor</b><br>Joekadet, 7 flights, Auto2 working now.<br />
Image:Azorean_UAV_01.jpg|<b>Twinstar II</b><br>[[Rui Costa]]<br>Azores - Portugal.<br />
Image:Y-UAV1.JPG|<b>Y-UAV</b><br> [http://www.y-uav.com Home Page]<br>Meilen - Switzerland.<br />
Image:UMARS.JPG|<b>UMARS</b><br> [http://www.imes.zhaw.ch/de/engineering/imes/projekte/leichtbautechnik/umars/projektbeschreibung.html Home Page]<br>Winterthur - Switzerland.<br />
Image:eHawk.JPG|<b>eHawk</b><br>R. Büttner<br>Meilen - Switzerland.<br />
Image:TwinStar_stspies1.JPG|<b>TwinStar II</b><br>[http://paparazzi.enac.fr/wiki/User:Stspies Steffen]<br>Germany.<br />
Image:Mentormaur.jpg|<b>Multiplex Mentor</b><br>R. Maurer<br>Bottighofen - Switzerland.<br />
Image:Cougar.JPG|<b>Cougar</b><br>R. Büttner<br>Meilen - Switzerland.<br />
</gallery><br />
|<br />
<br />
|}<br />
<br />
==Video==<br />
<br />
[http://www.youtube.com/watch?v=M1k_TLcQ2ic Micro UAV climbing to 1500m on Spitsbergen/Arctic]<br />
<br />
[http://www.youtube.com/user/aerovistapunktch#p/u/3/7OCcMA4vluM Desktop Record GCS Y-UAV]<br />
<br />
[http://www.youtube.com/user/aerovistapunktch#p/u/1/o6auxzO93lU Bungee Launch Y-UAV]<br />
<br />
== Flight competitions ==<br />
=== [http://www.nal.res.in/MAV08/ MAV08] ===<br />
; Agra, India, (March 10th -- 15th, 2008)<br />
Best Mission Performance:<br />
* [http://www.asctec.de/ Ascending Technologies GmbH] Hornet hexa-rotor (MIT) <br />
* Paparazzi Slicer (ENAC)<br />
* Paparazzi Glass One(s) (Martin Mueller Engineering)<br />
* Paparazzi Dragonfly (University of Arizona)<br />
<br />
Best Hover Performance/Rotorcraft:<br />
* [http://www.asctec.de/ Ascending Technologies GmbH] Hornet hexa-rotor (MIT)<br />
* Indian Institute of Technology, Bombay (IITB)<br />
<br />
Best Autonomous Micro Air Vehicle:<br />
* Paparazzi Slicer (ENAC)<br />
<br />
Best Exotic Design Micro Air Vehicle:<br />
* Paparazzi Dragonfly (University of Arizona)<br />
<br />
Best UGV Performance:<br />
* [http://cmr.mech.unsw.edu.au/mavstar/ MAVSTAR] (UNSW)<br />
<br />
{|<br />
|-valign="top"<br />
|<br />
<gallery caption="MAV08, Agra, India"><br />
Image:Slicer.jpg|<b>Slicer</b><br>ENAC<br />
Image:Glassone.jpg|<b>Glass One</b><br><br />
Image:MAVSTAR.jpg|<b>MAVSTAR</b><br><br />
</gallery><br />
|}<br />
<br />
=== MAV07 ===<br />
; Toulouse, France, (September 19th - 22nd, 2007)<br />
* 1st place (shared): Paparazzi ''Dragon Slayer''<br />
* 1st place (shared): Micropilot ''Ping Wing''<br />
* 3rd place : Paparazzi ''Tyto'' (Supaero)<br />
* 4th place : Paparazzi ''MAC 07'' (Martin Mueller Engineering)<br />
* 5th place : Paparazzi ''Storm1'' (Murat Bronz)<br />
{|<br />
|-valign="top"<br />
|<br />
<gallery caption="MAV07, Toulouse"><br />
Image:Slayer-105416sm.jpg|<b>Dragon Slayer</b><br>Miraterre Flight Systems<br />
Image:Twisted_1413sm.jpg|<b>Twisted Logic</b><br>Miraterre Flight Systems<br />
Image:Storm1.jpg|<b>Storm1</b><br>Murat BRONZ<br />
Image:Pingwing.jpg|<b>Ping Wing</b><br>Sweden<br />
Image:Tyto.jpg|<b>Tyto</b><br>Supaero<br />
Image:Redone.jpg|<b>Red One/MAC 07</b><br><br />
</gallery><br />
|}<br />
<br />
=== MAV06 ===<br />
; Sandestin, Florida, USA (October 29th - November 2nd, 2006)<br />
* 1st place : Procerus Kestrel (Bringham Young University)<br />
* 2nd place : Paparazzi ''Dualing Slayers'' (ENAC / Miraterre)<br />
* 3rd place : Paparazzi ''Black One'' ("fake" Martin Mueller Engineering)<br />
{|<br />
|-valign="top"<br />
|<br />
<gallery caption="MAV06, Florida"><br />
Image:MAC-OrangeOne-MAV06.jpg|<b>Orange One</b><br>Martin Mueller and Christian Lindenberg<br />
Image:MAC-BlackOne-MAV06.jpg|<b>Black One</b><br>Martin Mueller and Christian Lindenberg<br />
Image:ENAC-Planning-MAV06.jpg|<b>ENAC Team</b><br />
Image:Slayers-MAV06.jpg|<b>Dragon Slayers</b><br>Slayers acquiring GPS fix<br><br />
Image:Michel_vs_Slayer-MAV06.jpg|<b>Catch!</b><br>Michel bravely catching the Slayer in an autonomous landing<br><br />
Image:BYU-MAV06.jpg|<b>BYU's Winning Design</b><br>BYU used the Procerus Kestrel autopilot<br><br />
</gallery><br />
|}<br />
<br />
=== EMAV2006 ===<br />
; Braunschweig, Niedersachsen, Germany (25-26 July 2006)<br />
* 1st place : Paparazzi ''DragonSlayer/BlackOne/Microjet''<br />
* 2nd place : Paparazzi ''JeanMav360''<br />
<br />
{|<br />
|-valign="top"<br />
|<br />
[[Image:emav2006_paparazzies.jpg|thumb|left|EMAV06 Paparazzi Team]]<br />
<br style="clear:both"><br />
|}<br />
<br />
=== MAV05 ===<br />
; Garmisch-Partenkirchen, Bavaria, Germany (17-23 September 2005)<br />
* 1st place : Paparazzi ''Dragonfly''<br />
* 2nd place : Paparazzi ''Glotzer''<br />
* 3rd place : Paparazzi ''Plaster''<br />
* 4th place : Paparazzi ''Plaster duo''<br />
<br />
{|<br />
|-valign="top"<br />
|<br />
<gallery caption="MAV05, Germany"<br />
Image:MAV05_paparazzies.jpg|<b>The Paparazzi teams in Garmisch</b><br />
Image:mav05_dragonfly.jpg|<b>Dragonfly</b><br>''University of Arizona''<br />
Image:mav05_depronazzi.jpg|<b>Glotzer</b><br>''Martin Mueller and Christian Lindenberg''<br />
Image:mav05_ladybug.jpg|<b>Ladybug</b><br>''ENAC''<br />
Image:mav05_enac.jpg|<b>ENAC Team</b><br />
</gallery><br />
|}<br />
<br />
=== 4eme Journées microdrones ===<br />
; Toulouse, France ( 15 septembre 2004)<br />
* 1st place : Paparazzi ''Microjet''<br />
<br />
{|<br />
|-valign="top"<br />
| [[Image:Paparazzi_Equiped_Aircraft.jpg|thumb|left|Microjet]] <br style="clear:both"><br />
|}<br />
<br />
=== EMAV2004 ===<br />
; Braunschweig, Niedersachsen, Germany (13 July 2004)<br />
* 1st place : Paparazzi ''Microjet''<br />
<br />
{|<br />
|-valign="top"<br />
|<br />
<gallery caption="EMAV2004"><br />
Image:emav04_01.jpg|<b>The Paparazzi team</b><br />
Image:emav04_02.jpg|<b>Spectators</b><br />
Image:emav04_03.jpg|<b>Automatic tracking antenna</b><br />
</gallery><br />
|}<br />
<br />
=== EMAV2003 ===<br />
; Toulouse, France ( 3 october 2003)<br />
* 1st place : Paparazzi ''Twinstar''<br />
<br />
{|-valign="top"<br />
|<br />
<gallery caption="EMAV2003"><br />
Image:emav03_01.jpg|<b>Twinstar ready for flight</b><br />
Image:emav03_02.jpg|<b>Paparazzi team</b><br />
</gallery><br />
|<br />
|}<br />
<br />
== Scientific campaigns ==<br />
<br />
=== FLOHOF 2007 ===<br />
; Around the Hofsjökull glacier, Iceland, (August 2007)<br />
{|<br />
|-valign="top"<br />
|<br />
<gallery caption="FLOHOF 2007, Iceland"><br />
Image:Kerlingafjoll.jpg|Flying southwest of the glacier<br />
Image:High_alt.png|Climb slope<br />
</gallery><br />
|}<br />
<br />
=== THORPEX/Svalbard 2008 ===<br />
; On and around Svalbard, Arctic Sea, (February 25th - March 15th, 2008)<br />
{|<br />
|-valign="top"<br />
|<br />
<gallery caption="THORPEX 2008, Svalbard"><br />
Image:Kv_svalbard_ice.jpg|KV Svalbard<br />
Image:Hangar.jpg|The KV Svalbard hangar<br />
Image:Funjet_spitsbergen.jpg|Flying over the icy sea near Spitsbergen<br />
Image:Waves.jpg|Waves in rough sea<br />
Image:Breaking_ice.jpg|Breaking the ice<br />
Image:Longyearbyen.jpg|Preparing the aircraft<br />
Image:Landing_spitsbergen.jpg|Landing near Longyearbyen<br />
</gallery><br />
|}<br />
<br />
[[Category:Community]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=Users&diff=9890Users2011-08-03T15:55:03Z<p>Aerovista: /* Europe */</p>
<hr />
<div>Please add yourself to this list if you wish to share who you are and what you are doing with Paparazzi<br />
<br />
== Wiki User Pages ==<br />
<br />
{| class="wikitable" style="text-align:center;background:black; color:blue"<br />
|+ User Pages<br />
|-<br />
|- style="background:bisque; color:black"<br />
|[http://paparazzi.enac.fr/wiki/User:Dconger Dconger]<br />
|[http://paparazzi.enac.fr/wiki/User:MarcusWolschon MarcusWolschon]<br />
|[http://paparazzi.enac.fr/wiki/User:Alfamyke Alfamyke]<br />
|[http://paparazzi.enac.fr/wiki/User:Danstah Danstah]<br />
|[http://paparazzi.enac.fr/wiki/User:Martinmm Martinmm]<br />
|- style="background:bisque; color:black"<br />
|[http://paparazzi.enac.fr/wiki/User:John_Burt John Burt]<br />
|[http://paparazzi.enac.fr/wiki/User:SilaS SilaS]<br />
|[http://paparazzi.enac.fr/wiki/User:Mecevans Mecevans]<br />
|[http://paparazzi.enac.fr/wiki/User:CSU-FCUAV CSU-FCUAV]<br />
|[http://paparazzi.enac.fr/wiki/User:GPH Pierre-Selim]<br />
|- style="background:bisque; color:black"<br />
|[http://paparazzi.enac.fr/wiki/User:Martinpi martinpi]<br />
|[http://paparazzi.enac.fr/wiki/User:VAMK VAMK]<br />
|[http://paparazzi.enac.fr/wiki/User:EldenC Elden_Crom]<br />
|[http://paparazzi.enac.fr/wiki/User:Rbdavison Bernard Davison]<br />
|[http://paparazzi.enac.fr/wiki/User:jvs84 U of Arizona Autonomous Glider]<br />
|- style="background:bisque; color:black"<br />
|[http://paparazzi.enac.fr/wiki/User:Marc Marc]<br />
|[http://paparazzi.enac.fr/wiki/User:Bu5hm4nn Bu5hm4nn]<br />
|[http://paparazzi.enac.fr/wiki/User:HWal HWal]<br />
|[http://paparazzi.enac.fr/wiki/User:Aerodolphin Rui Costa]<br />
|[http://paparazzi.enac.fr/wiki/User:Scdwyer Stephen Dwyer]<br />
|- style="background:bisque; color:black"<br />
|[http://paparazzi.enac.fr/wiki/User:PaulCox Paul Cox]<br />
|[http://paparazzi.enac.fr/wiki/User:Bruzzlee Bruzzlee]<br />
|[http://paparazzi.enac.fr/wiki/User:Stspies Stspies]<br />
|[http://paparazzi.enac.fr/wiki/User:Mzr Mzr]<br />
|[http://brquad.blogspot.com AGRESSiVA]<br />
|- style="background:bisque; color:black"<br />
|add yourself here<br />
|<br />
|<br />
|<br />
|<br />
|}<br />
<br />
= Paparazzi Users sorted geographically =<br />
<br />
==Asia==<br />
<br />
<br />
{| class="wikitable" style="text-align:center;background:black; color:blue"<br />
|+ Asia<br />
|-<br />
! Name !! Location !! Hardware !! Joined !! Current activities / project status <br />
|- style="background:bisque; color:black"<br />
| [mailto:zhaojinhust@gmail.com ZHAOJin]|| China || Tiny2.11 ||| 2011|| Just decide to buy the tiny2.11 bundle and get started!<br />
|- style="background:bisque; color:black"<br />
| [mailto:wangcfan@163.com Wangcfan]|| China || Tiny2.11 ||| 2008 || The beginning, is now in learning phase;Learning in Tiny2.11 using the method of IMU!<br />
|- style="background:bisque; color:black"<br />
<br />
| [mailto:mnwxiaobao@gmail.com MNW]|| China || Tiny2.11 ||| 2009 || Just starting,having troubles with parts.<br />
|- style="background:bisque; color:black"<br />
| [mailto:shubhamearly@gmail.com Shubham]|| India || Tiny2.11 ||| 2009 || Writing the configuration code for airframe<br />
|- style="background:bisque; color:black"<br />
| [mailto:mundhra@gmail.com M Mundhra] || India || Tiny 1.3 ||| 2007 || Gain tuning on a flying wing configuration airframe <br />
|- style="background:bisque; color:black"<br />
| [mailto:ngkiangloong_at_hopetechnik.com Jianlun]|| Singapore || TWOG V1 ||| 2008 || trying to get TWOG onto an EasyStar. very much a newbie!<br />
|- style="background:bisque; color:black"<br />
| [mailto:praxmail@gmail.com prashanth] || India || Tiny 2.11 ||| 2008 || 6 autonomous flights till now, currently build a new wing like funjet <br />
|- style="background:bisque; color:black"<br />
| [mailto:spencerpangborn@gmail.com spencer] || Taipei, Taiwan || none ||| 2009 || research for now, hope to take aerial photos of Taipei City soon<br />
|- style="background:bisque; color:black"<br />
| [mailto:benybeejz@gmail.com benybee] || Bandar Lampung, Indonesia || Tiny13 1.1 ||| 2010 || trying to get wing dragon fully autonomus, for aireal photograph and research<br />
|}<br />
<br />
==Europe==<br />
{| class="wikitable" style="text-align:center;background:black; color:blue"<br />
<br />
! Name !! Location !! Hardware !! Joined !! Current activities / project status <br />
<br />
|- style="background:lightgreen; color:black"<br />
|Austria<br />
<br />
|- style="background:bisque; color:black"<br />
| [http://paparazzi.enac.fr/wiki/User:Martinpi Martin Piehslinger] || Vienna, Austria || Tiny 2.11 || 2008 || just starting<br />
<br />
|- style="background:bisque; color:black"<br />
| [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.<br />
<br />
<br />
|- style="background:lightgreen; color:black"<br />
|France<br />
<br />
|- style="background:bisque; color:black"<br />
| [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. <br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:pvol_at_club.fr Philippe Volivert] || Paris, France || TWOG 2.12, EasyGlider, MPX3030 ||| July 2009 || Working on pan/tilt/roll camera<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:thibaut.bergal@estaca.eu ESTACA Modélisme] || Paris, France || TWOG 2.11, Swift 2, MC22 ||| January 2010 || Starting<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:limaiem@gmail.com Imed Limaiem] || Paris, France || TWOG 2.11, EPP-CF FPV ||| January 2010 || flight test; Town pollution measurement; <br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:pauldanielcox_at_gmail_dot_com Paul Cox] <br />
| Toulouse <br />
| Tiny v2.11 || Nov. 2008 || GWS Slow Stick flying in AUTO2 reliably. Starting on stabilized video and payload drops Skype: pauldanielcox Gtalk: [use email] <br />
<br />
|- style="background:lightgreen; color:black"<br />
|Germany<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:maik.hoepfel_at_web.de Maik Hoepfel] || Berlin, Germany || TWOG, Borjet Maja, Futaba 9C 35 Mhz ||| August 2009 || Have flown different airframes and am flying a Borjet Maja right now; built a more rugged case and connecting board for PPRZ; taking surveying pictures<br />
<br />
|- style="background:bisque; color:black"<br />
| [[User:MarcusWolschon|Marcus Wolschon]] || Freiburg, Germany || Gumstix, Paraplane ||| 2008 || Porting Paparazzi to Linux-Userland with UDP-communication using mesh-networking.<br />
UDP-Downlink working, GPS via GPSD working, Pararazzi in Linux working, Hardware still RC-only due to sensor-soldering-issues<br />
<br />
|- style="background:bisque; color:black"<br />
| [[User:Flixr|Felix Ruess]] || Munich, Germany || Booz and Lisa/L ||| 2008 || coding more than flying.... unfortunately<br />
<br />
|- style="background:bisque; color:black"<br />
| [[User:TheJJ|Jonas Jelten]] || Augsburg, Germany || just our airframe ||| 2010 || "P-Seminar" for the new G8 at our Gymnasium ([http://www.solarflugzeug.de.tc solarflugzeug.de.tc])<br />
<br />
|- style="background:bisque; color:black"<br />
| [[User:Christoph|Christoph Niemann]] || Bremen, Germany || Reely Condor with TWOG and Sparkfun Razor-IMU ||| 2010 || Several successful AUTO2-Flights. <br />
<br />
|- style="background:bisque; color:black"<br />
| [[User:Martial|Martial Châteauvieux]] || Munich, Germany || Bormatec/Maja with TWOG and IR ||| 2011 || Just received my TWOG. Soldering the IR Sensors.<br />
<br />
|- style="background:bisque; color:black"<br />
| [[User:Stspies|Steffen Spies]] || Wolfsburg, Germany || Multiplex TwinStar with Tiny V2.11 and IR ||| 2010 || Awaiting first flight. <br />
<br />
|- style="background:bisque; color:black"<br />
| [[User:Tobi|Tobias M]] || Germany || Multiplex TwinStar II TWOG v1 and IR/imu ||| 2007 || about 120h of flight tests in Auto2 with IR - coding and testing a new vertical control with airspeed - just changed from IR to Aspirin imu - about 3h Auto2 in that configuration<br />
<br />
<br />
|- style="background:bisque; color:black"<br />
| [[User:RoN|Rolf N]] || Bremen, Germany || Multiplex Acromaster with TWOG, airspeed and imu ||| 2010 || Several successful AUTO2 flights<br />
<br />
<br />
|- style="background:lightgreen; color:black"<br />
| Portugal<br />
<br />
|- style="background:bisque; color:black"<br />
| [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.<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:muralha_at_gmail.com Nuno Guedes] || Lamego, Portugal || Tiny 2.11 || 2008 || Starting<br />
<br />
<br />
|- style="background:lightgreen; color:black"<br />
|Switzerland<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:markggriffin_at_gmail.com MarkG] || Geneva, Switzerland || Modified Tiny v2.11, TWOG v1, EeePC as GCS, Multiplex FunJet & EasyStar ||| 2008 || Many successful flights. <br />
<br />
|- style="background:bisque; color:black"<br />
| [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. <br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:reto.buettner_at_gmail.com RetoB] || Meilen, Switzerland || TWOG, Tiny 2.11, Cougar, eHawk, Y-UAV, EzOSD, Scherrer UHF ||| 2010 || Many successful flights. See [http://www.aerovista.ch/news.html www.aerovista.ch] and [http://www.y-uav.com www.y-uav.com] for current status.<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:schmiemi_at_students.zhaw.ch EmilioS] || Winterthur, Switzerland || Tiny 2.11 incl. ArduIMU, Borjet Maja, UMARS||| 2010 || Many successful flights. See [http://www.imes.zhaw.ch/de/engineering/imes/projekte/leichtbautechnik/umars/projektbeschreibung.html UMARS] for current status.<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:enso@zhaw.ch Oliver E] || Winterthur, Switzerland || Tiny 2.11 incl. ArduIMU, Kyosho Calmato, UMARS||| 2010 || Many Successful flights. A lot of experience as savety pilot. Experience with pich based speed control (best you can have). No programming skills unfortuanatley. <br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:samuelbryner_gmx.ch Samuel B.] || Winterthur, Switzerland || Tiny 2.11, Multiplex Easyglider ||| 2010 || Just starting. No flight so far :/<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:rmaurer@sunrise.ch RetoM] || Bottighofen, Switzerland || Tiny 2.11, Multiplex Mentor ||| 2010 || First flight successfully performed on 16 July 2011, including auto-landing, more to go ...<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:sjwilks_at_gmail.com Simon W.] || Aarau, Switzerland || TWOG with ArduIMU in Jamara Roo, Telink Tempest, Bormatec Maja and Lisa/L for the XAircraft X650 ||| 2010 || Many successful flights. See [http://sites.google.com/site/paparazziuav/ http://sites.google.com/site/paparazziuav/].<br />
<br />
|- style="background:lightgreen; color:black"<br />
| UK<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:et@onyxnet.co.uk Alan K] || Middlesbrough, England || Tiny 2.11 & MaxStream ||| 2008 || Just starting.<br />
<br />
|- style="background:bisque; color:black"<br />
| [[User:G R|Gareth R]] || Sheffield, UK || Tiny 2.11, video, bunch of helicopters, Multiplex Mentor, Multiplex Funjet, Multiplex Fox, GWS Formosa ||| 2008 || Came 4th in EMAV09 (although won the Golden Balls award for courage in the face of adversity and exceptional partying). Many AUTO2 flights with a camera and XBee868s. Current main airframe is a GWS Formosa (they are so cheap!).<br />
<br />
<br />
|- style="background:lightgreen; color:black"<br />
| Other<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:silas_at_silas.hu SilaS] || Budapest || Tiny 1.3,2.11, Twog 1.0 ||| 2007 || Applied tiny to GWS Estarter, finished long travels in AUTO2. Now transfert it to a Twinstar and working on pairing tiny with FPV. Successfull. Now using it on large gliders and jets.<br />
<br />
|- style="background:bisque; color:black"<br />
| [[ 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 <br />
<br />
|- style="background:bisque; color:black"<br />
| [[User:openuas|OpenUAS]] || Amsterdam, The Netherlands || TWOG, Tiny, Lisa/L and various airframes || 2007 || Quite a few AUTO2 flights. Improving airspeed, IMU and strong wind integration<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:sanarlab@yandex.ru Andrew Saenko] || Russia, St-Petersburg || Tiny 1.13, Tiny 2.11, two own hardware designs, 5 kg aerial photo plane, 2.5 kg survelliance uav, Easystar ||| 2007 || Use modified autopilot and GCS in professional tasks, add self desidned IMU<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:chebuzz_at_gmail.com David "Buzz" Carlson] || Cyprus || Tiny 2.11, Lynx EDF & 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.<br />
<br />
|- style="background:bisque; color:black"<br />
| [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<br />
<br />
|- style="background:bisque; color:black"<br />
| [http://paparazzi.enac.fr/wiki/User:VAMK Allan Ojala (VAMK)] || Vaasa, Finland || TWOG, with AC4790 radio and LEA-5H GPS ||| 2009 || Ditched the SIG Kadet. Built a new big plane TaigaCam. Self-build model made out of EPP and a plastic tube.<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:alexandru.panait@ral.ro Phineas] || Bucharest, Romania || Tiny2.11 (PPZUAV) ||| November 2009 || Just started to set-up <br />
<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:lukeiron@hotmail.com Luke] || Torino, Italy || TWOG ||| December 2009 || Close to mount the AP on my Mentor <br />
|<br />
<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:helgewal@gmail.com Helge] || Bergen, Norway || TWOG ||| 2009 || First Auto2 flight with Twinstar2 in October 2010 <br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:kepler0@gmail.com Joaquín] || Málaga, Spain|| TWOG v1, Trex600, Cockpit SX, ArduImuV2, HMC5843 ||| September 2009 || Finished integration (navigation, control, actuators). Missing to realize an automatic engine control.<br />
|}<br />
<br />
==North America==<br />
<br />
{| class="wikitable" style="text-align:center;background:black; color:blue"<br />
|-<br />
! Name !! Location !! Hardware !! Joined !! Current activities / project status <br />
<br />
|- style="background:bisque; color:black"<br />
| [http://paparazzi.enac.fr/wiki/User:Mcurrie Matthew Currie] || Nanaimo, BC Canada || Tiny 13 v1.1 (Self-built) ||| November 2006 || Funjet + XBee<br />
<br />
|- style="background:bisque; color:black"<br />
| [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 & AUTO2.<br />
<br />
<br />
|- style="background:bisque; color:black"<br />
| [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. <br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:kochesj@gvsu.edu John Koches] || Muskegon, Michigan || Tiny 2.11 (PPZUAV) ||| 2007 || currently flying a 48 inch zagi, 80 inch under construction.<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:Stdeguir@gmail.com Steve Deguir] || New York,New York || Tiny2.11+LEA-5H (PPZUAV), XbeePro 2.4, Berg4L, JR FMA ||| Feb 2009 || <br />
<br />
|- style="background:bisque; color:black"<br />
| [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.<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:mecevans@gmail.com Michael Evans] || Seaside(Monterey Bay), California || Tiny2.11 (PPZUAV) ||| Feb 2009 ||http://www.rcgroups.com/forums/showthread.php?t=1000937. <br />
<br />
|- style="background:bisque; color:black"<br />
| USU AggieAir Remote Sensing || Logan, UT || TWOG (PPZUAV) ||| January 2009 || Building 72" Flying Wings which will be used for remote sensing. Routine autonomous flight.<br />
<br />
|- style="background:bisque; color:black"<br />
| [http://www.engr.usu.edu/wiki/index.php/OSAM USU OSAM-UAV] || Logan, UT || TWOG (PPZUAV) ||| June 2007 || 2x72" 5x48" 1x60" Flying Wings. Research backyard for AggieAir Remote Sensing. Routine autonomous flight.<br />
<br />
|- style="background:bisque; color:black"<br />
| [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.<br />
<br />
|- style="background:bisque; color:black"<br />
| [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.<br />
<br />
|- style="background:bisque; color:black"<br />
| [http://paparazzi.enac.fr/wiki/User:EldenC Elden Crom] || Tucson, AZ || Twog 1.0 ||| July 2009 || Multiplex Twinstar, XBee Pro. Several Successful Auto2 Flights. Working toward precise Auto-Takeoff and Auto-Land <br />
<br />
|- style="background:bisque; color:black"<br />
| [http://paparazzi.enac.fr/wiki/User:jvs84 U of Arizona Autonomous Glider] || Tucson, AZ || None, will use TWOG 1.0 ||| December 2009 || Super Dimona, Aerocomm. No Flight test. Working toward setting waypoints within Paparazzi code <br />
<br />
|- style="background:bisque; color:black"<br />
| [Reegan] || Lubbock, TX || Planning on Tiny 2.11 (PPZUAV), 900mhz XBPro |||Dec. 2009 || Gaining info to begin a collegiate project<br />
<br />
|- style="background:bisque; color:black"<br />
| Team UAV UALR Caleb Tenberge || Little Rock, AR || Using TWOG 1.0 ||| Feb 2010 || Using a Telemaster, we are learning the GCS and building our plane. <br />
<br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:changho.nam@asu.edu Arizona State University POLY - Capstone Team: Development of UAV /w surveillance System] || Mesa, AZ || Using TINY 2.1 - 2.4GHz Modem, CCD Camera /w 900 MHz Video Transmitter ||| March 2010 || 4-lbs Flying Wings. We made successful autonomous flights. <br />
<br />
|- style="background:bisque; color:black"<br />
| [http://paparazzi.enac.fr/wiki/User:Scdwyer Stephen Dwyer] || Edmonton, AB, CAN || Nothing Yet ||| Jan 2011 || Obtaining Hardware <br />
<br />
|- style="background:bisque; color:black"<br />
| [mailto:muratagenc@yahoo.com Murat A. Genc] || New York, NY || not decided yet ||| May 2011 || just started<br />
<br />
|- style="background:bisque; color:black"<br />
| New User || 1 || 2 ||| 3 || 4 <br />
|}<br />
<br />
==Central America==<br />
<br />
{| class="wikitable" style="text-align:center;background:black; color:blue"<br />
! Name !! Location !! Hardware !! Joined !! Current activities / project status<br />
|- style="background:bisque; color:black"<br />
| [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 & 7 in Auto2. Now only a matter of fine tuning.<br />
|- style="background:bisque; color:black"<br />
| New User || 1 || 2 ||| 3 || 4 <br />
|}<br />
<br />
==South America==<br />
<br />
{| class="wikitable" style="text-align:center;background:black; color:blue"<br />
! Name !! Location !! Hardware !! Joined !! Current activities / project status<br />
|- style="background:bisque; color:black"<br />
| [mailto:gustavoviolato@gmail.com Gustavo Violato] || São José dos Campos, Brasil || Tiny v2.11/LEA-4P, Modem XBee Pro 2.4 GHz Swift II ||| 2009 || Flying autonomously and enjoying it. Planning to use the system for flight test data acquisition and aircraft parameter recognition. <br />
|- style="background:bisque; color:black"<br />
| [mailto:agressiva@hotmail.com Eduardo Lavratti] || Porto Alegre - RS, Brasil || TWOG / BOOZ, UBLOX, Xbee900 60mw||| 2011 || Working with geoprocessing - developping new modules and sensors to paparazzi.<br />
|- style="background:bisque; color:black"<br />
| New User || 1 || 2 ||| 3 || 4 <br />
|}<br />
<br />
==Australia==<br />
<br />
{| class="wikitable" style="text-align:center;background:black; color:blue"<br />
|-<br />
! Name !! Location !! Hardware !! Joined !! Current activities / project status<br />
|- style="background:bisque; color:black"<br />
| [http://paparazzi.enac.fr/wiki/User:RH1N0 RH1N0] || Brisbane, QLD || TWOG, Multiplex Easystar, PPZGPS, H.264 live digital video, Ubiquiti modems ||| May 2011 || Multiple AUTO2 flights up to 40 min. Currently testing PPZIMU.<br />
|- style="background:bisque; color:black"<br />
| [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. <br />
|- style="background:bisque; color:black"<br />
| [mailto:reubenb87@gmail.com Reuben Brown]|| Gawler, SA || Tiny v2.11 ||| May 2009 || Getting the autopilot set up <br />
|- style="background:bisque; color:black"<br />
| [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 || Several flights in Auto1<br />
|- style="background:bisque; color:black"<br />
| [http://paparazzi.enac.fr/wiki/User:Rufus Chris Gough] || Canberra || TWOG v2.11, EZ* || September 09 || not yet airborn <br />
|- style="background:bisque; color:black"<br />
| [http://paparazzi.enac.fr/wiki/User:Adam.A Adam Amos] || Sydney, NSW || TWOG, IMU, BORJET MAJA || March 2010 || see [http://www.rescuerobotics.com.au www.rescuerobotics.com.au] for current status<br />
|}<br />
<br />
==Africa==<br />
<br />
{| class="wikitable" style="text-align:center;background:black; color:blue"<br />
! Name !! Location !! Hardware !! Joined !! Current activities / project status<br />
|- style="background:bisque; color:black"<br />
| [mailto:w1_th@yahoo.com W1th] || South Africa KZN || TWOG V1 ,LEA-5H GPS , RF Modems XBee Pro 868 (CheBuzz) ||| July 2009 || Got TWOG,GPS etc interfacing with Laptop and working , Have not done anything to it recently but...Made a website [http://sites.google.com/site/scarfclub/paparazi-uav SCARF Paparazzi-UAV] of my struggle ...<br />
|- style="background:bisque; color:black"<br />
| [mailto:willie.smit@nwu.ac.za Willie Smit] || South Africa NW || Tiny v2.11, LEA-4P GPS, RF Modems XBee Pro ||| April 2010 || We are currently doing test flights. Also doing research on obstacle avoidance.<br />
|- style="background:bisque; color:black"<br />
|}<br />
<br />
=Need help adding your information?=<br />
To have your information added by another paparazzi user, please send me an [http://www.rcgroups.com/forums/showpost.php?p=6575288&postcount=1 EMAIL] at with the <br />
following:<br />
<br />
*Name<br />
*Email<br />
*Location<br />
*Hardware<br />
*Join date<br />
*Current activities / project status<br />
<br />
[[Category:Community]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=File:Cougar.JPG&diff=9889File:Cougar.JPG2011-08-03T15:52:49Z<p>Aerovista: </p>
<hr />
<div></div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=ArduIMU&diff=9826ArduIMU2011-07-25T19:58:13Z<p>Aerovista: /* Airframe Adjustments */</p>
<hr />
<div>[[Image:ArduIMU_xs.JPG|thumb|right|ArduIMU with i2c wires and serial connector]]<br />
[[Image:Tiny13wIMU_001.jpg|thumb|right|Tiny13 w/IMU]]<br />
[[Image:Ppzfunjetaimu01.jpg|thumb|right|TWOG w/IMU]]<br />
This page describes how to integrate an [http://code.google.com/p/ardu-imu/wiki/HomePage?tm=6 ArduIMU+ V2 (flat)] into an existing Airframe/Paparazzi-Code.<br />
#The ArduIMU communicates over i2c with the Paparazzi-AP. The wiring is pretty easy to do. Connect SDA, SCL, ground at the i2c pins. Supply the IMU with 5V at one of the three 5V pins. The 3.3V i2c pin stays unconnected. Do not connect 3.3V from the Paparazzi-AP to the ArduIMU as it internally generates it's own stable 3.3v supply.<br />
#Integration into the Paparazzi software is realized as a module. This is an easy way to connect and test the software. <br />
#This description shows how to use the ArduIMU without a separate GPS-Receiver and without a Compass/Magnetometer. The GPS-Data is sent by the Paparazzi-AP over i2c to the ArduIMU.<br />
#There is an other airframe/main-AP we wrote which uses a magnetometer for yaw-drift compensation. We haven't written an installation guide for this configuration yet. But we will try to do this as soon as possible. <br />
<br />
The Code has been integrated into the Paparazzi build system.<br />
<br><br />
<br><br />
<br><br />
<br><br />
<br />
== Airframe Adjustments ==<br />
<br />
First, remove the infrared configuration and substitute the IMU configuration (which uses I2C) as follows :<br />
<br />
In your airframe file (found usually in conf/airframes with a name like "MyAirframe.xml")<br />
<br />
* (1) '''Insert''' the software module :<br />
<modules><br />
<load name="ins_arduimu.xml"/><br />
</modules><br />
<br />
* (2) Activate the "i2c" subsystem / peripheral, increase i2c queue length to 16, and reduce i2c clock speed:<br />
<target name="ap" board="..."><br />
...<br />
<define name="USE_I2C0"/><br />
</target><br />
<subsystem name="i2c"><br />
<define name="I2C_TRANSACTION_QUEUE_LEN" value="16"/> <!-- default is 8 --><br />
<define name="I2C0_SCLL" value="400"/> <!-- default clock speed 37.5KHz with our 15MHz PCLK I2C0_CLOCK=PCLK/(I2C0_SCLL+I2C0_SCLH) --><br />
<define name="I2C0_SCLH" value="400"/> <!-- Default values are 200 and must be the same for both SCLL and SCLH --><br />
</subsystem><br />
<br />
* (3) '''Insert''' INS neutrals:<br />
<br />
<section name="INS" prefix="INS_"><br />
<define name="ROLL_NEUTRAL_DEFAULT" value="0" unit="deg"/><br />
<define name="PITCH_NEUTRAL_DEFAULT" value="0" unit="deg"/><br />
</section><br />
<br />
* (4) '''Remove''' the infrared estimation :<br />
<br />
remove the line that looks like the following:<br />
<subsystem name="attitude" type="infrared"/><br />
<br />
You may have to comment out the following two lines in the file ../paparazzi/sw/airborne/modules/ins/ins_arduimu.c for the code to compile:<br />
<br />
// float throttle_slew;<br />
// throttle_slew = V_CTL_THROTTLE_SLEW;<br />
<br />
TODO: link to sample working airframe in git<br />
<br />
'''NOTE:''' Martin Mueller has committed some ArduIMU changes to<br />
https://github.com/martinmm/paparazzi for review.<br />
<br />
It is based on ArduIMU v1.7 and fixes the main issue which was printing serial data while in I2C interrupt, also includes Steve Joyce's fixes. <br />
<br />
Additional features are running at 60Hz, having the possibility to use the Paparazzi ROLL_RATE loop and transferring the gps data as it is received rather than at a constant, non synchronized rate. The v1.7 uses gps 3D speed for centrifugal correction whereas the v1.8.2 uses 2D speed. <br />
<br />
Bill Premerlani's paper is a little vague on that but it is thought that 3D should be more precise when climbing/descending. Maybe 2D is used as simple gps receivers don't have 3D speed?<br />
<br />
An example airframe file is at /conf/airframes/mm/fixed-wing/fw_ins_arduimu.xml It controlled a Funjet in 55m circles climbing 6m/s nicely.<br />
<br />
== Aircraft Settings ==<br />
<br />
* (5) Use this '''Settings''' file: settings/tuning_basic_ins.xml<br />
<br />
== Magnetometer (Ignore for now) ==<br />
TODO: post Magnetometer integration guide<br />
<br />
== Flash the ArduIMU ==<br />
<br />
(6) Programming the ArduIMU for use with the Tiny includes using : <br />
# Adapted software in '''sw/airborne/firmwares/non_ap/arduimu_Firmware_WithGps'''. <br />
# Standard USB FTDI cable plugged into the header that comes with the arduimu (Match the wire colors with those written on the arduimu silkscreen GRN=Green BLK=Black)<br />
<br />
Steps:<br />
<br />
*Plug in USB FTDI Cable to PC and ArduIMU (this also provides power)<br />
<br />
*Install the Arduino IDE using the Ubuntu Software Center or the following command line:<br />
$ sudo apt-get install arduino<br />
<br />
*Launch the Arduino IDE using the Dash (in Ubuntu 11.04) or the following command line:<br />
$ arduino<br />
[[Image:arduino_open_sketch.png|thumb]]<br />
(TODO: Using the graphical interface is probably not necessary as the flashing seems to use avrdude command line utility)<br />
<br />
* Open project/sketch (File->open , point to paparazzi/sw/airborne/firmwares/non_ap/arduimu_Firmware_WithGps/arduimu/arduime.pde)<br />
<br />
* Clicking the "verify" button compiles<br />
<br />
* Clicking the "upload" button flashes<br />
** You may need to select your com port in menu Tools->Serial Port<br />
** You may need to select Atmega328 in menu Tool->Board<br />
<br />
For more information concerning flashing of the ArduIMU, read: http://code.google.com/p/ardu-imu/wiki/Code<br />
<br />
Do we still need this or is everything in git now?<br />
You can find the original ZHAW code [https://home.zhaw.ch/~schmiemi/Arduimu4Paprazzi.rar here].<br />
<br />
== Install and test the ArduIMU ==<br />
<br />
* The current firmware does not implement a full rotation matrix calculation and instead assumes that the arduimu's "x" axis is aligned with the fuselage. When installing the device in your aircraft be sure to respect this constraint.<br />
<br />
* Clean and build your aircraft target in paparazzi center and flash your Tiny as usual<br />
<br />
* With your GCS session running, you should see attitudes messages including the new messages "xxx" and " xxx" <br />
[[Image:arduimu_gcs_messages.png|thumb]]<br />
<br />
== Hardware Considerations ==<br />
<br />
So far, this setup has been successfully flown in the Maja and EasyStar aircraft. For faster more agile aircraft such as the Merlin or Funjet, the polling rate needs to be changed from 15 Hz to 50 Hz in the '''/conf/modules/ins_arduimu.xml''' file.<br />
<br />
<periodic fun="ArduIMU_periodic()" freq="50" autorun="TRUE"/> <br />
<periodic fun="ArduIMU_periodicGPS()" freq="4" autorun="TRUE"/> <br />
<br />
The ArduIMU is sensitive to vibrations. Mount it on a thick piece of foam to dampen the vibrations.<br />
<br />
<br />
Have Fun !<br />
<br />
== Analysis and Results ==<br />
<br />
TODO: Compare IR and arduimu estimations for various flight conditions<br />
TODO: Fuse the two estimates together for robustness?<br />
<br />
Please Post Results Here... Issues?<br />
<br />
[[Category:Hardware]] [[Category:Software]] [[Category:User_Documentation]] [[Category:Modules]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=Airframe_Configuration&diff=9817Airframe Configuration2011-07-25T10:05:45Z<p>Aerovista: /* Bat */</p>
<hr />
<div>== About ==<br />
The airframe configuration file contains all the hardware and software settings for your airframe. It is an very important part of getting your airframe to fly well. The airframe configuration file is located in <tt>conf/airframes</tt>. All gains, trims, and behavior settings are defined with standard XML elements.<br />
<br />
== Selecting the Airframe File ==<br />
Each airframe file must be assigned a name, unique ID, flight plan, etc. in [[Conf.xml|<tt>conf/conf.xml</tt>]] as follows:<br />
<?xml version="1.0"?><br />
<conf><br />
<aircraft <br />
name="Twin1"<br />
ac_id="1"<br />
airframe="airframes/twinstar1.xml" <br />
radio="radios/mc3030.xml" <br />
flight_plan="flight_plans/mav05_cw.xml"<br />
telemetry="telemetry/default.xml"<br />
gui_color="blue"<br />
/><br />
<aircraft <br />
name="Plaster"<br />
ac_id="2"<br />
airframe="airframes/plaster1.xml" <br />
radio="radios/cockpitMM.xml" <br />
telemetry="telemetry/default.xml"<br />
flight_plan="flight_plans/dummy.xml"<br />
/><br />
.<br />
.<br />
.<br />
</conf><br />
Then, to compile and flash the airframe settings and associated flight plan to your autopilot board, 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:<br />
make AIRCRAFT=<b>Twin1</b> ap.upload<br />
More information can be found on the [[Conf.xml|conf.xml]] page<br />
<br />
Note that the airframe XML document always begins with a <!DOCTYPE airframe SYSTEM "airframe.dtd"> line.<br />
<br />
== XML Parameters ==<br />
<br />
=== Commands ===<br />
<br />
The <b><tt>commands</tt></b> lists the abstract commands you need to control the aircraft. In our example, we have only three:<br />
<tt><br />
<commands><br />
<axis name="THROTTLE" failsafe_value="0"/><br />
<axis name="ROLL" failsafe_value="0"/><br />
<axis name="PITCH" failsafe_value="0"/><br />
</commands></tt><br />
<br />
Each command is also associated with a failsafe value which will be used if no controller is active, for example during initialization of the autopilot board. The range of these values is [-9600:9600]. For <tt>"THROTTLE"</tt>, the range is [0, 9600] and in the corresponding <b><tt>servo</tt></b> definition the <b><tt>neutral</tt></b> and <b><tt>min</tt></b> are usually the same (see below). Note that these commands do not necessarily match the servo actuators. For example, the <tt>"ROLL"</tt> command is typically linked to two aileron actuators.<br />
<br />
=== Servos ===<br />
<br />
The above commands get translated to the <b><tt>servos</tt></b> here. In the example below we use two elevons and a motor. ([http://en.wikipedia.org/wiki/Elevon ''Elevons''] are surfaces used for both pitch and roll as on a flying wing.) These servos are listed in the <b><tt>servos</tt></b> section:<br />
<tt><br />
<servos><br />
<servo name="THROTTLE" no="0" min="1000" neutral="1000" max="2000"/><br />
<servo name="ELEVON_LEFTSIDE" no="1" min="2000" neutral="1500" max="1000"/><br />
<servo name="ELEVON_RIGHTSIDE" no="2" min="1000" neutral="1500" max="2000"/><br />
</servos></tt><br />
<br />
Names are associated to the corresponding '''real physical connector''' to which a servo is connected '''on the autopilot board'''. For example no="2" means connector two on the board. Also the servo neutral value, total range and direction are defined. Min/max/neutral values are expressed in milliseconds. The direction of travel can be reversed by exchanging min with max (as in <tt>"ELEVON_LEFTSIDE"</tt>, above). The ''standard'' travel for a hobby servo is 1000ms - 2000ms with a 1500ms neutral. Trim can be added by changing this neutral value. Absolute servo travel limits can be increased or reduced with the min/max values. The <tt>"THROTTLE"</tt> servo typically has the same value for the <b><tt>neutral</tt></b> and <b><tt>min</tt></b>. <br />
<br />
Note the following important tips:<br />
* Reverse the servo direction by exchanging min/max<br />
* Trim should always be adjusted mechanically if possible to avoid asymmetrical travel<br />
* Any reduction of the total travel range should be done mechanically to maintain precision<br />
* 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.<br />
* Board connector numbering starts with <b>zero (0)</b> not with one<br />
* Servos are also known under the synonym <b>actuators</b><br />
<br />
The <b><tt>servos</tt></b> are then linked to the commands in the <b><tt>command_laws</tt></b> section:<br />
<tt><br />
<command_laws><br />
<let var="aileron" value="@ROLL * 0.3"/><br />
<let var="elevator" value="@PITCH * 0.7"/> <br />
<set servo="THROTTLE" value="@THROTTLE"/><br />
<set servo="ELEVON_LEFTSIDE" value="$elevator + $aileron"/><br />
<set servo="ELEVON_RIGHTSIDE" value="$elevator - $aileron"/><br />
</command_laws></tt><br />
<br />
[[Image:airframe_sign_conventions.jpg|thumb|Sign conventions for flight dynamics]]<br />
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. Elevon 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 <b><tt>let</tt></b> element. The '''@''' symbol is used to reference a command value in the <b><tt>value</tt></b> attribute of the <b><tt>set</tt></b> and <b><tt>let</tt></b> 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.<br />
<br />
<br />
Note that the signs used in the description follow the standard convention.<br />
<br />
=== Manual ===<br />
The <tt>rc_command</tt> sections links the channels of the RC transmitter (defined in the [[Radio_Control|Radio Control]] file) to the <tt>commands</tt> defined above:<br />
<br />
<rc_commands><br />
<set command="THROTTLE" value="@THROTTLE"/><br />
<set command="ROLL" value="@ROLL"/><br />
<set command="PITCH" value="@PITCH"/><br />
</rc_commands><br />
<br />
This example looks trivial since the channel values have the same name than the commands.<br />
<br />
=== RC commands in Auto ===<br />
To control servos or other servo signal compatible devices by RC in Auto1 or Auto2, define them in the <auto_rc_commands> section.<br />
If you have an airframe with a dedicated rudder (YAW channel) then it is still controllable in auto mode via RC. This is the default behavior and is equivalent to setting the YAW command in auto_rc_commands:<br />
<br />
<auto_rc_commands><br />
<set command="YAW" value="@YAW"/><br />
</auto_rc_commands><br />
<br />
To disable this behavior (meaning no RC control of the rudder in auto) define an empty auto_rc_commands section:<br />
<br />
<auto_rc_commands><br />
</auto_rc_commands><br />
<br />
=== Autopilot Only Commands ===<br />
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 <rc_commands> block but in the special <ap_only_commands> 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.<br />
<br />
<ap_only_commands><br />
<copy command="PAN"/><br />
<copy command="TILT"/><br />
<copy command="SHOOT"/><br />
</ap_only_commands><br />
<br />
=== Auto1 ===<br />
The next section, named <b><tt>AUTO1</tt></b>, gives the maximum roll and pitch (in radians) allowed for the augmented stability mode.<br />
<tt><br />
<section name="AUTO1" prefix="AUTO1_"><br />
<define name="MAX_ROLL" value="RadOfDeg(35)"/><br />
<define name="MAX_PITCH" value="RadOfDeg(35)"/><br />
</section><br />
</tt><br />
<br><br />
<br />
=== ADC Generic ===<br />
<br />
If you want to receive the value of some ADC channel, you can use the "ADC Generic" [[Modules|module]]. When activated, the aircraft sends 2 values corresponding to the selected ADC channels. They can be read from the "Messages" application.<br />
Add the adc_generic to your modules:<br />
<pre><br />
<modules><br />
...<br />
<load name="adc_generic.xml"><br />
<configure name="ADC_CHANNEL_GENERIC1" value="ADC_3"/><br />
<configure name="ADC_CHANNEL_GENERIC2" value="ADC_4"/><br />
</load><br />
</modules><br />
</pre><br />
<br />
In this example, the ADC channels 3 and 4 are read and sent by telemetry at 4Hz:<br />
<message name="ADC_GENERIC" ID="18"><br />
<field name="val1" type="uint16"/><br />
<field name="val2" type="uint16"/><br />
</message><br />
Only one or two channels can be defined. If only one is activated, 0 will be sent for the unused value.<br />
<br />
=== Infrared === <br />
The <b><tt>INFRARED</tt></b> section describes the configuration of the infrared sensors.<br />
<br />
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.<br />
<br />
<section name="INFRARED" prefix="IR_"><br />
<define name="ADC_IR1_NEUTRAL" value="512"/><br />
<define name="ADC_IR2_NEUTRAL" value="512"/><br />
<define name="ADC_TOP_NEUTRAL" value="512"/><br />
<br />
These neutrals are tuned with the "cupboard test": 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.<br />
<br />
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:<br />
<br />
<define name="IR1_SIGN" value="-1"/><br />
<define name="IR2_SIGN" value="-1"/><br />
<define name="TOP_SIGN" value="-1"/><br />
<br />
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 "value" in the aligned and tilted definition has no effect! If the airframe construction allows choose an aligned sensor orientation since this gives the best stabilization response results.<br />
<br />
For help with orientation of '''Previous Versions of Infrared Sensor Boards''' try here : http://paparazzi.enac.fr/wiki/Previous_Infrared_Sensors<br />
<br />
<define name="HORIZ_SENSOR_ALIGNED" value="1"/><br />
or<br />
<define name="HORIZ_SENSOR_TILTED" value="1"/><br />
<br />
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:<br />
<br />
<define name="LATERAL_CORRECTION" value="0.7"/><br />
<define name="LONGITUDINAL_CORRECTION" value="0.7"/><br />
<define name="VERTICAL_CORRECTION" value="1."/><br />
Default values are 1.<br />
<br />
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.<br />
<define name="ROLL_NEUTRAL_DEFAULT" value="-2.5" unit="deg"/><br />
<define name="PITCH_NEUTRAL_DEFAULT" value="6" unit="deg"/><br />
<br />
An asymmetric (left/right, front/rear) correction can be added with a last set of factors.<br />
<define name="CORRECTION_UP" value="1."/><br />
<define name="CORRECTION_DOWN" value="1."/><br />
<define name="CORRECTION_LEFT" value="1."/><br />
<define name="CORRECTION_RIGHT" value="1."/><br />
</section><br />
These corrections are set on the angles.<br />
You don't have to set these as they are set to 1. per default, but adjust them if needed.<br />
<br />
=== Gyro === <br />
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.(<b><tt>ADC_TEMP_SLOPE=0</tt></b>).<br />
<br />
<tt><br />
<section name="GYRO" prefix="GYRO_"><br />
<define name="ADC_ROLL_COEFF" value="1"/><br />
<define name="ROLL_NEUTRAL" value="500"/><br />
<define name="ADC_TEMP_NEUTRAL" value="476"/><br />
<define name="ADC_TEMP_SLOPE" value="0"/><br />
</section><br />
</tt><br />
<br />
=== Bat === <br />
This section gives characteristics for monitoring the main power battery.<br />
<br />
<b><tt>MILLIAMP_AT_FULL_THROTTLE</tt></b> represents the actual current (in mA) when full THROTTLE is applied. Note that when flying the current typically is significantly lower than in static tests at home on your workbench. <b><tt>MILLIAMP_AT_FULL_THROTTLE</tt></b> is used to compute the <tt>energy</tt> value of the <tt>BAT</tt> message when no [[Current_sensor|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. You can "tweak" 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 energy recharged into the battery is only 2000 mAh, you could reduce the <b><tt>MILLIAMP_AT_FULL_THROTTLE</tt></b> value by 20% to match your in-flight current consumption. This tweaking is most precise if you fly full throttle only (respectively no throttle to glide down again).<br />
<br />
The <b><tt>CURRENT_ESTIMATION_NONLINEARITY</tt></b> can be added to tweak the energy estimation for non full throttle cruise. As the current consumption is nonlinear, at 50% throttle it is likely to be substantially less than 50%. A superellipse is used to approximate this nonlinearity. The default setting is 1.2 and is used if the <b><tt>CURRENT_ESTIMATION_NONLINEARITY</tt></b> is not defined in your airframe file. A value 1 corresponds to linear behaviour, 1.5 corresponds to strong nonlinearity. The tweaking is done same as decribed above for <b><tt>MILLIAMP_AT_FULL_THROTTLE</tt></b>, but only partial throttle (cruise throttle) should be applied in flight.<br />
<br />
If both <b><tt>MILLIAMP_AT_FULL_THROTTLE</tt></b> and <b><tt>CURRENT_ESTIMATION_NONLINEARITY</tt></b> are tweaked well, you get precise energy estimations with less than 5% error independant of your flight pattern without even requiring a [[Current_sensor|Current sensor]].<br />
<br />
The <b><tt>CATASTROPHIC_BAT_LEVEL</tt></b> (was previously <b><tt>LOW_BATTERY</tt></b>) 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). <b><tt>CRITIC</tt></b> and <b><tt>LOW</tt></b> values will also used as threshold for '''CRITIC''' and '''WARNING''' alarms. They are optional and the respective defaults are 10.0 and 10.5V.<br />
<br />
The <b><tt>MAX_BAT_LEVEL</tt></b> may be specified to improve the display of the battery gauge in the strip or in "papgets". Note that this definition is optional, with a default value of 12.5V.<br />
<br />
<tt><br />
<section name="BAT"><br />
<define name="MILLIAMP_AT_FULL_THROTTLE" value="12000" unit="mA" /><br />
<define name="VOLTAGE_ADC_A" value="0.0177531"/><br />
<define name="VOLTAGE_ADC_B" value="0.173626"/><br />
<define name="VoltageOfAdc(adc)" value ="(VOLTAGE_ADC_A * adc + VOLTAGE_ADC_B)"/><br />
<define name="CATASTROPHIC_BAT_LEVEL" value="6.0" unit="V"/><br />
<define name="CRITIC_BAT_LEVEL" value="6.5" unit="V"/><br />
<define name="LOW_BAT_LEVEL" value="7.0" unit="V"/><br />
<define name="MAX_BAT_LEVEL" value="8.4" unit="V"/><br />
</section><br />
</tt><br />
<br />
Find more in depth information on how to [[Current_sensor|get a separate current sensor working by clicking here]]<br />
<br />
=== Horizontal Control ===<br />
<tt><br />
<section name="HORIZONTAL CONTROL" prefix="H_CTL_"><br />
<define name="COURSE_PGAIN" value="-0.4"/><br />
<define name="ROLL_MAX_SETPOINT" value="0.35" unit="radians"/><br />
<define name="ROLL_ATTITUDE_GAIN" value="-7500."/><br />
<define name="ROLL_RATE_GAIN" value="-1500"/><br />
<define name="PITCH_PGAIN" value="-8000."/><br />
<define name="ELEVATOR_OF_ROLL" value="1250"/><br />
</section><br />
</tt><br />
<br />
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.<br />
<br />
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.<br />
<br />
The [[Control_Loops#Fixed-wing_autopilot|graphical representation of the control loops]] can help you to visualize the effect of each gain.<br />
<br />
===Vertical Control===<br />
<br />
<section name="VERTICAL CONTROL" prefix="V_CTL_"><br />
<!-- outer loop proportional gain --><br />
<define name="ALTITUDE_PGAIN" value="-0.1" unit="(m/s)/m"/><br />
<!-- outer loop saturation --><br />
<define name="ALTITUDE_MAX_CLIMB" value="3." unit="m/s"/><br />
These lines are associated with vertical control loops contained in sw/airborne/firmwares/fixedwing/guidance/guidance_v.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<br />
<define name="AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE" value="0.65" unit="%"/><br />
<define name="AUTO_THROTTLE_MIN_CRUISE_THROTTLE" value=".4" unit="%"/><br />
<define name="AUTO_THROTTLE_MAX_CRUISE_THROTTLE" value="1" unit="%"/><br />
<define name="AUTO_THROTTLE_LOITER_TRIM" value="1000" unit="pprz_t"/><br />
<define name="AUTO_THROTTLE_DASH_TRIM" value="-2500" unit="pprz_t"/><br />
<define name="AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT" value="0.15" unit="%/(m/s)"/><br />
<define name="AUTO_THROTTLE_PGAIN" value="-0.008" unit="%/(m/s)"/><br />
<define name="AUTO_THROTTLE_IGAIN" value="0.25"/><br />
<define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN" value="0.35" unit="rad/(m/s)"/><br />
<br />
These lines are associated with vertical rate control loops contained in sw/airborne/firmwares/fixedwing/guidance/guidance_v.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.<br />
<br />
<define name="AUTO_PITCH_PGAIN" value="-0.1"/><br />
<define name="AUTO_PITCH_IGAIN" value="0.025"/><br />
<define name="AUTO_PITCH_MAX_PITCH" value="0.5"/><br />
<define name="AUTO_PITCH_MIN_PITCH" value="-0.5"/><br />
<br />
These lines are associated with vertical control loops contained in sw/airborne/firmwares/fixedwing/guidance/guidance_v.c but are not used in default. The non-default vertical control law is for the vertical rate to be managed by the pitch.<br />
<br />
<define name="THROTTLE_SLEW_LIMITER" value="2" unit="s"/><br />
THROTTLE_SLEW_LIMITER is the required time is seconds to change throttle from 0% to 100%.<br />
<br />
The [[Control_Loops#Fixed-wing_autopilot|graphical representation of the control loops]] can help you to visualize the effect of each gain.<br />
<br />
=== Misc ===<br />
<tt><br />
<section name="MISC"><br />
<define name="NOMINAL_AIRSPEED" value ="12." unit="m/s"/><br />
<define name="CARROT" value="5." unit="s"/><br />
<define name="KILL_MODE_DISTANCE" value="(1.5*MAX_DIST_FROM_HOME)"/><br />
<define name="CONTROL_RATE" value="60" unit="Hz"/><br />
</section><br />
</tt><br />
<br />
* The "NOMINAL_AIRSPEED" is mainly used in the simulator.<br />
* "CARROT" gives the distance (in seconds, so ground speed is taken into account) between the carrot and the aircraft.<br />
* "KILL_MODE_DISTANCE" is the threshold distance to switch the autopilot into KILL mode (defined descent with no throttle)<br />
* "CONTROL_RATE" is the rate of the low level control loops in Hertz (60 or 20).<br />
<br />
=== Simu ===<br />
Values from this section can be used to tweak the software in the loop (SITL) simulation.<br />
<br />
<tt><br />
<section name="SIMU"><br />
<define name="WEIGHT" value ="1."/><br />
<define name="YAW_RESPONSE_FACTOR" value ="1."/><br />
<define name="ROLL_RESPONSE_FACTOR" value ="15."/><br />
</section><br />
</tt><br />
<br />
* "YAW_RESPONSE_FACTOR" adapts the aircraft's turn rate corresponding to a bank angle; a larger value increases the turn radius<br />
* "ROLL_RESPONSE_FACTOR" is basically your aileron efficiency; a higher value increases roll agility<br />
<br />
If you want to use JSBSim as SITL simulator, you have to make some definitions in this section as well; see [[Simulation#JSBSim|here]].<br />
<br />
=== Modules ===<br />
The [[Modules|modules]] allow to add new code in a flexible way with initialisation, periodic and event functions without modifying the main AP loop.<br />
<br />
<tt><br />
<modules main_freq="60"><br />
<load name="demo_module.xml"/><br />
</modules><br />
</tt><br />
<br />
* The main_freq parameter (in Hz) allows to specify the frequency of the main loop. Default is 60 Hz<br />
<br />
== Firmware and Hardware definitions ==<br />
<br />
=== Select your Board ===<br />
The airframe file must include the description of the controller board and it's low-level settings.<br />
This is done in the <b><tt>firmware</tt></b> section by specifying the ''board'' attribute for the ''target'' "ap" (autopilot).<br />
<br />
Select the appropriate hardware autopilot board you are going to use in your airframe:<br />
"twog_1.0", "tiny_0.99", "tiny_1.1", "tiny_2.1", "tiny_2.11", "booz_1.0", "lisa_l_1.0", "lisa_l_1.1", "lisa_m_1.0", "lisa_s_1.0", "pc"<br />
<br />
{{Box Code|conf/airframes/myplane.xml|<br />
<pre><br />
<firmware name="fixedwing"><br />
<target name="sim" board="pc"/><br />
<target name="ap" board="tiny_2.11"/><br />
.<br />
.<br />
.<br />
</firmware><br />
</pre><br />
}}<br />
<br />
Note that the "pc" is a special kind of "board", and is mostly used only for simulation flights of an autopilot via your computer.<br />
<br />
==== Direct Makefile ====<br />
Optionally you can also add a raw [http://en.wikipedia.org/wiki/Makefile Makefile] section. This is only needed in very advanced setups. For example when testing newly developed hardware.<br />
<br />
=== Radio Control ===<br />
The Paparazzi autopilot 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.<br />
<br />
Proper Spektrum support is on the way.<br />
<br />
Just specify the appropriate subsystem in your firmware section:<br />
{{Box Code|conf/airframes/myplane.xml|<br />
<pre><br />
<firmware name="fixedwing"><br />
<target name="sim" board="pc"/><br />
<target name="ap" board="tiny_2.11"/><br />
.<br />
.<br />
.<br />
<subsystem name="radio_control" type="ppm"/><br />
</firmware><br />
</pre><br />
}}<br />
<br />
==== Obsolete Classix Autopilot ====<br />
If you have a Classix Autopilot:<br />
{{Box Code|conf/airframes/myplane.xml|<br />
<nowiki>ap.CFLAGS += -DRADIO_CONTROL</nowiki><br />
<nowiki>ap.EXTRA_SRCS += radio_control.c $(SRC_ARCH)/ppm_hw.c</nowiki><br />
<nowiki>ap.CFLAGS += -DACTUATORS=\"servos_direct_hw.h\"</nowiki><br />
<nowiki>ap.EXTRA_SRCS += $(SRC_ARCH)/servos_direct_hw.c</nowiki><br />
}}<br />
<br />
For the Classix, you must specify which pins to use for PWM by adding "-DPWM_SERVO_0, etc." to the line fbw.CFLAGS. This activate the PWM channel. <br />
<tt>wiring on classix PWM connector<br />
connector LPC shared port <br />
PWM1 PWM5 AD1_6 CAP1_3 P0.21<br />
PWM2 PWM3 RXD0 EINT0 P0.1<br />
PWM3 PWM1 TXD0 P0.0<br />
PWM4 PWM6 RXD1 EINT3 P0.9<br />
PWM5 PWM4 TXD1 AD1_1 P0.8<br />
PWM6 PWM2 SSEL0 EINT2 P0.7</tt><br />
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 ).<br />
<br />
=== Telemetry (Modem) ===<br />
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 your [[Telemetry|telemetry file]], e.g. <tt>conf/telemetry/default.xml</tt>. Those wishing to experiment with "alternative" modems can reduce the number and period of each telemetry message to fit within most any bandwidth constraint.<br />
<br />
Paparazzi supports the following modem protocols:<br />
* 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.<br />
* 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.<br />
<br />
Just specify the appropriate subsystem in your firmware section. You can currently choose between the types '''transparent''' and '''xbee_api'''.<br />
{{Box Code|conf/airframes/myplane.xml|<br />
<pre><br />
<firmware name="fixedwing"><br />
<target name="ap" board="tiny_2.11"/><br />
.<br />
.<br />
.<br />
<subsystem name="telemetry" type="transparent"/><br />
</firmware><br />
</pre><br />
}}<br />
<br />
The correct UART is already defined by default according to your board.<br />
The default modem baudrate is 57600baud.<br />
<br />
If you use different baud rate or Uart set the according parameters, e.g.<br />
{{Box Code|conf/airframes/myplane.xml|<br />
<pre><br />
<firmware name="fixedwing"><br />
<target name="ap" board="tiny_2.11"/><br />
.<br />
.<br />
.<br />
<subsystem name="telemetry" type="transparent"><br />
<configure name="MODEM_BAUD" value="B9600"/><br />
<configure name="MODEM_PORT" value="UART1"/><br />
</subsystem><br />
</firmware><br />
</pre><br />
}}<br />
<br />
<br />
==== Configuring The Serial Protocol ====<br />
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 UAS 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.<br />
<br />
{{Box Code|conf/airframes/myplane.xml|<br />
<nowiki><br />
<section name="DATALINK" prefix="DATALINK_"><br />
<define name="DEVICE_TYPE" value="PPRZ"/><br />
<define name="DEVICE_ADDRESS" value="...."/><br />
</section><br />
</nowiki><br />
}}<br />
The above example tells the autopilot to send and receive data in standard serial form.<br />
<br />
==== Configuring The Maxstream API Protocol ====<br />
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 "ATWR" command for greater reliability.<br />
<br />
{{Box Code|conf/airframes/myplane.xml|<br />
<nowiki><br />
<section name="MISC"><br />
...<br />
<define name="XBEE_INIT" value="\"ATPL2\rATRN1\rATTT80\r\ATBD6\rATWR\r\""/><br />
...<br />
</section></nowiki><br />
}}<br />
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 <tt><define name="NO_XBEE_API_INIT" value="TRUE"/></tt> (the parameter "value" has no effect), update the baud rate as needed, and re-flash the autopilot. The modem and autopilot serial port baud rates must match each other at all times.<br />
<br><br />
Notes: <br />
* 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 <tt><define name="NO_XBEE_API_INIT" value="TRUE"/> </tt>.<br />
* The ac_id defined in <tt>conf/conf.xml</tt> is permanently programmed into the modem so this procedure would need to be re-run if the modem is moved to another plane.<br />
* For temporary boot-time API configuration remove any baud rate changes, remove <tt>ATWR\r</tt> from the end of the string.<br />
* Upgrade your Maxstream firmware to the latest version before attempting API mode operation.<br />
<br />
=====Alternate Method=====<br />
This is the way it is done in funjet1.xml and has been tested to work by Danstah<br />
<br />
{{Box Code|conf/airframes/funjet1.xml|<br />
<nowiki><br />
<section name="MISC"><br />
...<br />
<define name="XBEE_INIT" value="\"ATPL2\rATRN1\rATTT80\r\""/><br />
<!-- <define name="NO_XBEE_API_INIT" value="TRUE"/> --><br />
...<br />
</section></nowiki><br />
}}<br />
Also use this<br />
{{Box Code|conf/airframes/funjet1.xml|<br />
<nowiki><br />
<br />
<section name="DATALINK" prefix="DATALINK_"><br />
<define name="DEVICE_TYPE" value="XBEE"/><br />
<define name="DEVICE_ADDRESS" value="...."/><br />
</section><br />
</nowiki><br />
}}<br />
<br />
Keep in mind that the ground modem baud rate and aircraft modem baud rate do not have to match. What does need to match however is the baud rate of your modem build into the aircraft and the rate defined in the airframe file. For example if this aircraft modem is set to 9600Baud, this modem can connect with a ground modem configured set to 57600Baud.<br />
Also for multiple UAS, a good way to configure them is to use 9600Baud for the Autopilot board and use a ground modem configured to 57600Baud. After your aircrafts are working well, set your configuration to use minimal telemetry.<br />
<br />
==== Set GCS baud rate ====<br />
Set can set the baudrate for the link in the GCS by specifying ''-s 57600'' as a parameter to link. Then just save your session so you won't have to change it again next time.<br />
<br />
You can also manually write a session:<br />
{{Box Code|conf/control_panel.xml|<br />
<nowiki><br />
<session name="USB"><br />
<program name="link"><br />
<arg flag="-d" constant="/dev/ttyUSB0"/><br />
<!--<arg flag="-transport" constant="xbee"/>--><!-- uncomment this line for XBee API mode --><br />
<arg flag="-s" constant="57600"/><br />
</program><br />
...<br />
</session><br />
</nowiki><br />
}}<br />
<br />
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/Installation#Setting_access_rights_for_USB_download Setting Udev rules]<br />
<br />
=== GPS ===<br />
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:<br />
<br />
Just specify the appropriate subsystem in your firmware section. You can currently choose between the types '''ublox''' and '''ublox_utm''' for the older series 4 modules which still provide a UTM message.<br />
{{Box Code|conf/airframes/myplane.xml|<br />
<pre><br />
<firmware name="fixedwing"><br />
<target name="ap" board="tiny_2.11"/><br />
...<br />
<subsystem name="gps" type="ublox"/><br />
</firmware><br />
</pre><br />
}}<br />
<br />
The correct UART is already defined by default according to your board.<br />
The default modem baudrate is 38400baud.<br />
<br />
If you use different baud rates or UART set the according parameters, e.g.<br />
{{Box Code|conf/airframes/myplane.xml|<br />
<pre><br />
<firmware name="fixedwing"><br />
<target name="ap" board="tiny_2.11"/><br />
...<br />
<subsystem name="gps" type="ublox"><br />
<configure name="GPS_BAUD" value="B9600"/><br />
<configure name="GPS_PORT" value="UART0"/><br />
</subsystem><br />
</firmware><br />
</pre><br />
}}<br />
<br />
'''Note:'''<br />
* 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 thrugh the [[Compiling#USB_flashing|UART Tunnel]] and [[GPS#GPS_configuration_using_U-Center|Configured with u-center]]<br />
<br />
=== Infrared Sensors ===<br />
To use the IR sensors for attitude estimation add the attitude infrared subsystem:<br />
{{Box Code|conf/airframes/myplane.xml|<br />
<pre><br />
<firmware name="fixedwing"><br />
<target name="ap" board="tiny_2.11"/><br />
...<br />
<subsystem name="attitude" type="infrared"/><br />
</firmware><br />
</pre><br />
}}<br />
<br />
<br />
The ADC channels are already default to the correct ADCs for your board, but you can of course change the assignments:<br />
{{Box Code|conf/airframes/myplane.xml|<br />
<pre><br />
<firmware name="fixedwing"><br />
<target name="ap" board="tiny_2.11"/><br />
...<br />
<subsystem name="attitude" type="infrared"><br />
<configure name="ADC_IR1" value="ADC_1"/><br />
<configure name="ADC_IR2" value="ADC_2"/><br />
<configure name="ADC_IR_TOP" value="ADC_0"/><br />
<configure name="ADC_IR_NB_SAMPLES" value="16"/><br />
</subsystem><br />
</firmware><br />
</pre><br />
}}<br />
<br />
=== Control loops ===<br />
<br />
The [[Control_Loops#Fixed-wing_autopilot|control loops]] can be divided in two largely independent groups : the vertical ones and the horizontal ones (standard files sw/airborne/firmwares/fixedwing/guidance/guidance_v.c and sw/airborne/firmwares/fixedwing/stabilization/stabilization_attitude.c ). Those loops can be commanded at different levels by either the R/C transmitter or the autonomous navigation routine.<br />
<br />
Just specify the appropriate subsystem in your firmware section. You can currently choose between no type (see below) and the types '''adaptive''' and '''new'''.<br />
{{Box Code|conf/airframes/myplane.xml|<br />
<pre><br />
<firmware name="fixedwing"><br />
<target name="ap" board="tiny_2.11"/><br />
...<br />
<subsystem name="control"/><br />
</firmware><br />
</pre><br />
}}<br />
<br />
[[Category:User_Documentation]] [[Category:Software]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=ArduIMU&diff=9812ArduIMU2011-07-24T06:11:17Z<p>Aerovista: </p>
<hr />
<div>[[Image:ArduIMU_xs.JPG|thumb|right|ArduIMU with i2c wires and serial connector]]<br />
[[Image:Tiny13wIMU_001.jpg|thumb|right|Tiny13 w/IMU]]<br />
[[Image:Ppzfunjetaimu01.jpg|thumb|right|TWOG w/IMU]]<br />
This page describes how to integrate an [http://code.google.com/p/ardu-imu/wiki/HomePage?tm=6 ArduIMU+ V2 (flat)] into an existing Airframe/Paparazzi-Code.<br />
#The ArduIMU communicates over i2c with the Paparazzi-AP. The wiring is pretty easy to do. Connect SDA, SCL, ground at the i2c pins. Supply the IMU with 5V at one of the three 5V pins. The 3.3V i2c pin stays unconnected. Do not connect 3.3V from the Paparazzi-AP to the ArduIMU as it internally generates it's own stable 3.3v supply.<br />
#Integration into the Paparazzi software is realized as a module. This is an easy way to connect and test the software. <br />
#This description shows how to use the ArduIMU without a separate GPS-Receiver and without a Compass/Magnetometer. The GPS-Data is sent by the Paparazzi-AP over i2c to the ArduIMU.<br />
#There is an other airframe/main-AP we wrote which uses a magnetometer for yaw-drift compensation. We haven't written an installation guide for this configuration yet. But we will try to do this as soon as possible. <br />
<br />
The Code has been integrated into the Paparazzi build system.<br />
<br><br />
<br><br />
<br><br />
<br><br />
<br />
== Airframe Adjustments ==<br />
<br />
First, remove the infrared configuration and substitute the IMU configuration (which uses I2C) as follows :<br />
<br />
In your airframe file (found usually in conf/airframes with a name like "MyAirframe.xml")<br />
<br />
* (1) '''Insert''' the software module :<br />
<modules><br />
<load name="ins_arduimu.xml"/><br />
</modules><br />
<br />
* (2) Activate the "i2c" subsystem / peripheral, increase i2c queue length to 16, and reduce i2c clock speed:<br />
<target name="ap" board="..."><br />
...<br />
<define name="USE_I2C0"/><br />
</target><br />
<subsystem name="i2c"><br />
<define name="I2C_TRANSACTION_QUEUE_LEN" value="16"/> <!-- default is 8 --><br />
<define name="I2C0_SCLL" value="400"/> <!-- default clock speed 37.5KHz with our 15MHz PCLK I2C0_CLOCK=PCLK/(I2C0_SCLL+I2C0_SCLH) --><br />
<define name="I2C0_SCLH" value="400"/> <!-- Default values are 200 and must be the same for both SCLL and SCLH --><br />
</subsystem><br />
<br />
* (3) '''Insert''' INS neutrals:<br />
<br />
<section name="INS" prefix="INS_"><br />
<define name="ROLL_NEUTRAL_DEFAULT" value="0" unit="deg"/><br />
<define name="PITCH_NEUTRAL_DEFAULT" value="0" unit="deg"/><br />
</section><br />
<br />
* (4) '''Remove''' the infrared estimation :<br />
<br />
remove the line that looks like the following:<br />
<subsystem name="attitude" type="infrared"/><br />
<br />
TODO: link to sample working airframe in git<br />
<br />
'''NOTE:''' Martin Mueller has committed some ArduIMU changes to<br />
https://github.com/martinmm/paparazzi for review.<br />
<br />
It is based on ArduIMU v1.7 and fixes the main issue which was printing serial data while in I2C interrupt, also includes Steve Joyce's fixes. <br />
<br />
Additional features are running at 60Hz, having the possibility to use the Paparazzi ROLL_RATE loop and transferring the gps data as it is received rather than at a constant, non synchronized rate. The v1.7 uses gps 3D speed for centrifugal correction whereas the v1.8.2 uses 2D speed. <br />
<br />
Bill Premerlani's paper is a little vague on that but it is thought that 3D should be more precise when climbing/descending. Maybe 2D is used as simple gps receivers don't have 3D speed?<br />
<br />
An example airframe file is at /conf/airframes/mm/fixed-wing/fw_ins_arduimu.xml It controlled a Funjet in 55m circles climbing 6m/s nicely.<br />
<br />
== Aircraft Settings ==<br />
<br />
* (5) Use this '''Settings''' file: settings/tuning_basic_ins.xml<br />
<br />
== Magnetometer (Ignore for now) ==<br />
TODO: post Magnetometer integration guide<br />
<br />
== Flash the ArduIMU ==<br />
<br />
(6) Programming the ArduIMU for use with the Tiny includes using : <br />
# Adapted software in '''sw/airborne/firmwares/non_ap/arduimu_Firmware_WithGps'''. <br />
# Standard USB FTDI cable plugged into the header that comes with the arduimu (Match the wire colors with those written on the arduimu silkscreen GRN=Green BLK=Black)<br />
<br />
Steps:<br />
<br />
*Plug in USB FTDI Cable to PC and ArduIMU (this also provides power)<br />
<br />
*Install the Arduino IDE using the Ubuntu Software Center or the following command line:<br />
$ sudo apt-get install arduino<br />
<br />
*Launch the Arduino IDE using the Dash (in Ubuntu 11.04) or the following command line:<br />
$ arduino<br />
[[Image:arduino_open_sketch.png|thumb]]<br />
(TODO: Using the graphical interface is probably not necessary as the flashing seems to use avrdude command line utility)<br />
<br />
* Open project/sketch (File->open , point to paparazzi/sw/airborne/firmwares/non_ap/arduimu_Firmware_WithGps/arduimu/arduime.pde)<br />
<br />
* Clicking the "verify" button compiles<br />
<br />
* Clicking the "upload" button flashes<br />
** You may need to select your com port in menu Tools->Serial Port<br />
** You may need to select Atmega328 in menu Tool->Board<br />
<br />
For more information concerning flashing of the ArduIMU, read: http://code.google.com/p/ardu-imu/wiki/Code<br />
<br />
Do we still need this or is everything in git now?<br />
You can find the original ZHAW code [https://home.zhaw.ch/~schmiemi/Arduimu4Paprazzi.rar here].<br />
<br />
== Install and test the ArduIMU ==<br />
<br />
* The current firmware does not implement a full rotation matrix calculation and instead assumes that the arduimu's "x" axis is aligned with the fuselage. When installing the device in your aircraft be sure to respect this constraint.<br />
<br />
* Clean and build your aircraft target in paparazzi center and flash your Tiny as usual<br />
<br />
* With your GCS session running, you should see attitudes messages including the new messages "xxx" and " xxx" <br />
[[Image:arduimu_gcs_messages.png|thumb]]<br />
<br />
== Hardware Considerations ==<br />
<br />
So far, this setup has been successfully flown in the Maja and EasyStar aircraft. For faster more agile aircraft such as the Merlin or Funjet, the polling rate needs to be changed from 15 Hz to 50 Hz in the '''/conf/modules/ins_arduimu.xml''' file.<br />
<br />
<periodic fun="ArduIMU_periodic()" freq="50" autorun="TRUE"/> <br />
<periodic fun="ArduIMU_periodicGPS()" freq="4" autorun="TRUE"/> <br />
<br />
The ArduIMU is sensitive to vibrations. Mount it on a thick piece of foam to dampen the vibrations.<br />
<br />
<br />
Have Fun !<br />
<br />
== Analysis and Results ==<br />
<br />
TODO: Compare IR and arduimu estimations for various flight conditions<br />
TODO: Fuse the two estimates together for robustness?<br />
<br />
Please Post Results Here... Issues?<br />
<br />
[[Category:Hardware]] [[Category:Software]] [[Category:User_Documentation]] [[Category:Modules]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=File:ArduIMU_xs.JPG&diff=9811File:ArduIMU xs.JPG2011-07-24T06:06:51Z<p>Aerovista: ArduIMU with i2c wires and serial connector</p>
<hr />
<div>ArduIMU with i2c wires and serial connector</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=ArduIMU&diff=9810ArduIMU2011-07-23T20:44:23Z<p>Aerovista: /* Flash the ArduIMU */</p>
<hr />
<div>[[Image:Tiny13wIMU_001.jpg|thumb|right|Tiny13 w/IMU]]<br />
[[Image:Ppzfunjetaimu01.jpg|thumb|right|TWOG w/IMU]]<br />
This page describes how to integrate an [http://code.google.com/p/ardu-imu/wiki/HomePage?tm=6 ArduIMU+ V2 (flat)] into an existing Airframe/Paparazzi-Code.<br />
#The ArduIMU communicates over i2c with the Paparazzi-AP. The wiring is pretty easy to do. Connect SDA, SCL, ground at the i2c pins. Supply the IMU with 5V at one of the three 5V pins. The 3.3V i2c pin stays unconnected. Do not connect 3.3V from the Paparazzi-AP to the ArduIMU as it internally generates it's own stable 3.3v supply.<br />
#Integration into the Paparazzi software is realized as a module. This is an easy way to connect and test the software. <br />
#This description shows how to use the ArduIMU without a separate GPS-Receiver and without a Compass/Magnetometer. The GPS-Data is sent by the Paparazzi-AP over i2c to the ArduIMU.<br />
#There is an other airframe/main-AP we wrote which uses a magnetometer for yaw-drift compensation. We haven't written an installation guide for this configuration yet. But we will try to do this as soon as possible. <br />
<br />
The Code has been integrated into the Paparazzi build system. <br />
<br />
<br />
== Airframe Adjustments ==<br />
<br />
First, remove the infrared configuration and substitute the IMU configuration (which uses I2C) as follows :<br />
<br />
In your airframe file (found usually in conf/airframes with a name like "MyAirframe.xml")<br />
<br />
* (1) '''Insert''' the software module :<br />
<modules><br />
<load name="ins_arduimu.xml"/><br />
</modules><br />
<br />
* (2) Activate the "i2c" subsystem / peripheral, increase i2c queue length to 16, and reduce i2c clock speed:<br />
<target name="ap" board="..."><br />
...<br />
<define name="USE_I2C0"/><br />
</target><br />
<subsystem name="i2c"><br />
<define name="I2C_TRANSACTION_QUEUE_LEN" value="16"/> <!-- default is 8 --><br />
<define name="I2C0_SCLL" value="400"/> <!-- default clock speed 37.5KHz with our 15MHz PCLK I2C0_CLOCK=PCLK/(I2C0_SCLL+I2C0_SCLH) --><br />
<define name="I2C0_SCLH" value="400"/> <!-- Default values are 200 and must be the same for both SCLL and SCLH --><br />
</subsystem><br />
<br />
* (3) '''Insert''' INS neutrals:<br />
<br />
<section name="INS" prefix="INS_"><br />
<define name="ROLL_NEUTRAL_DEFAULT" value="0" unit="deg"/><br />
<define name="PITCH_NEUTRAL_DEFAULT" value="0" unit="deg"/><br />
</section><br />
<br />
* (4) '''Remove''' the infrared estimation :<br />
<br />
remove the line that looks like the following:<br />
<subsystem name="attitude" type="infrared"/><br />
<br />
TODO: link to sample working airframe in git<br />
<br />
'''NOTE:''' Martin Mueller has committed some ArduIMU changes to<br />
https://github.com/martinmm/paparazzi for review.<br />
<br />
It is based on ArduIMU v1.7 and fixes the main issue which was printing serial data while in I2C interrupt, also includes Steve Joyce's fixes. <br />
<br />
Additional features are running at 60Hz, having the possibility to use the Paparazzi ROLL_RATE loop and transferring the gps data as it is received rather than at a constant, non synchronized rate. The v1.7 uses gps 3D speed for centrifugal correction whereas the v1.8.2 uses 2D speed. <br />
<br />
Bill Premerlani's paper is a little vague on that but it is thought that 3D should be more precise when climbing/descending. Maybe 2D is used as simple gps receivers don't have 3D speed?<br />
<br />
An example airframe file is at /conf/airframes/mm/fixed-wing/fw_ins_arduimu.xml It controlled a Funjet in 55m circles climbing 6m/s nicely.<br />
<br />
== Aircraft Settings ==<br />
<br />
* (5) Use this '''Settings''' file: settings/tuning_basic_ins.xml<br />
<br />
== Magnetometer (Ignore for now) ==<br />
TODO: post Magnetometer integration guide<br />
<br />
== Flash the ArduIMU ==<br />
<br />
(6) Programming the ArduIMU for use with the Tiny includes using : <br />
# Adapted software in '''sw/airborne/firmwares/non_ap/arduimu_Firmware_WithGps'''. <br />
# Standard USB FTDI cable plugged into the header that comes with the arduimu (Match the wire colors with those written on the arduimu silkscreen GRN=Green BLK=Black)<br />
<br />
Steps:<br />
<br />
*Plug in USB FTDI Cable to PC and ArduIMU (this also provides power)<br />
<br />
*Install the Arduino IDE using the Ubuntu Software Center or the following command line:<br />
$ sudo apt-get install arduino<br />
<br />
*Launch the Arduino IDE using the Dash (in Ubuntu 11.04) or the following command line:<br />
$ arduino<br />
[[Image:arduino_open_sketch.png|thumb]]<br />
(TODO: Using the graphical interface is probably not necessary as the flashing seems to use avrdude command line utility)<br />
<br />
* Open project/sketch (File->open , point to paparazzi/sw/airborne/firmwares/non_ap/arduimu_Firmware_WithGps/arduimu/arduime.pde)<br />
<br />
* Clicking the "verify" button compiles<br />
<br />
* Clicking the "upload" button flashes<br />
** You may need to select your com port in menu Tools->Serial Port<br />
** You may need to select Atmega328 in menu Tool->Board<br />
<br />
For more information concerning flashing of the ArduIMU, read: http://code.google.com/p/ardu-imu/wiki/Code<br />
<br />
Do we still need this or is everything in git now?<br />
You can find the original ZHAW code [https://home.zhaw.ch/~schmiemi/Arduimu4Paprazzi.rar here].<br />
<br />
== Install and test the ArduIMU ==<br />
<br />
* The current firmware does not implement a full rotation matrix calculation and instead assumes that the arduimu's "x" axis is aligned with the fuselage. When installing the device in your aircraft be sure to respect this constraint.<br />
<br />
* Clean and build your aircraft target in paparazzi center and flash your Tiny as usual<br />
<br />
* With your GCS session running, you should see attitudes messages including the new messages "xxx" and " xxx" <br />
[[Image:arduimu_gcs_messages.png|thumb]]<br />
<br />
== Hardware Considerations ==<br />
<br />
So far, this setup has been successfully flown in the Maja and EasyStar aircraft. For faster more agile aircraft such as the Merlin or Funjet, the polling rate needs to be changed from 15 Hz to 50 Hz in the '''/conf/modules/ins_arduimu.xml''' file.<br />
<br />
<periodic fun="ArduIMU_periodic()" freq="50" autorun="TRUE"/> <br />
<periodic fun="ArduIMU_periodicGPS()" freq="4" autorun="TRUE"/> <br />
<br />
The ArduIMU is sensitive to vibrations. Mount it on a thick piece of foam to dampen the vibrations.<br />
<br />
<br />
Have Fun !<br />
<br />
== Analysis and Results ==<br />
<br />
TODO: Compare IR and arduimu estimations for various flight conditions<br />
TODO: Fuse the two estimates together for robustness?<br />
<br />
Please Post Results Here... Issues?<br />
<br />
[[Category:Hardware]] [[Category:Software]] [[Category:User_Documentation]] [[Category:Modules]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=ArduIMU&diff=9809ArduIMU2011-07-23T18:44:32Z<p>Aerovista: /* Flash the ArduIMU */</p>
<hr />
<div>[[Image:Tiny13wIMU_001.jpg|thumb|right|Tiny13 w/IMU]]<br />
[[Image:Ppzfunjetaimu01.jpg|thumb|right|TWOG w/IMU]]<br />
This page describes how to integrate an [http://code.google.com/p/ardu-imu/wiki/HomePage?tm=6 ArduIMU+ V2 (flat)] into an existing Airframe/Paparazzi-Code.<br />
#The ArduIMU communicates over i2c with the Paparazzi-AP. The wiring is pretty easy to do. Connect SDA, SCL, ground at the i2c pins. Supply the IMU with 5V at one of the three 5V pins. The 3.3V i2c pin stays unconnected. Do not connect 3.3V from the Paparazzi-AP to the ArduIMU as it internally generates it's own stable 3.3v supply.<br />
#Integration into the Paparazzi software is realized as a module. This is an easy way to connect and test the software. <br />
#This description shows how to use the ArduIMU without a separate GPS-Receiver and without a Compass/Magnetometer. The GPS-Data is sent by the Paparazzi-AP over i2c to the ArduIMU.<br />
#There is an other airframe/main-AP we wrote which uses a magnetometer for yaw-drift compensation. We haven't written an installation guide for this configuration yet. But we will try to do this as soon as possible. <br />
<br />
The Code has been integrated into the Paparazzi build system. <br />
<br />
<br />
== Airframe Adjustments ==<br />
<br />
First, remove the infrared configuration and substitute the IMU configuration (which uses I2C) as follows :<br />
<br />
In your airframe file (found usually in conf/airframes with a name like "MyAirframe.xml")<br />
<br />
* (1) '''Insert''' the software module :<br />
<modules><br />
<load name="ins_arduimu.xml"/><br />
</modules><br />
<br />
* (2) Activate the "i2c" subsystem / peripheral, increase i2c queue length to 16, and reduce i2c clock speed:<br />
<target name="ap" board="..."><br />
...<br />
<define name="USE_I2C0"/><br />
</target><br />
<subsystem name="i2c"><br />
<define name="I2C_TRANSACTION_QUEUE_LEN" value="16"/> <!-- default is 8 --><br />
<define name="I2C0_SCLL" value="400"/> <!-- default clock speed 37.5KHz with our 15MHz PCLK I2C0_CLOCK=PCLK/(I2C0_SCLL+I2C0_SCLH) --><br />
<define name="I2C0_SCLH" value="400"/> <!-- Default values are 200 and must be the same for both SCLL and SCLH --><br />
</subsystem><br />
<br />
* (3) '''Insert''' INS neutrals:<br />
<br />
<section name="INS" prefix="INS_"><br />
<define name="ROLL_NEUTRAL_DEFAULT" value="0" unit="deg"/><br />
<define name="PITCH_NEUTRAL_DEFAULT" value="0" unit="deg"/><br />
</section><br />
<br />
* (4) '''Remove''' the infrared estimation :<br />
<br />
remove the line that looks like the following:<br />
<subsystem name="attitude" type="infrared"/><br />
<br />
TODO: link to sample working airframe in git<br />
<br />
'''NOTE:''' Martin Mueller has committed some ArduIMU changes to<br />
https://github.com/martinmm/paparazzi for review.<br />
<br />
It is based on ArduIMU v1.7 and fixes the main issue which was printing serial data while in I2C interrupt, also includes Steve Joyce's fixes. <br />
<br />
Additional features are running at 60Hz, having the possibility to use the Paparazzi ROLL_RATE loop and transferring the gps data as it is received rather than at a constant, non synchronized rate. The v1.7 uses gps 3D speed for centrifugal correction whereas the v1.8.2 uses 2D speed. <br />
<br />
Bill Premerlani's paper is a little vague on that but it is thought that 3D should be more precise when climbing/descending. Maybe 2D is used as simple gps receivers don't have 3D speed?<br />
<br />
An example airframe file is at /conf/airframes/mm/fixed-wing/fw_ins_arduimu.xml It controlled a Funjet in 55m circles climbing 6m/s nicely.<br />
<br />
== Aircraft Settings ==<br />
<br />
* (5) Use this '''Settings''' file: settings/tuning_basic_ins.xml<br />
<br />
== Magnetometer (Ignore for now) ==<br />
TODO: post Magnetometer integration guide<br />
<br />
== Flash the ArduIMU ==<br />
<br />
(6) Programming the ArduIMU for use with the Tiny includes using : <br />
# Adapted software in '''sw/airborne/firmwares/non_ap/arduimu_Firmware_WithGps'''. <br />
# Standard USB FTDI cable plugged into the header that comes with the arduimu (Match the wire colors with those written on the arduimu silkscreen GRN=Green BLK=Black)<br />
<br />
Steps:<br />
<br />
*Plug in USB FTDI Cable to PC and ArduIMU (this also provides power)<br />
<br />
*Install the Arduino IDE using the Ubuntu Software Center or the following command line:<br />
$ sudo apt-get install arduino<br />
<br />
*Launch the Arduino IDE using the Dash (in Ubuntu 11.04) or the following command line:<br />
$ arduino<br />
[[Image:arduino_open_sketch.png|thumb]]<br />
(TODO: Using the graphical interface is probably not necessary as the flashing seems to use avrdude command line utility)<br />
<br />
* open project/sketch (File->open , point to paparazzi/sw/airborne/firmwares/non_ap/arduimu_Firmware_WithGps/arduimu/arduime.pde)<br />
<br />
* clicking "verify" button compiles<br />
<br />
* clicking "upload" button flashes (may need to select your com port in menu Tools->Serial Port)<br />
<br />
For more information concerning flashing of the ArduIMU, read: http://code.google.com/p/ardu-imu/wiki/Code<br />
<br />
Do we still need this or is everything in git now?<br />
You can find the original ZHAW code [https://home.zhaw.ch/~schmiemi/Arduimu4Paprazzi.rar here].<br />
<br />
== Install and test the ArduIMU ==<br />
<br />
* The current firmware does not implement a full rotation matrix calculation and instead assumes that the arduimu's "x" axis is aligned with the fuselage. When installing the device in your aircraft be sure to respect this constraint.<br />
<br />
* Clean and build your aircraft target in paparazzi center and flash your Tiny as usual<br />
<br />
* With your GCS session running, you should see attitudes messages including the new messages "xxx" and " xxx" <br />
[[Image:arduimu_gcs_messages.png|thumb]]<br />
<br />
== Hardware Considerations ==<br />
<br />
So far, this setup has been successfully flown in the Maja and EasyStar aircraft. For faster more agile aircraft such as the Merlin or Funjet, the polling rate needs to be changed from 15 Hz to 50 Hz in the '''/conf/modules/ins_arduimu.xml''' file.<br />
<br />
<periodic fun="ArduIMU_periodic()" freq="50" autorun="TRUE"/> <br />
<periodic fun="ArduIMU_periodicGPS()" freq="4" autorun="TRUE"/> <br />
<br />
The ArduIMU is sensitive to vibrations. Mount it on a thick piece of foam to dampen the vibrations.<br />
<br />
<br />
Have Fun !<br />
<br />
== Analysis and Results ==<br />
<br />
TODO: Compare IR and arduimu estimations for various flight conditions<br />
TODO: Fuse the two estimates together for robustness?<br />
<br />
Please Post Results Here... Issues?<br />
<br />
[[Category:Hardware]] [[Category:Software]] [[Category:User_Documentation]] [[Category:Modules]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=ArduIMU&diff=9808ArduIMU2011-07-23T18:39:34Z<p>Aerovista: /* Flash the ArduIMU */</p>
<hr />
<div>[[Image:Tiny13wIMU_001.jpg|thumb|right|Tiny13 w/IMU]]<br />
[[Image:Ppzfunjetaimu01.jpg|thumb|right|TWOG w/IMU]]<br />
This page describes how to integrate an [http://code.google.com/p/ardu-imu/wiki/HomePage?tm=6 ArduIMU+ V2 (flat)] into an existing Airframe/Paparazzi-Code.<br />
#The ArduIMU communicates over i2c with the Paparazzi-AP. The wiring is pretty easy to do. Connect SDA, SCL, ground at the i2c pins. Supply the IMU with 5V at one of the three 5V pins. The 3.3V i2c pin stays unconnected. Do not connect 3.3V from the Paparazzi-AP to the ArduIMU as it internally generates it's own stable 3.3v supply.<br />
#Integration into the Paparazzi software is realized as a module. This is an easy way to connect and test the software. <br />
#This description shows how to use the ArduIMU without a separate GPS-Receiver and without a Compass/Magnetometer. The GPS-Data is sent by the Paparazzi-AP over i2c to the ArduIMU.<br />
#There is an other airframe/main-AP we wrote which uses a magnetometer for yaw-drift compensation. We haven't written an installation guide for this configuration yet. But we will try to do this as soon as possible. <br />
<br />
The Code has been integrated into the Paparazzi build system. <br />
<br />
<br />
== Airframe Adjustments ==<br />
<br />
First, remove the infrared configuration and substitute the IMU configuration (which uses I2C) as follows :<br />
<br />
In your airframe file (found usually in conf/airframes with a name like "MyAirframe.xml")<br />
<br />
* (1) '''Insert''' the software module :<br />
<modules><br />
<load name="ins_arduimu.xml"/><br />
</modules><br />
<br />
* (2) Activate the "i2c" subsystem / peripheral, increase i2c queue length to 16, and reduce i2c clock speed:<br />
<target name="ap" board="..."><br />
...<br />
<define name="USE_I2C0"/><br />
</target><br />
<subsystem name="i2c"><br />
<define name="I2C_TRANSACTION_QUEUE_LEN" value="16"/> <!-- default is 8 --><br />
<define name="I2C0_SCLL" value="400"/> <!-- default clock speed 37.5KHz with our 15MHz PCLK I2C0_CLOCK=PCLK/(I2C0_SCLL+I2C0_SCLH) --><br />
<define name="I2C0_SCLH" value="400"/> <!-- Default values are 200 and must be the same for both SCLL and SCLH --><br />
</subsystem><br />
<br />
* (3) '''Insert''' INS neutrals:<br />
<br />
<section name="INS" prefix="INS_"><br />
<define name="ROLL_NEUTRAL_DEFAULT" value="0" unit="deg"/><br />
<define name="PITCH_NEUTRAL_DEFAULT" value="0" unit="deg"/><br />
</section><br />
<br />
* (4) '''Remove''' the infrared estimation :<br />
<br />
remove the line that looks like the following:<br />
<subsystem name="attitude" type="infrared"/><br />
<br />
TODO: link to sample working airframe in git<br />
<br />
'''NOTE:''' Martin Mueller has committed some ArduIMU changes to<br />
https://github.com/martinmm/paparazzi for review.<br />
<br />
It is based on ArduIMU v1.7 and fixes the main issue which was printing serial data while in I2C interrupt, also includes Steve Joyce's fixes. <br />
<br />
Additional features are running at 60Hz, having the possibility to use the Paparazzi ROLL_RATE loop and transferring the gps data as it is received rather than at a constant, non synchronized rate. The v1.7 uses gps 3D speed for centrifugal correction whereas the v1.8.2 uses 2D speed. <br />
<br />
Bill Premerlani's paper is a little vague on that but it is thought that 3D should be more precise when climbing/descending. Maybe 2D is used as simple gps receivers don't have 3D speed?<br />
<br />
An example airframe file is at /conf/airframes/mm/fixed-wing/fw_ins_arduimu.xml It controlled a Funjet in 55m circles climbing 6m/s nicely.<br />
<br />
== Aircraft Settings ==<br />
<br />
* (5) Use this '''Settings''' file: settings/tuning_basic_ins.xml<br />
<br />
== Magnetometer (Ignore for now) ==<br />
TODO: post Magnetometer integration guide<br />
<br />
== Flash the ArduIMU ==<br />
<br />
(6) Programming the ArduIMU for use with the Tiny includes using : <br />
# Adapted software in '''sw/airborne/firmwares/non_ap/arduimu_Firmware_WithGps'''. <br />
# Standard USB FTDI cable plugged into the header that comes with the arduimu (Match the wire colors with those written on the arduimu silkscreen GRN=Green BLK=Black)<br />
<br />
Steps:<br />
<br />
*Plug in USB FTDI Cable to PC and ArduIMU (this also provides power)<br />
<br />
*Install the Arduino IDE using the Ubuntu Software Center or the following command line:<br />
$ sudo apt-get install arduino<br />
<br />
*Now launch the Arduino IDE :<br />
$ arduino<br />
[[Image:arduino_open_sketch.png|thumb]]<br />
(TODO: Using the graphical interface is probably not necessary as the flashing seems to use avrdude command line utility)<br />
<br />
* open project/sketch (File->open , point to paparazzi/sw/airborne/firmwares/non_ap/arduimu_Firmware_WithGps/arduimu/arduime.pde)<br />
<br />
* clicking "verify" button compiles<br />
<br />
* clicking "upload" button flashes (may need to select your com port in menu Tools->Serial Port)<br />
<br />
For more information concerning flashing of the ArduIMU, read: http://code.google.com/p/ardu-imu/wiki/Code<br />
<br />
Do we still need this or is everything in git now?<br />
You can find the original ZHAW code [https://home.zhaw.ch/~schmiemi/Arduimu4Paprazzi.rar here].<br />
<br />
== Install and test the ArduIMU ==<br />
<br />
* The current firmware does not implement a full rotation matrix calculation and instead assumes that the arduimu's "x" axis is aligned with the fuselage. When installing the device in your aircraft be sure to respect this constraint.<br />
<br />
* Clean and build your aircraft target in paparazzi center and flash your Tiny as usual<br />
<br />
* With your GCS session running, you should see attitudes messages including the new messages "xxx" and " xxx" <br />
[[Image:arduimu_gcs_messages.png|thumb]]<br />
<br />
== Hardware Considerations ==<br />
<br />
So far, this setup has been successfully flown in the Maja and EasyStar aircraft. For faster more agile aircraft such as the Merlin or Funjet, the polling rate needs to be changed from 15 Hz to 50 Hz in the '''/conf/modules/ins_arduimu.xml''' file.<br />
<br />
<periodic fun="ArduIMU_periodic()" freq="50" autorun="TRUE"/> <br />
<periodic fun="ArduIMU_periodicGPS()" freq="4" autorun="TRUE"/> <br />
<br />
The ArduIMU is sensitive to vibrations. Mount it on a thick piece of foam to dampen the vibrations.<br />
<br />
<br />
Have Fun !<br />
<br />
== Analysis and Results ==<br />
<br />
TODO: Compare IR and arduimu estimations for various flight conditions<br />
TODO: Fuse the two estimates together for robustness?<br />
<br />
Please Post Results Here... Issues?<br />
<br />
[[Category:Hardware]] [[Category:Software]] [[Category:User_Documentation]] [[Category:Modules]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=ArduIMU&diff=9807ArduIMU2011-07-23T18:35:41Z<p>Aerovista: </p>
<hr />
<div>[[Image:Tiny13wIMU_001.jpg|thumb|right|Tiny13 w/IMU]]<br />
[[Image:Ppzfunjetaimu01.jpg|thumb|right|TWOG w/IMU]]<br />
This page describes how to integrate an [http://code.google.com/p/ardu-imu/wiki/HomePage?tm=6 ArduIMU+ V2 (flat)] into an existing Airframe/Paparazzi-Code.<br />
#The ArduIMU communicates over i2c with the Paparazzi-AP. The wiring is pretty easy to do. Connect SDA, SCL, ground at the i2c pins. Supply the IMU with 5V at one of the three 5V pins. The 3.3V i2c pin stays unconnected. Do not connect 3.3V from the Paparazzi-AP to the ArduIMU as it internally generates it's own stable 3.3v supply.<br />
#Integration into the Paparazzi software is realized as a module. This is an easy way to connect and test the software. <br />
#This description shows how to use the ArduIMU without a separate GPS-Receiver and without a Compass/Magnetometer. The GPS-Data is sent by the Paparazzi-AP over i2c to the ArduIMU.<br />
#There is an other airframe/main-AP we wrote which uses a magnetometer for yaw-drift compensation. We haven't written an installation guide for this configuration yet. But we will try to do this as soon as possible. <br />
<br />
The Code has been integrated into the Paparazzi build system. <br />
<br />
<br />
== Airframe Adjustments ==<br />
<br />
First, remove the infrared configuration and substitute the IMU configuration (which uses I2C) as follows :<br />
<br />
In your airframe file (found usually in conf/airframes with a name like "MyAirframe.xml")<br />
<br />
* (1) '''Insert''' the software module :<br />
<modules><br />
<load name="ins_arduimu.xml"/><br />
</modules><br />
<br />
* (2) Activate the "i2c" subsystem / peripheral, increase i2c queue length to 16, and reduce i2c clock speed:<br />
<target name="ap" board="..."><br />
...<br />
<define name="USE_I2C0"/><br />
</target><br />
<subsystem name="i2c"><br />
<define name="I2C_TRANSACTION_QUEUE_LEN" value="16"/> <!-- default is 8 --><br />
<define name="I2C0_SCLL" value="400"/> <!-- default clock speed 37.5KHz with our 15MHz PCLK I2C0_CLOCK=PCLK/(I2C0_SCLL+I2C0_SCLH) --><br />
<define name="I2C0_SCLH" value="400"/> <!-- Default values are 200 and must be the same for both SCLL and SCLH --><br />
</subsystem><br />
<br />
* (3) '''Insert''' INS neutrals:<br />
<br />
<section name="INS" prefix="INS_"><br />
<define name="ROLL_NEUTRAL_DEFAULT" value="0" unit="deg"/><br />
<define name="PITCH_NEUTRAL_DEFAULT" value="0" unit="deg"/><br />
</section><br />
<br />
* (4) '''Remove''' the infrared estimation :<br />
<br />
remove the line that looks like the following:<br />
<subsystem name="attitude" type="infrared"/><br />
<br />
TODO: link to sample working airframe in git<br />
<br />
'''NOTE:''' Martin Mueller has committed some ArduIMU changes to<br />
https://github.com/martinmm/paparazzi for review.<br />
<br />
It is based on ArduIMU v1.7 and fixes the main issue which was printing serial data while in I2C interrupt, also includes Steve Joyce's fixes. <br />
<br />
Additional features are running at 60Hz, having the possibility to use the Paparazzi ROLL_RATE loop and transferring the gps data as it is received rather than at a constant, non synchronized rate. The v1.7 uses gps 3D speed for centrifugal correction whereas the v1.8.2 uses 2D speed. <br />
<br />
Bill Premerlani's paper is a little vague on that but it is thought that 3D should be more precise when climbing/descending. Maybe 2D is used as simple gps receivers don't have 3D speed?<br />
<br />
An example airframe file is at /conf/airframes/mm/fixed-wing/fw_ins_arduimu.xml It controlled a Funjet in 55m circles climbing 6m/s nicely.<br />
<br />
== Aircraft Settings ==<br />
<br />
* (5) Use this '''Settings''' file: settings/tuning_basic_ins.xml<br />
<br />
== Magnetometer (Ignore for now) ==<br />
TODO: post Magnetometer integration guide<br />
<br />
== Flash the ArduIMU ==<br />
<br />
(6) Programming the ArduIMU for use with the Tiny includes using : <br />
# Adapted software in '''sw/airborne/firmwares/non_ap/arduimu_Firmware_WithGps'''. <br />
# Standard USB FTDI cable plugged into the header that comes with the arduimu (Match the wire colors with those written on the arduimu silkscreen GRN=Green BLK=Black)<br />
<br />
Steps:<br />
<br />
*Plug in USB FTDI Cable to PC and ArduIMU (this also provides power)<br />
<br />
*On ubuntu 10.10 installation of the arduino software is as simple as :<br />
$ sudo apt-get install arduino<br />
<br />
*Now launch the arduino IDE :<br />
$ arduino<br />
[[Image:arduino_open_sketch.png|thumb]]<br />
(TODO: Using the graphical interface is probably not necessary as the flashing seems to use avrdude command line utility)<br />
<br />
* open project/sketch (File->open , point to paparazzi/sw/airborne/firmwares/non_ap/arduimu_Firmware_WithGps/arduimu/arduime.pde)<br />
<br />
* clicking "verify" button compiles<br />
<br />
* clicking "upload" button flashes (may need to select your com port in menu Tools->Serial Port)<br />
<br />
For more information concerning flashing of the ArduIMU, read: http://code.google.com/p/ardu-imu/wiki/Code<br />
<br />
Do we still need this or is everything in git now?<br />
You can find the original ZHAW code [https://home.zhaw.ch/~schmiemi/Arduimu4Paprazzi.rar here].<br />
<br />
== Install and test the ArduIMU ==<br />
<br />
* The current firmware does not implement a full rotation matrix calculation and instead assumes that the arduimu's "x" axis is aligned with the fuselage. When installing the device in your aircraft be sure to respect this constraint.<br />
<br />
* Clean and build your aircraft target in paparazzi center and flash your Tiny as usual<br />
<br />
* With your GCS session running, you should see attitudes messages including the new messages "xxx" and " xxx" <br />
[[Image:arduimu_gcs_messages.png|thumb]]<br />
<br />
== Hardware Considerations ==<br />
<br />
So far, this setup has been successfully flown in the Maja and EasyStar aircraft. For faster more agile aircraft such as the Merlin or Funjet, the polling rate needs to be changed from 15 Hz to 50 Hz in the '''/conf/modules/ins_arduimu.xml''' file.<br />
<br />
<periodic fun="ArduIMU_periodic()" freq="50" autorun="TRUE"/> <br />
<periodic fun="ArduIMU_periodicGPS()" freq="4" autorun="TRUE"/> <br />
<br />
The ArduIMU is sensitive to vibrations. Mount it on a thick piece of foam to dampen the vibrations.<br />
<br />
<br />
Have Fun !<br />
<br />
== Analysis and Results ==<br />
<br />
TODO: Compare IR and arduimu estimations for various flight conditions<br />
TODO: Fuse the two estimates together for robustness?<br />
<br />
Please Post Results Here... Issues?<br />
<br />
[[Category:Hardware]] [[Category:Software]] [[Category:User_Documentation]] [[Category:Modules]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=Installation/Linux&diff=9805Installation/Linux2011-07-23T11:52:43Z<p>Aerovista: /* Using Synaptic Package Manager */</p>
<hr />
<div>== Introduction ==<br />
<br />
Paparazzi is very easily installed on any laptop or workstation running the [http://www.ubuntu.com/ Ubuntu Linux OS] or virtually any [http://www.debian.org/ Debian] based [http://en.wikipedia.org/wiki/Linux Linux] or even Apple Macintosh running [[InstallationMacOSX|Mac OS X]].<br />
<br />
At a high-level here are the steps required to install Paparazzi:<br />
<ul><br />
<li>Install a current Ubuntu Linux distribution.<br />
<li>The Paparazzi packages are installed using Synaptic Package Manager.<br />
<li>Download the sources from the git repository.<br />
<li>Allow access to the ports by copying the [http://www.openuas.org/pub/writing_udev_rules.html rules file]: (export PAPARAZZI_HOME=~/paparazzi; export PAPARAZZI_SRC=~/paparazzi; sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/10-paparazzi.rules /etc/udev/rules.d/)<br />
<li>Compile the binaries from the sources (cd paparazzi && make)<br />
</ul><br />
<br />
That's all.<br />
<br />
=== Operating System ===<br />
<br />
Paparazzi is very easily installed on any laptop or workstation running the [http://www.ubuntu.com/ Ubuntu Linux OS] or virtually any [http://www.debian.org/ Debian] based [http://en.wikipedia.org/wiki/Linux Linux]. Paparazzi is packaged for Debian as well as all of its dependencies. The [http://paparazzi.enac.fr/debian repository] hosted at ENAC holds their latest version.<br />
<br />
It is also possible to have your Debian/Ubuntu running in a virtual machine, for instance with [http://www.virtualbox.org/ VirtualBox]. This requires minimal changes to your computer setup, as you can run the VM from all common platforms (Windows, [http://paparazzi.enac.fr/wiki/InstallationMacOSX OS X], Linux). The virtual machine image can easily be transferred between different laptops, giving greater flexibility. Unfortunately, the Open-Source Edition of VirtualBox doesn't include the necessary USB support, so you'll need to get the regular version from the website.<br />
<br />
If you are new and this is your first time installing it is suggested you keep it simple. Select a system you can dedicate to the Linux installation. No VMs or dual boot configurations. The idea is do a very simple generic installation that is certain to have no issues. This reassures you that the installation process works and you can see and use a working Paparazzi install for some time before you try a more complicated install. The install is well documented below and certain to succeed if followed exactly. Most issues arise when someone unfamiliar with Linux tries a non-standard install that requires special steps not documented here.<br />
<br />
=== Compilers and Handlers ===<br />
<br />
The typical installation contains all of the necessary C and OCaml compilers as well as some XML and [http://www.tls.cena.fr/products/ivy/ Ivy] handlers. These tools are provided by the ''paparazzi-dev'' package. Have no fear, this is all taken care of for you so all you must do is type a few simple commands. Below are those commands and helpful information. Commands can be copied and pasted from these pages to make it as easy as possible. <br />
<br />
=== Source Code ===<br />
<br />
The Paparazzi source code is hosted by [https://github.com/paparazzi/paparazzi Github]. It is downloaded using [[git]].<br />
<br />
== Installation of Compilers and Handlers ==<br />
<br />
=== Using Synaptic Package Manager ===<br />
* Launch ''Synaptic Package Manager'' (Menu '''System/Administration''')<br />
* In '''Settings/Repositories''', add a new repository (Software Source) in the tab '''Other Software''':<br>APT line: <tt>deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> natty main</tt><br>This APT line works for Ubuntu Natty/11.04. For other Ubuntu versions adapt as described below in the command line section.<br />
* Search for <tt>paparazzi-dev</tt>, <tt>paparazzi-arm7</tt> and <tt>paparazzi-stm32</tt> packages (use the ''Search'' button)<br />
* Mark them for installation (right-click on package names)<br />
* Left-click on ''Apply''<br />
<br />
=== From the Command Line ===<br />
<br />
If the Synaptic Package Manager doesn't work for you, you can alternatively use the command line:<br />
<br />
For the sources file (sources.list) you only add the line required for your version. Linux names their versions. <br />
<br />
Just add the following lines to your repository list (<b>/etc/apt/sources.list</b>) and then<br />
uncomment the line relevant to your operating system (e.g. one of etch, gutsy or hardy):<br />
<br />
Note: Because of the sources.list file permissions maybe you will need to edit it with root access. In Terminal write this:<br />
<br />
gksudo gedit /etc/apt/sources.list<br />
<br />
{{Box Code|/etc/apt/sources.list|<br />
# Uncomment just _one_ of the following lines - depending on your OS version<br />
# deb <nowiki>http://paparazzi.enac.fr/debian</nowiki> etch main<br />
# deb <nowiki>http://paparazzi.enac.fr/debian</nowiki> lenny main<br />
# deb <nowiki>http://paparazzi.enac.fr/debian</nowiki> squeeze main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> gutsy main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> hardy main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> intrepid main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> jaunty main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> karmic main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> lucid main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> maverick main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> natty main<br />
}}<br />
<br />
Then, update your sources and install the dependencies needed for recompiling from the source (<b>dev</b>), and the cross-compilers (<b>arm7</b>, <b>stm32</b> or both) :<br />
<br />
For ARM7 (i.e. Tiny or TWOG boards) :<br />
sudo apt-get update<br />
sudo apt-get install paparazzi-dev paparazzi-arm7<br />
-- or newerdays --<br />
sudo apt-get install paparazzi-dev paparazzi-lpc21<br />
<br />
For STM32 (i.e. Lisa boards) :<br />
sudo apt-get update<br />
sudo apt-get install paparazzi-dev paparazzi-stm32<br />
<br />
==== Obsolete Packages ====<br />
Users of the older AVR based boards will also need the <b>paparazzi-avr</b> package. It is unlikely you need it.<br />
<br />
==== Older Ubuntu Versions ====<br />
<br />
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:<br />
<br />
sudo apt-get remove brltty<br />
<br />
=== Manual Installation of Individual Packages ===<br />
Users of other Linux flavors than a recent Ubuntu or anyone needing manual control of each individual package can [[Manual_Installation|install them independently]].<br />
<br />
== Downloading the Source Code ==<br />
The complete source code should be downloaded from the paparazzi software repository on Github. Make sure you have installed the <tt>paparazzi-dev</tt> package as described above. Whithout these you will not be able to compile the sourcecode.<br />
<br />
See the [https://github.com/paparazzi/paparazzi project page] at Github for more details. From the directory of your choice type:<br />
git clone git://github.com/paparazzi/paparazzi.git<br />
or if you are behind a firewall with an http proxy available:<br />
git clone https://github.com/paparazzi/paparazzi.git<br />
<br />
This will download all of the paparazzi sourcecode need for an autopilot to work into the directory <tt>paparazzi/</tt><br />
<br />
'''If this whole "Git" thing is new to you an you are curious, more options and information can be found on the [[git]] page.'''<br />
<br />
== Launching the Software ==<br />
<br />
The first step is to compile. From the <tt>paparazzi</tt> directory (<tt>cd paparazzi</tt>), run<br />
<br />
make<br />
<br />
You will have to run this command after each update of the source (<tt>git pull</tt> command).<br />
Launch the software from the <tt>paparazzi</tt> directory with<br />
<br />
./paparazzi<br />
<br />
From the [[Paparazzi_Center|Paparazzi Center]] interface, select the ''Microjet'' aircraft, select the ''sim'' target and ''Build'' it. Then ''Execute'' the ''Simulation'' session. The procedure is detailed in the [[Simulation]] page.<br />
<br />
=== Quick Launch Icon ===<br />
<br />
To create an icon on the desktop so you don’t have to manually type codes into the Terminal each time you want to start the Paparazzi Center follow these steps:<br />
<br />
#Save [[Media:Paparazzi_logo.png|this image file]] to your /paparazzi folder<br />
#Right click anywhere on the Ubuntu desktop and click Create Launcher.<br />
#Enter the following in the fields provided:<br />
#*Name: Paparazzi Center<br />
#*Command: /home/YOUR_USER_NAME/paparazzi/paparazzi<br />
#*Comment: Runs the Paparazzi Center<br />
#*Then click the icon image in the top left on the dialog box and select the Paparazzi logo you just downloaded.<br />
#Click the OK button and that’s it! Your icon should appear on the desktop and you are ready to go.<br />
<br />
=== Agents ===<br />
<br />
If ('''and only if''') you want to directly launch some Paparazzi agents (the ''Tools'' of the [[Paparazzi_Center|Paparazzi Center]]), without using the Paparazzi Center, you must have the Paparazzi source and home environment variables set correctly in your shell. These variables can be automatically set in your shell by adding the following lines to your .bashrc file:<br />
{{Box Code|~/.bashrc|<br />
export PAPARAZZI_HOME<nowiki>=</nowiki>''your paparazzi software directory''<br />
export PAPARAZZI_SRC<nowiki>=</nowiki>''your paparazzi software directory''<br />
}}<br />
<br />
=== env Variables ===<br />
<br />
If you wish to manually set the env variables (i.e. when compiling a backup copy of your code in a different folder) execute the following command from the folder you wish to set as your active paparazzi folder:<br />
export PAPARAZZI_HOME=`pwd`;export PAPARAZZI_SRC=`pwd`<br />
Verify that your variables are set correctly with the following command:<br />
env | grep PAPARAZZI<br />
which should return the following:<br />
PAPARAZZI_HOME<nowiki>=</nowiki>''your paparazzi software directory''<br />
PAPARAZZI_SRC<nowiki>=</nowiki>''your paparazzi software directory''<br />
<br />
== Setting access rights for USB download ==<br />
<br />
This may be required to flash the Paparazzi-boards directly thru USB. For flashing details, see [[Compiling]].<br />
<br />
Default linux rights may not allow standard (non root) users to directly access the USB bus. You will need to make yourself a member of the plugdev "group" and then create a "rule", associated with that "group". <br><br />
Make yourself a member of the ''plugdev'' group:<br />
<br />
sudo adduser <your login> plugdev<br />
<br />
Logout and login again. Then add the appropriate rule (available ine fhe file ''50-paparazzi.rules'') to the USB handler. Simply copy as root <tt>$PAPARAZZI_HOME/conf/system/udev/rules/50-paparazzi.rules</tt> to <tt>/etc/udev/rules.d/</tt><br />
<br />
sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/50-paparazzi.rules /etc/udev/rules.d/<br />
<br />
== Software Updates ==<br />
Paparazzi is a very rapidly evolving project and as such you might want to update your software regularly.<br />
<br />
Any new files you created will not be lost/overwritten when updating (like your own airframe file). Nevertheless, as with all things, backups are advised.<br />
If you modified source code, the best way is of course to use the version control system [[Git]] to commit your changes. Otherwise at least use the brute force method and save everything in another directory.<br />
<br />
Update your software with care and caution, and always test the functionality on the ground and in the air as some updates will affect tuning parameters. You might need to update your airframe file as well. The compiler will usually complain if there is a problem, at which point you can look at the [[Airframe_Configuration|Airframe Configuration wiki page]] again, look on the [[Contact#Mailing_List|mailing list]] or some of the most recent airframe files on git to find the proper syntax. See the [[Compiling]] page for more help if needed.<br />
<br />
That said, keeping your software up to date is fairly easy with Git.<br />
<br />
To download and automatically merge any updated source files, run the following command from your Paparazzi directory<br />
git pull<br />
Please see the [[Git|Git wiki page]] for more details.<br />
<br />
After any git update or source code modification the code can be recompiled from ''your paparazzi software directory'' with the following command:<br />
<br />
make<br />
<br />
The ''make'' command will only recompile portions of the software where changed have been detected. If it does not behave as expected you can deleted all compiled files and recompile from scratch with the following commands:<br />
<br />
make clean<br />
make<br />
<br />
See the [[Compiling]] page for more info.<br />
<br />
== Using the Live CD ==<br />
<br />
There is a [[LiveCD]] available, but it dates back to 2008. It is still an easy way to get a first glimpse on Paparazzi.<br />
<br />
== From Scratch==<br />
<br />
In very rare occasions one needs to install the tools used, third-party libraries used by Paparazzi all from scratch. Currently there are no 64 bit Linux repositories, that is a very good reason to install from scratch. Sometime one just wants to be able to use all the latest and greatest compilers, or source code of everything to improve something. Then there is no other way than to install from scratch. To help you out getting it all smoothly working [[install_paparazzi_and_everything_from_scratch | a special page is created just click here]]. If you do not understand what that all means, do not panic, then the information on that page is not important to you. Just pretend you never read this part of the Wiki. You are advised just to follow the regular step as described on the install page.<br />
<br />
== Using 32Bit on 64Bit ==<br />
<br />
If you don't know what 64 bit (x86_64) means, then don't worry about this!<br />
As previously discussed, there are currently no 64 bit paparazzi pre-made deb packages available. You could opt to install from scratch as described here http://paparazzi.enac.fr/wiki/Install_paparazzi_and_everything_from_scratch<br />
An temporary solution is to use an i386 installation instead. In rare circumstances however, this may be problematic (certain engineering software for example requires 64 bit kernels).<br />
In these cases, a chroot is a good compromise, while avoiding the overhead of a virtual machine (and USB device problems which may occur).<br />
Initial instructions are here for now: https://help.ubuntu.com/community/DebootstrapChroot<br />
The command you use for the bootstrap needs to reflect your architecture - I used<br />
<br />
sudo debootstrap --variant=buildd --arch i386 lucid /var/chroot/lucid http://gb.archive.ubuntu.com/ubuntu/<br />
<br />
The format for schroot config files has changed as of lucid however - here is mine:<br />
<br />
$ cat /etc/schroot/chroot.d/lucid-i386 <br />
[lucid]<br />
description=Ubuntu 10.04 Lucid for i386<br />
directory=/var/chroot/lucid<br />
personality=linux32<br />
root-users=my_user<br />
type=directory<br />
users=my_user<br />
<br />
Once you've installed the ubuntu minimal package, make sure you also enable the uni- and multiverse repos (the easiest way for me is to simply copy my host's /etc/apt/sources.lst to /var/chroot/lucid/etc/apt/sources.lst).<br />
Then follow the standard instructions above. You may need to manually set the PAPARAZZI_HOME and PAPARAZZI_SRC environment variables. You will also have to set the DISPLAY environment variable to :0.0 like so:<br />
<br />
export DISPLAY=:0.0<br />
<br />
Please note, this is more advanced than the standard paparazzi installation and therefore you may encounter strange problems.<br />
<br />
[[Category:Software]] [[Category:User_Documentation]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=Installation/Linux&diff=9804Installation/Linux2011-07-23T11:52:09Z<p>Aerovista: /* Using Synaptic Package Manager */</p>
<hr />
<div>== Introduction ==<br />
<br />
Paparazzi is very easily installed on any laptop or workstation running the [http://www.ubuntu.com/ Ubuntu Linux OS] or virtually any [http://www.debian.org/ Debian] based [http://en.wikipedia.org/wiki/Linux Linux] or even Apple Macintosh running [[InstallationMacOSX|Mac OS X]].<br />
<br />
At a high-level here are the steps required to install Paparazzi:<br />
<ul><br />
<li>Install a current Ubuntu Linux distribution.<br />
<li>The Paparazzi packages are installed using Synaptic Package Manager.<br />
<li>Download the sources from the git repository.<br />
<li>Allow access to the ports by copying the [http://www.openuas.org/pub/writing_udev_rules.html rules file]: (export PAPARAZZI_HOME=~/paparazzi; export PAPARAZZI_SRC=~/paparazzi; sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/10-paparazzi.rules /etc/udev/rules.d/)<br />
<li>Compile the binaries from the sources (cd paparazzi && make)<br />
</ul><br />
<br />
That's all.<br />
<br />
=== Operating System ===<br />
<br />
Paparazzi is very easily installed on any laptop or workstation running the [http://www.ubuntu.com/ Ubuntu Linux OS] or virtually any [http://www.debian.org/ Debian] based [http://en.wikipedia.org/wiki/Linux Linux]. Paparazzi is packaged for Debian as well as all of its dependencies. The [http://paparazzi.enac.fr/debian repository] hosted at ENAC holds their latest version.<br />
<br />
It is also possible to have your Debian/Ubuntu running in a virtual machine, for instance with [http://www.virtualbox.org/ VirtualBox]. This requires minimal changes to your computer setup, as you can run the VM from all common platforms (Windows, [http://paparazzi.enac.fr/wiki/InstallationMacOSX OS X], Linux). The virtual machine image can easily be transferred between different laptops, giving greater flexibility. Unfortunately, the Open-Source Edition of VirtualBox doesn't include the necessary USB support, so you'll need to get the regular version from the website.<br />
<br />
If you are new and this is your first time installing it is suggested you keep it simple. Select a system you can dedicate to the Linux installation. No VMs or dual boot configurations. The idea is do a very simple generic installation that is certain to have no issues. This reassures you that the installation process works and you can see and use a working Paparazzi install for some time before you try a more complicated install. The install is well documented below and certain to succeed if followed exactly. Most issues arise when someone unfamiliar with Linux tries a non-standard install that requires special steps not documented here.<br />
<br />
=== Compilers and Handlers ===<br />
<br />
The typical installation contains all of the necessary C and OCaml compilers as well as some XML and [http://www.tls.cena.fr/products/ivy/ Ivy] handlers. These tools are provided by the ''paparazzi-dev'' package. Have no fear, this is all taken care of for you so all you must do is type a few simple commands. Below are those commands and helpful information. Commands can be copied and pasted from these pages to make it as easy as possible. <br />
<br />
=== Source Code ===<br />
<br />
The Paparazzi source code is hosted by [https://github.com/paparazzi/paparazzi Github]. It is downloaded using [[git]].<br />
<br />
== Installation of Compilers and Handlers ==<br />
<br />
=== Using Synaptic Package Manager ===<br />
* Launch ''Synaptic Package Manager'' (Menu '''System/Administration''')<br />
* In '''Settings/Repositories''', add a new repository (Software Source) in the tab '''Other Software''':<br>APT line: <tt>deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> natty main</tt><br>This APT line works for Ubuntu Maverick/11.04. For other Ubuntu versions adapt as described below in the command line section.<br />
* Search for <tt>paparazzi-dev</tt>, <tt>paparazzi-arm7</tt> and <tt>paparazzi-stm32</tt> packages (use the ''Search'' button)<br />
* Mark them for installation (right-click on package names)<br />
* Left-click on ''Apply''<br />
<br />
=== From the Command Line ===<br />
<br />
If the Synaptic Package Manager doesn't work for you, you can alternatively use the command line:<br />
<br />
For the sources file (sources.list) you only add the line required for your version. Linux names their versions. <br />
<br />
Just add the following lines to your repository list (<b>/etc/apt/sources.list</b>) and then<br />
uncomment the line relevant to your operating system (e.g. one of etch, gutsy or hardy):<br />
<br />
Note: Because of the sources.list file permissions maybe you will need to edit it with root access. In Terminal write this:<br />
<br />
gksudo gedit /etc/apt/sources.list<br />
<br />
{{Box Code|/etc/apt/sources.list|<br />
# Uncomment just _one_ of the following lines - depending on your OS version<br />
# deb <nowiki>http://paparazzi.enac.fr/debian</nowiki> etch main<br />
# deb <nowiki>http://paparazzi.enac.fr/debian</nowiki> lenny main<br />
# deb <nowiki>http://paparazzi.enac.fr/debian</nowiki> squeeze main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> gutsy main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> hardy main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> intrepid main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> jaunty main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> karmic main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> lucid main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> maverick main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> natty main<br />
}}<br />
<br />
Then, update your sources and install the dependencies needed for recompiling from the source (<b>dev</b>), and the cross-compilers (<b>arm7</b>, <b>stm32</b> or both) :<br />
<br />
For ARM7 (i.e. Tiny or TWOG boards) :<br />
sudo apt-get update<br />
sudo apt-get install paparazzi-dev paparazzi-arm7<br />
-- or newerdays --<br />
sudo apt-get install paparazzi-dev paparazzi-lpc21<br />
<br />
For STM32 (i.e. Lisa boards) :<br />
sudo apt-get update<br />
sudo apt-get install paparazzi-dev paparazzi-stm32<br />
<br />
==== Obsolete Packages ====<br />
Users of the older AVR based boards will also need the <b>paparazzi-avr</b> package. It is unlikely you need it.<br />
<br />
==== Older Ubuntu Versions ====<br />
<br />
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:<br />
<br />
sudo apt-get remove brltty<br />
<br />
=== Manual Installation of Individual Packages ===<br />
Users of other Linux flavors than a recent Ubuntu or anyone needing manual control of each individual package can [[Manual_Installation|install them independently]].<br />
<br />
== Downloading the Source Code ==<br />
The complete source code should be downloaded from the paparazzi software repository on Github. Make sure you have installed the <tt>paparazzi-dev</tt> package as described above. Whithout these you will not be able to compile the sourcecode.<br />
<br />
See the [https://github.com/paparazzi/paparazzi project page] at Github for more details. From the directory of your choice type:<br />
git clone git://github.com/paparazzi/paparazzi.git<br />
or if you are behind a firewall with an http proxy available:<br />
git clone https://github.com/paparazzi/paparazzi.git<br />
<br />
This will download all of the paparazzi sourcecode need for an autopilot to work into the directory <tt>paparazzi/</tt><br />
<br />
'''If this whole "Git" thing is new to you an you are curious, more options and information can be found on the [[git]] page.'''<br />
<br />
== Launching the Software ==<br />
<br />
The first step is to compile. From the <tt>paparazzi</tt> directory (<tt>cd paparazzi</tt>), run<br />
<br />
make<br />
<br />
You will have to run this command after each update of the source (<tt>git pull</tt> command).<br />
Launch the software from the <tt>paparazzi</tt> directory with<br />
<br />
./paparazzi<br />
<br />
From the [[Paparazzi_Center|Paparazzi Center]] interface, select the ''Microjet'' aircraft, select the ''sim'' target and ''Build'' it. Then ''Execute'' the ''Simulation'' session. The procedure is detailed in the [[Simulation]] page.<br />
<br />
=== Quick Launch Icon ===<br />
<br />
To create an icon on the desktop so you don’t have to manually type codes into the Terminal each time you want to start the Paparazzi Center follow these steps:<br />
<br />
#Save [[Media:Paparazzi_logo.png|this image file]] to your /paparazzi folder<br />
#Right click anywhere on the Ubuntu desktop and click Create Launcher.<br />
#Enter the following in the fields provided:<br />
#*Name: Paparazzi Center<br />
#*Command: /home/YOUR_USER_NAME/paparazzi/paparazzi<br />
#*Comment: Runs the Paparazzi Center<br />
#*Then click the icon image in the top left on the dialog box and select the Paparazzi logo you just downloaded.<br />
#Click the OK button and that’s it! Your icon should appear on the desktop and you are ready to go.<br />
<br />
=== Agents ===<br />
<br />
If ('''and only if''') you want to directly launch some Paparazzi agents (the ''Tools'' of the [[Paparazzi_Center|Paparazzi Center]]), without using the Paparazzi Center, you must have the Paparazzi source and home environment variables set correctly in your shell. These variables can be automatically set in your shell by adding the following lines to your .bashrc file:<br />
{{Box Code|~/.bashrc|<br />
export PAPARAZZI_HOME<nowiki>=</nowiki>''your paparazzi software directory''<br />
export PAPARAZZI_SRC<nowiki>=</nowiki>''your paparazzi software directory''<br />
}}<br />
<br />
=== env Variables ===<br />
<br />
If you wish to manually set the env variables (i.e. when compiling a backup copy of your code in a different folder) execute the following command from the folder you wish to set as your active paparazzi folder:<br />
export PAPARAZZI_HOME=`pwd`;export PAPARAZZI_SRC=`pwd`<br />
Verify that your variables are set correctly with the following command:<br />
env | grep PAPARAZZI<br />
which should return the following:<br />
PAPARAZZI_HOME<nowiki>=</nowiki>''your paparazzi software directory''<br />
PAPARAZZI_SRC<nowiki>=</nowiki>''your paparazzi software directory''<br />
<br />
== Setting access rights for USB download ==<br />
<br />
This may be required to flash the Paparazzi-boards directly thru USB. For flashing details, see [[Compiling]].<br />
<br />
Default linux rights may not allow standard (non root) users to directly access the USB bus. You will need to make yourself a member of the plugdev "group" and then create a "rule", associated with that "group". <br><br />
Make yourself a member of the ''plugdev'' group:<br />
<br />
sudo adduser <your login> plugdev<br />
<br />
Logout and login again. Then add the appropriate rule (available ine fhe file ''50-paparazzi.rules'') to the USB handler. Simply copy as root <tt>$PAPARAZZI_HOME/conf/system/udev/rules/50-paparazzi.rules</tt> to <tt>/etc/udev/rules.d/</tt><br />
<br />
sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/50-paparazzi.rules /etc/udev/rules.d/<br />
<br />
== Software Updates ==<br />
Paparazzi is a very rapidly evolving project and as such you might want to update your software regularly.<br />
<br />
Any new files you created will not be lost/overwritten when updating (like your own airframe file). Nevertheless, as with all things, backups are advised.<br />
If you modified source code, the best way is of course to use the version control system [[Git]] to commit your changes. Otherwise at least use the brute force method and save everything in another directory.<br />
<br />
Update your software with care and caution, and always test the functionality on the ground and in the air as some updates will affect tuning parameters. You might need to update your airframe file as well. The compiler will usually complain if there is a problem, at which point you can look at the [[Airframe_Configuration|Airframe Configuration wiki page]] again, look on the [[Contact#Mailing_List|mailing list]] or some of the most recent airframe files on git to find the proper syntax. See the [[Compiling]] page for more help if needed.<br />
<br />
That said, keeping your software up to date is fairly easy with Git.<br />
<br />
To download and automatically merge any updated source files, run the following command from your Paparazzi directory<br />
git pull<br />
Please see the [[Git|Git wiki page]] for more details.<br />
<br />
After any git update or source code modification the code can be recompiled from ''your paparazzi software directory'' with the following command:<br />
<br />
make<br />
<br />
The ''make'' command will only recompile portions of the software where changed have been detected. If it does not behave as expected you can deleted all compiled files and recompile from scratch with the following commands:<br />
<br />
make clean<br />
make<br />
<br />
See the [[Compiling]] page for more info.<br />
<br />
== Using the Live CD ==<br />
<br />
There is a [[LiveCD]] available, but it dates back to 2008. It is still an easy way to get a first glimpse on Paparazzi.<br />
<br />
== From Scratch==<br />
<br />
In very rare occasions one needs to install the tools used, third-party libraries used by Paparazzi all from scratch. Currently there are no 64 bit Linux repositories, that is a very good reason to install from scratch. Sometime one just wants to be able to use all the latest and greatest compilers, or source code of everything to improve something. Then there is no other way than to install from scratch. To help you out getting it all smoothly working [[install_paparazzi_and_everything_from_scratch | a special page is created just click here]]. If you do not understand what that all means, do not panic, then the information on that page is not important to you. Just pretend you never read this part of the Wiki. You are advised just to follow the regular step as described on the install page.<br />
<br />
== Using 32Bit on 64Bit ==<br />
<br />
If you don't know what 64 bit (x86_64) means, then don't worry about this!<br />
As previously discussed, there are currently no 64 bit paparazzi pre-made deb packages available. You could opt to install from scratch as described here http://paparazzi.enac.fr/wiki/Install_paparazzi_and_everything_from_scratch<br />
An temporary solution is to use an i386 installation instead. In rare circumstances however, this may be problematic (certain engineering software for example requires 64 bit kernels).<br />
In these cases, a chroot is a good compromise, while avoiding the overhead of a virtual machine (and USB device problems which may occur).<br />
Initial instructions are here for now: https://help.ubuntu.com/community/DebootstrapChroot<br />
The command you use for the bootstrap needs to reflect your architecture - I used<br />
<br />
sudo debootstrap --variant=buildd --arch i386 lucid /var/chroot/lucid http://gb.archive.ubuntu.com/ubuntu/<br />
<br />
The format for schroot config files has changed as of lucid however - here is mine:<br />
<br />
$ cat /etc/schroot/chroot.d/lucid-i386 <br />
[lucid]<br />
description=Ubuntu 10.04 Lucid for i386<br />
directory=/var/chroot/lucid<br />
personality=linux32<br />
root-users=my_user<br />
type=directory<br />
users=my_user<br />
<br />
Once you've installed the ubuntu minimal package, make sure you also enable the uni- and multiverse repos (the easiest way for me is to simply copy my host's /etc/apt/sources.lst to /var/chroot/lucid/etc/apt/sources.lst).<br />
Then follow the standard instructions above. You may need to manually set the PAPARAZZI_HOME and PAPARAZZI_SRC environment variables. You will also have to set the DISPLAY environment variable to :0.0 like so:<br />
<br />
export DISPLAY=:0.0<br />
<br />
Please note, this is more advanced than the standard paparazzi installation and therefore you may encounter strange problems.<br />
<br />
[[Category:Software]] [[Category:User_Documentation]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=Installation/Linux&diff=9803Installation/Linux2011-07-23T11:51:50Z<p>Aerovista: /* Using Synaptic Package Manager */</p>
<hr />
<div>== Introduction ==<br />
<br />
Paparazzi is very easily installed on any laptop or workstation running the [http://www.ubuntu.com/ Ubuntu Linux OS] or virtually any [http://www.debian.org/ Debian] based [http://en.wikipedia.org/wiki/Linux Linux] or even Apple Macintosh running [[InstallationMacOSX|Mac OS X]].<br />
<br />
At a high-level here are the steps required to install Paparazzi:<br />
<ul><br />
<li>Install a current Ubuntu Linux distribution.<br />
<li>The Paparazzi packages are installed using Synaptic Package Manager.<br />
<li>Download the sources from the git repository.<br />
<li>Allow access to the ports by copying the [http://www.openuas.org/pub/writing_udev_rules.html rules file]: (export PAPARAZZI_HOME=~/paparazzi; export PAPARAZZI_SRC=~/paparazzi; sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/10-paparazzi.rules /etc/udev/rules.d/)<br />
<li>Compile the binaries from the sources (cd paparazzi && make)<br />
</ul><br />
<br />
That's all.<br />
<br />
=== Operating System ===<br />
<br />
Paparazzi is very easily installed on any laptop or workstation running the [http://www.ubuntu.com/ Ubuntu Linux OS] or virtually any [http://www.debian.org/ Debian] based [http://en.wikipedia.org/wiki/Linux Linux]. Paparazzi is packaged for Debian as well as all of its dependencies. The [http://paparazzi.enac.fr/debian repository] hosted at ENAC holds their latest version.<br />
<br />
It is also possible to have your Debian/Ubuntu running in a virtual machine, for instance with [http://www.virtualbox.org/ VirtualBox]. This requires minimal changes to your computer setup, as you can run the VM from all common platforms (Windows, [http://paparazzi.enac.fr/wiki/InstallationMacOSX OS X], Linux). The virtual machine image can easily be transferred between different laptops, giving greater flexibility. Unfortunately, the Open-Source Edition of VirtualBox doesn't include the necessary USB support, so you'll need to get the regular version from the website.<br />
<br />
If you are new and this is your first time installing it is suggested you keep it simple. Select a system you can dedicate to the Linux installation. No VMs or dual boot configurations. The idea is do a very simple generic installation that is certain to have no issues. This reassures you that the installation process works and you can see and use a working Paparazzi install for some time before you try a more complicated install. The install is well documented below and certain to succeed if followed exactly. Most issues arise when someone unfamiliar with Linux tries a non-standard install that requires special steps not documented here.<br />
<br />
=== Compilers and Handlers ===<br />
<br />
The typical installation contains all of the necessary C and OCaml compilers as well as some XML and [http://www.tls.cena.fr/products/ivy/ Ivy] handlers. These tools are provided by the ''paparazzi-dev'' package. Have no fear, this is all taken care of for you so all you must do is type a few simple commands. Below are those commands and helpful information. Commands can be copied and pasted from these pages to make it as easy as possible. <br />
<br />
=== Source Code ===<br />
<br />
The Paparazzi source code is hosted by [https://github.com/paparazzi/paparazzi Github]. It is downloaded using [[git]].<br />
<br />
== Installation of Compilers and Handlers ==<br />
<br />
=== Using Synaptic Package Manager ===<br />
* Launch ''Synaptic Package Manager'' (Menu '''System/Administration''')<br />
* In '''Settings/Repositories''', add a new repository (Software Source) in the tab '''Other Software''':<br>APT line: <tt>deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> natty main</tt><br>This APT line works for Ubuntu Maverick/11.4. For other Ubuntu versions adapt as described below in the command line section.<br />
* Search for <tt>paparazzi-dev</tt>, <tt>paparazzi-arm7</tt> and <tt>paparazzi-stm32</tt> packages (use the ''Search'' button)<br />
* Mark them for installation (right-click on package names)<br />
* Left-click on ''Apply''<br />
<br />
=== From the Command Line ===<br />
<br />
If the Synaptic Package Manager doesn't work for you, you can alternatively use the command line:<br />
<br />
For the sources file (sources.list) you only add the line required for your version. Linux names their versions. <br />
<br />
Just add the following lines to your repository list (<b>/etc/apt/sources.list</b>) and then<br />
uncomment the line relevant to your operating system (e.g. one of etch, gutsy or hardy):<br />
<br />
Note: Because of the sources.list file permissions maybe you will need to edit it with root access. In Terminal write this:<br />
<br />
gksudo gedit /etc/apt/sources.list<br />
<br />
{{Box Code|/etc/apt/sources.list|<br />
# Uncomment just _one_ of the following lines - depending on your OS version<br />
# deb <nowiki>http://paparazzi.enac.fr/debian</nowiki> etch main<br />
# deb <nowiki>http://paparazzi.enac.fr/debian</nowiki> lenny main<br />
# deb <nowiki>http://paparazzi.enac.fr/debian</nowiki> squeeze main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> gutsy main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> hardy main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> intrepid main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> jaunty main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> karmic main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> lucid main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> maverick main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> natty main<br />
}}<br />
<br />
Then, update your sources and install the dependencies needed for recompiling from the source (<b>dev</b>), and the cross-compilers (<b>arm7</b>, <b>stm32</b> or both) :<br />
<br />
For ARM7 (i.e. Tiny or TWOG boards) :<br />
sudo apt-get update<br />
sudo apt-get install paparazzi-dev paparazzi-arm7<br />
-- or newerdays --<br />
sudo apt-get install paparazzi-dev paparazzi-lpc21<br />
<br />
For STM32 (i.e. Lisa boards) :<br />
sudo apt-get update<br />
sudo apt-get install paparazzi-dev paparazzi-stm32<br />
<br />
==== Obsolete Packages ====<br />
Users of the older AVR based boards will also need the <b>paparazzi-avr</b> package. It is unlikely you need it.<br />
<br />
==== Older Ubuntu Versions ====<br />
<br />
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:<br />
<br />
sudo apt-get remove brltty<br />
<br />
=== Manual Installation of Individual Packages ===<br />
Users of other Linux flavors than a recent Ubuntu or anyone needing manual control of each individual package can [[Manual_Installation|install them independently]].<br />
<br />
== Downloading the Source Code ==<br />
The complete source code should be downloaded from the paparazzi software repository on Github. Make sure you have installed the <tt>paparazzi-dev</tt> package as described above. Whithout these you will not be able to compile the sourcecode.<br />
<br />
See the [https://github.com/paparazzi/paparazzi project page] at Github for more details. From the directory of your choice type:<br />
git clone git://github.com/paparazzi/paparazzi.git<br />
or if you are behind a firewall with an http proxy available:<br />
git clone https://github.com/paparazzi/paparazzi.git<br />
<br />
This will download all of the paparazzi sourcecode need for an autopilot to work into the directory <tt>paparazzi/</tt><br />
<br />
'''If this whole "Git" thing is new to you an you are curious, more options and information can be found on the [[git]] page.'''<br />
<br />
== Launching the Software ==<br />
<br />
The first step is to compile. From the <tt>paparazzi</tt> directory (<tt>cd paparazzi</tt>), run<br />
<br />
make<br />
<br />
You will have to run this command after each update of the source (<tt>git pull</tt> command).<br />
Launch the software from the <tt>paparazzi</tt> directory with<br />
<br />
./paparazzi<br />
<br />
From the [[Paparazzi_Center|Paparazzi Center]] interface, select the ''Microjet'' aircraft, select the ''sim'' target and ''Build'' it. Then ''Execute'' the ''Simulation'' session. The procedure is detailed in the [[Simulation]] page.<br />
<br />
=== Quick Launch Icon ===<br />
<br />
To create an icon on the desktop so you don’t have to manually type codes into the Terminal each time you want to start the Paparazzi Center follow these steps:<br />
<br />
#Save [[Media:Paparazzi_logo.png|this image file]] to your /paparazzi folder<br />
#Right click anywhere on the Ubuntu desktop and click Create Launcher.<br />
#Enter the following in the fields provided:<br />
#*Name: Paparazzi Center<br />
#*Command: /home/YOUR_USER_NAME/paparazzi/paparazzi<br />
#*Comment: Runs the Paparazzi Center<br />
#*Then click the icon image in the top left on the dialog box and select the Paparazzi logo you just downloaded.<br />
#Click the OK button and that’s it! Your icon should appear on the desktop and you are ready to go.<br />
<br />
=== Agents ===<br />
<br />
If ('''and only if''') you want to directly launch some Paparazzi agents (the ''Tools'' of the [[Paparazzi_Center|Paparazzi Center]]), without using the Paparazzi Center, you must have the Paparazzi source and home environment variables set correctly in your shell. These variables can be automatically set in your shell by adding the following lines to your .bashrc file:<br />
{{Box Code|~/.bashrc|<br />
export PAPARAZZI_HOME<nowiki>=</nowiki>''your paparazzi software directory''<br />
export PAPARAZZI_SRC<nowiki>=</nowiki>''your paparazzi software directory''<br />
}}<br />
<br />
=== env Variables ===<br />
<br />
If you wish to manually set the env variables (i.e. when compiling a backup copy of your code in a different folder) execute the following command from the folder you wish to set as your active paparazzi folder:<br />
export PAPARAZZI_HOME=`pwd`;export PAPARAZZI_SRC=`pwd`<br />
Verify that your variables are set correctly with the following command:<br />
env | grep PAPARAZZI<br />
which should return the following:<br />
PAPARAZZI_HOME<nowiki>=</nowiki>''your paparazzi software directory''<br />
PAPARAZZI_SRC<nowiki>=</nowiki>''your paparazzi software directory''<br />
<br />
== Setting access rights for USB download ==<br />
<br />
This may be required to flash the Paparazzi-boards directly thru USB. For flashing details, see [[Compiling]].<br />
<br />
Default linux rights may not allow standard (non root) users to directly access the USB bus. You will need to make yourself a member of the plugdev "group" and then create a "rule", associated with that "group". <br><br />
Make yourself a member of the ''plugdev'' group:<br />
<br />
sudo adduser <your login> plugdev<br />
<br />
Logout and login again. Then add the appropriate rule (available ine fhe file ''50-paparazzi.rules'') to the USB handler. Simply copy as root <tt>$PAPARAZZI_HOME/conf/system/udev/rules/50-paparazzi.rules</tt> to <tt>/etc/udev/rules.d/</tt><br />
<br />
sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/50-paparazzi.rules /etc/udev/rules.d/<br />
<br />
== Software Updates ==<br />
Paparazzi is a very rapidly evolving project and as such you might want to update your software regularly.<br />
<br />
Any new files you created will not be lost/overwritten when updating (like your own airframe file). Nevertheless, as with all things, backups are advised.<br />
If you modified source code, the best way is of course to use the version control system [[Git]] to commit your changes. Otherwise at least use the brute force method and save everything in another directory.<br />
<br />
Update your software with care and caution, and always test the functionality on the ground and in the air as some updates will affect tuning parameters. You might need to update your airframe file as well. The compiler will usually complain if there is a problem, at which point you can look at the [[Airframe_Configuration|Airframe Configuration wiki page]] again, look on the [[Contact#Mailing_List|mailing list]] or some of the most recent airframe files on git to find the proper syntax. See the [[Compiling]] page for more help if needed.<br />
<br />
That said, keeping your software up to date is fairly easy with Git.<br />
<br />
To download and automatically merge any updated source files, run the following command from your Paparazzi directory<br />
git pull<br />
Please see the [[Git|Git wiki page]] for more details.<br />
<br />
After any git update or source code modification the code can be recompiled from ''your paparazzi software directory'' with the following command:<br />
<br />
make<br />
<br />
The ''make'' command will only recompile portions of the software where changed have been detected. If it does not behave as expected you can deleted all compiled files and recompile from scratch with the following commands:<br />
<br />
make clean<br />
make<br />
<br />
See the [[Compiling]] page for more info.<br />
<br />
== Using the Live CD ==<br />
<br />
There is a [[LiveCD]] available, but it dates back to 2008. It is still an easy way to get a first glimpse on Paparazzi.<br />
<br />
== From Scratch==<br />
<br />
In very rare occasions one needs to install the tools used, third-party libraries used by Paparazzi all from scratch. Currently there are no 64 bit Linux repositories, that is a very good reason to install from scratch. Sometime one just wants to be able to use all the latest and greatest compilers, or source code of everything to improve something. Then there is no other way than to install from scratch. To help you out getting it all smoothly working [[install_paparazzi_and_everything_from_scratch | a special page is created just click here]]. If you do not understand what that all means, do not panic, then the information on that page is not important to you. Just pretend you never read this part of the Wiki. You are advised just to follow the regular step as described on the install page.<br />
<br />
== Using 32Bit on 64Bit ==<br />
<br />
If you don't know what 64 bit (x86_64) means, then don't worry about this!<br />
As previously discussed, there are currently no 64 bit paparazzi pre-made deb packages available. You could opt to install from scratch as described here http://paparazzi.enac.fr/wiki/Install_paparazzi_and_everything_from_scratch<br />
An temporary solution is to use an i386 installation instead. In rare circumstances however, this may be problematic (certain engineering software for example requires 64 bit kernels).<br />
In these cases, a chroot is a good compromise, while avoiding the overhead of a virtual machine (and USB device problems which may occur).<br />
Initial instructions are here for now: https://help.ubuntu.com/community/DebootstrapChroot<br />
The command you use for the bootstrap needs to reflect your architecture - I used<br />
<br />
sudo debootstrap --variant=buildd --arch i386 lucid /var/chroot/lucid http://gb.archive.ubuntu.com/ubuntu/<br />
<br />
The format for schroot config files has changed as of lucid however - here is mine:<br />
<br />
$ cat /etc/schroot/chroot.d/lucid-i386 <br />
[lucid]<br />
description=Ubuntu 10.04 Lucid for i386<br />
directory=/var/chroot/lucid<br />
personality=linux32<br />
root-users=my_user<br />
type=directory<br />
users=my_user<br />
<br />
Once you've installed the ubuntu minimal package, make sure you also enable the uni- and multiverse repos (the easiest way for me is to simply copy my host's /etc/apt/sources.lst to /var/chroot/lucid/etc/apt/sources.lst).<br />
Then follow the standard instructions above. You may need to manually set the PAPARAZZI_HOME and PAPARAZZI_SRC environment variables. You will also have to set the DISPLAY environment variable to :0.0 like so:<br />
<br />
export DISPLAY=:0.0<br />
<br />
Please note, this is more advanced than the standard paparazzi installation and therefore you may encounter strange problems.<br />
<br />
[[Category:Software]] [[Category:User_Documentation]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=Installation/Linux&diff=9802Installation/Linux2011-07-23T11:51:25Z<p>Aerovista: /* Using Synaptic Package Manager */</p>
<hr />
<div>== Introduction ==<br />
<br />
Paparazzi is very easily installed on any laptop or workstation running the [http://www.ubuntu.com/ Ubuntu Linux OS] or virtually any [http://www.debian.org/ Debian] based [http://en.wikipedia.org/wiki/Linux Linux] or even Apple Macintosh running [[InstallationMacOSX|Mac OS X]].<br />
<br />
At a high-level here are the steps required to install Paparazzi:<br />
<ul><br />
<li>Install a current Ubuntu Linux distribution.<br />
<li>The Paparazzi packages are installed using Synaptic Package Manager.<br />
<li>Download the sources from the git repository.<br />
<li>Allow access to the ports by copying the [http://www.openuas.org/pub/writing_udev_rules.html rules file]: (export PAPARAZZI_HOME=~/paparazzi; export PAPARAZZI_SRC=~/paparazzi; sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/10-paparazzi.rules /etc/udev/rules.d/)<br />
<li>Compile the binaries from the sources (cd paparazzi && make)<br />
</ul><br />
<br />
That's all.<br />
<br />
=== Operating System ===<br />
<br />
Paparazzi is very easily installed on any laptop or workstation running the [http://www.ubuntu.com/ Ubuntu Linux OS] or virtually any [http://www.debian.org/ Debian] based [http://en.wikipedia.org/wiki/Linux Linux]. Paparazzi is packaged for Debian as well as all of its dependencies. The [http://paparazzi.enac.fr/debian repository] hosted at ENAC holds their latest version.<br />
<br />
It is also possible to have your Debian/Ubuntu running in a virtual machine, for instance with [http://www.virtualbox.org/ VirtualBox]. This requires minimal changes to your computer setup, as you can run the VM from all common platforms (Windows, [http://paparazzi.enac.fr/wiki/InstallationMacOSX OS X], Linux). The virtual machine image can easily be transferred between different laptops, giving greater flexibility. Unfortunately, the Open-Source Edition of VirtualBox doesn't include the necessary USB support, so you'll need to get the regular version from the website.<br />
<br />
If you are new and this is your first time installing it is suggested you keep it simple. Select a system you can dedicate to the Linux installation. No VMs or dual boot configurations. The idea is do a very simple generic installation that is certain to have no issues. This reassures you that the installation process works and you can see and use a working Paparazzi install for some time before you try a more complicated install. The install is well documented below and certain to succeed if followed exactly. Most issues arise when someone unfamiliar with Linux tries a non-standard install that requires special steps not documented here.<br />
<br />
=== Compilers and Handlers ===<br />
<br />
The typical installation contains all of the necessary C and OCaml compilers as well as some XML and [http://www.tls.cena.fr/products/ivy/ Ivy] handlers. These tools are provided by the ''paparazzi-dev'' package. Have no fear, this is all taken care of for you so all you must do is type a few simple commands. Below are those commands and helpful information. Commands can be copied and pasted from these pages to make it as easy as possible. <br />
<br />
=== Source Code ===<br />
<br />
The Paparazzi source code is hosted by [https://github.com/paparazzi/paparazzi Github]. It is downloaded using [[git]].<br />
<br />
== Installation of Compilers and Handlers ==<br />
<br />
=== Using Synaptic Package Manager ===<br />
* Launch ''Synaptic Package Manager'' (Menu '''System/Administration''')<br />
* In '''Settings/Repositories''', add a new repository (Software Source) in the tab '''Other Software''':<br>APT line: <tt>deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> natty main</tt><br>This APT line works for Ubuntu Maverick/10.10. For other Ubuntu versions adapt as described below in the command line section.<br />
* Search for <tt>paparazzi-dev</tt>, <tt>paparazzi-arm7</tt> and <tt>paparazzi-stm32</tt> packages (use the ''Search'' button)<br />
* Mark them for installation (right-click on package names)<br />
* Left-click on ''Apply''<br />
<br />
=== From the Command Line ===<br />
<br />
If the Synaptic Package Manager doesn't work for you, you can alternatively use the command line:<br />
<br />
For the sources file (sources.list) you only add the line required for your version. Linux names their versions. <br />
<br />
Just add the following lines to your repository list (<b>/etc/apt/sources.list</b>) and then<br />
uncomment the line relevant to your operating system (e.g. one of etch, gutsy or hardy):<br />
<br />
Note: Because of the sources.list file permissions maybe you will need to edit it with root access. In Terminal write this:<br />
<br />
gksudo gedit /etc/apt/sources.list<br />
<br />
{{Box Code|/etc/apt/sources.list|<br />
# Uncomment just _one_ of the following lines - depending on your OS version<br />
# deb <nowiki>http://paparazzi.enac.fr/debian</nowiki> etch main<br />
# deb <nowiki>http://paparazzi.enac.fr/debian</nowiki> lenny main<br />
# deb <nowiki>http://paparazzi.enac.fr/debian</nowiki> squeeze main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> gutsy main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> hardy main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> intrepid main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> jaunty main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> karmic main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> lucid main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> maverick main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> natty main<br />
}}<br />
<br />
Then, update your sources and install the dependencies needed for recompiling from the source (<b>dev</b>), and the cross-compilers (<b>arm7</b>, <b>stm32</b> or both) :<br />
<br />
For ARM7 (i.e. Tiny or TWOG boards) :<br />
sudo apt-get update<br />
sudo apt-get install paparazzi-dev paparazzi-arm7<br />
-- or newerdays --<br />
sudo apt-get install paparazzi-dev paparazzi-lpc21<br />
<br />
For STM32 (i.e. Lisa boards) :<br />
sudo apt-get update<br />
sudo apt-get install paparazzi-dev paparazzi-stm32<br />
<br />
==== Obsolete Packages ====<br />
Users of the older AVR based boards will also need the <b>paparazzi-avr</b> package. It is unlikely you need it.<br />
<br />
==== Older Ubuntu Versions ====<br />
<br />
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:<br />
<br />
sudo apt-get remove brltty<br />
<br />
=== Manual Installation of Individual Packages ===<br />
Users of other Linux flavors than a recent Ubuntu or anyone needing manual control of each individual package can [[Manual_Installation|install them independently]].<br />
<br />
== Downloading the Source Code ==<br />
The complete source code should be downloaded from the paparazzi software repository on Github. Make sure you have installed the <tt>paparazzi-dev</tt> package as described above. Whithout these you will not be able to compile the sourcecode.<br />
<br />
See the [https://github.com/paparazzi/paparazzi project page] at Github for more details. From the directory of your choice type:<br />
git clone git://github.com/paparazzi/paparazzi.git<br />
or if you are behind a firewall with an http proxy available:<br />
git clone https://github.com/paparazzi/paparazzi.git<br />
<br />
This will download all of the paparazzi sourcecode need for an autopilot to work into the directory <tt>paparazzi/</tt><br />
<br />
'''If this whole "Git" thing is new to you an you are curious, more options and information can be found on the [[git]] page.'''<br />
<br />
== Launching the Software ==<br />
<br />
The first step is to compile. From the <tt>paparazzi</tt> directory (<tt>cd paparazzi</tt>), run<br />
<br />
make<br />
<br />
You will have to run this command after each update of the source (<tt>git pull</tt> command).<br />
Launch the software from the <tt>paparazzi</tt> directory with<br />
<br />
./paparazzi<br />
<br />
From the [[Paparazzi_Center|Paparazzi Center]] interface, select the ''Microjet'' aircraft, select the ''sim'' target and ''Build'' it. Then ''Execute'' the ''Simulation'' session. The procedure is detailed in the [[Simulation]] page.<br />
<br />
=== Quick Launch Icon ===<br />
<br />
To create an icon on the desktop so you don’t have to manually type codes into the Terminal each time you want to start the Paparazzi Center follow these steps:<br />
<br />
#Save [[Media:Paparazzi_logo.png|this image file]] to your /paparazzi folder<br />
#Right click anywhere on the Ubuntu desktop and click Create Launcher.<br />
#Enter the following in the fields provided:<br />
#*Name: Paparazzi Center<br />
#*Command: /home/YOUR_USER_NAME/paparazzi/paparazzi<br />
#*Comment: Runs the Paparazzi Center<br />
#*Then click the icon image in the top left on the dialog box and select the Paparazzi logo you just downloaded.<br />
#Click the OK button and that’s it! Your icon should appear on the desktop and you are ready to go.<br />
<br />
=== Agents ===<br />
<br />
If ('''and only if''') you want to directly launch some Paparazzi agents (the ''Tools'' of the [[Paparazzi_Center|Paparazzi Center]]), without using the Paparazzi Center, you must have the Paparazzi source and home environment variables set correctly in your shell. These variables can be automatically set in your shell by adding the following lines to your .bashrc file:<br />
{{Box Code|~/.bashrc|<br />
export PAPARAZZI_HOME<nowiki>=</nowiki>''your paparazzi software directory''<br />
export PAPARAZZI_SRC<nowiki>=</nowiki>''your paparazzi software directory''<br />
}}<br />
<br />
=== env Variables ===<br />
<br />
If you wish to manually set the env variables (i.e. when compiling a backup copy of your code in a different folder) execute the following command from the folder you wish to set as your active paparazzi folder:<br />
export PAPARAZZI_HOME=`pwd`;export PAPARAZZI_SRC=`pwd`<br />
Verify that your variables are set correctly with the following command:<br />
env | grep PAPARAZZI<br />
which should return the following:<br />
PAPARAZZI_HOME<nowiki>=</nowiki>''your paparazzi software directory''<br />
PAPARAZZI_SRC<nowiki>=</nowiki>''your paparazzi software directory''<br />
<br />
== Setting access rights for USB download ==<br />
<br />
This may be required to flash the Paparazzi-boards directly thru USB. For flashing details, see [[Compiling]].<br />
<br />
Default linux rights may not allow standard (non root) users to directly access the USB bus. You will need to make yourself a member of the plugdev "group" and then create a "rule", associated with that "group". <br><br />
Make yourself a member of the ''plugdev'' group:<br />
<br />
sudo adduser <your login> plugdev<br />
<br />
Logout and login again. Then add the appropriate rule (available ine fhe file ''50-paparazzi.rules'') to the USB handler. Simply copy as root <tt>$PAPARAZZI_HOME/conf/system/udev/rules/50-paparazzi.rules</tt> to <tt>/etc/udev/rules.d/</tt><br />
<br />
sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/50-paparazzi.rules /etc/udev/rules.d/<br />
<br />
== Software Updates ==<br />
Paparazzi is a very rapidly evolving project and as such you might want to update your software regularly.<br />
<br />
Any new files you created will not be lost/overwritten when updating (like your own airframe file). Nevertheless, as with all things, backups are advised.<br />
If you modified source code, the best way is of course to use the version control system [[Git]] to commit your changes. Otherwise at least use the brute force method and save everything in another directory.<br />
<br />
Update your software with care and caution, and always test the functionality on the ground and in the air as some updates will affect tuning parameters. You might need to update your airframe file as well. The compiler will usually complain if there is a problem, at which point you can look at the [[Airframe_Configuration|Airframe Configuration wiki page]] again, look on the [[Contact#Mailing_List|mailing list]] or some of the most recent airframe files on git to find the proper syntax. See the [[Compiling]] page for more help if needed.<br />
<br />
That said, keeping your software up to date is fairly easy with Git.<br />
<br />
To download and automatically merge any updated source files, run the following command from your Paparazzi directory<br />
git pull<br />
Please see the [[Git|Git wiki page]] for more details.<br />
<br />
After any git update or source code modification the code can be recompiled from ''your paparazzi software directory'' with the following command:<br />
<br />
make<br />
<br />
The ''make'' command will only recompile portions of the software where changed have been detected. If it does not behave as expected you can deleted all compiled files and recompile from scratch with the following commands:<br />
<br />
make clean<br />
make<br />
<br />
See the [[Compiling]] page for more info.<br />
<br />
== Using the Live CD ==<br />
<br />
There is a [[LiveCD]] available, but it dates back to 2008. It is still an easy way to get a first glimpse on Paparazzi.<br />
<br />
== From Scratch==<br />
<br />
In very rare occasions one needs to install the tools used, third-party libraries used by Paparazzi all from scratch. Currently there are no 64 bit Linux repositories, that is a very good reason to install from scratch. Sometime one just wants to be able to use all the latest and greatest compilers, or source code of everything to improve something. Then there is no other way than to install from scratch. To help you out getting it all smoothly working [[install_paparazzi_and_everything_from_scratch | a special page is created just click here]]. If you do not understand what that all means, do not panic, then the information on that page is not important to you. Just pretend you never read this part of the Wiki. You are advised just to follow the regular step as described on the install page.<br />
<br />
== Using 32Bit on 64Bit ==<br />
<br />
If you don't know what 64 bit (x86_64) means, then don't worry about this!<br />
As previously discussed, there are currently no 64 bit paparazzi pre-made deb packages available. You could opt to install from scratch as described here http://paparazzi.enac.fr/wiki/Install_paparazzi_and_everything_from_scratch<br />
An temporary solution is to use an i386 installation instead. In rare circumstances however, this may be problematic (certain engineering software for example requires 64 bit kernels).<br />
In these cases, a chroot is a good compromise, while avoiding the overhead of a virtual machine (and USB device problems which may occur).<br />
Initial instructions are here for now: https://help.ubuntu.com/community/DebootstrapChroot<br />
The command you use for the bootstrap needs to reflect your architecture - I used<br />
<br />
sudo debootstrap --variant=buildd --arch i386 lucid /var/chroot/lucid http://gb.archive.ubuntu.com/ubuntu/<br />
<br />
The format for schroot config files has changed as of lucid however - here is mine:<br />
<br />
$ cat /etc/schroot/chroot.d/lucid-i386 <br />
[lucid]<br />
description=Ubuntu 10.04 Lucid for i386<br />
directory=/var/chroot/lucid<br />
personality=linux32<br />
root-users=my_user<br />
type=directory<br />
users=my_user<br />
<br />
Once you've installed the ubuntu minimal package, make sure you also enable the uni- and multiverse repos (the easiest way for me is to simply copy my host's /etc/apt/sources.lst to /var/chroot/lucid/etc/apt/sources.lst).<br />
Then follow the standard instructions above. You may need to manually set the PAPARAZZI_HOME and PAPARAZZI_SRC environment variables. You will also have to set the DISPLAY environment variable to :0.0 like so:<br />
<br />
export DISPLAY=:0.0<br />
<br />
Please note, this is more advanced than the standard paparazzi installation and therefore you may encounter strange problems.<br />
<br />
[[Category:Software]] [[Category:User_Documentation]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=Installation/Linux&diff=9801Installation/Linux2011-07-23T11:49:28Z<p>Aerovista: /* Introduction */</p>
<hr />
<div>== Introduction ==<br />
<br />
Paparazzi is very easily installed on any laptop or workstation running the [http://www.ubuntu.com/ Ubuntu Linux OS] or virtually any [http://www.debian.org/ Debian] based [http://en.wikipedia.org/wiki/Linux Linux] or even Apple Macintosh running [[InstallationMacOSX|Mac OS X]].<br />
<br />
At a high-level here are the steps required to install Paparazzi:<br />
<ul><br />
<li>Install a current Ubuntu Linux distribution.<br />
<li>The Paparazzi packages are installed using Synaptic Package Manager.<br />
<li>Download the sources from the git repository.<br />
<li>Allow access to the ports by copying the [http://www.openuas.org/pub/writing_udev_rules.html rules file]: (export PAPARAZZI_HOME=~/paparazzi; export PAPARAZZI_SRC=~/paparazzi; sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/10-paparazzi.rules /etc/udev/rules.d/)<br />
<li>Compile the binaries from the sources (cd paparazzi && make)<br />
</ul><br />
<br />
That's all.<br />
<br />
=== Operating System ===<br />
<br />
Paparazzi is very easily installed on any laptop or workstation running the [http://www.ubuntu.com/ Ubuntu Linux OS] or virtually any [http://www.debian.org/ Debian] based [http://en.wikipedia.org/wiki/Linux Linux]. Paparazzi is packaged for Debian as well as all of its dependencies. The [http://paparazzi.enac.fr/debian repository] hosted at ENAC holds their latest version.<br />
<br />
It is also possible to have your Debian/Ubuntu running in a virtual machine, for instance with [http://www.virtualbox.org/ VirtualBox]. This requires minimal changes to your computer setup, as you can run the VM from all common platforms (Windows, [http://paparazzi.enac.fr/wiki/InstallationMacOSX OS X], Linux). The virtual machine image can easily be transferred between different laptops, giving greater flexibility. Unfortunately, the Open-Source Edition of VirtualBox doesn't include the necessary USB support, so you'll need to get the regular version from the website.<br />
<br />
If you are new and this is your first time installing it is suggested you keep it simple. Select a system you can dedicate to the Linux installation. No VMs or dual boot configurations. The idea is do a very simple generic installation that is certain to have no issues. This reassures you that the installation process works and you can see and use a working Paparazzi install for some time before you try a more complicated install. The install is well documented below and certain to succeed if followed exactly. Most issues arise when someone unfamiliar with Linux tries a non-standard install that requires special steps not documented here.<br />
<br />
=== Compilers and Handlers ===<br />
<br />
The typical installation contains all of the necessary C and OCaml compilers as well as some XML and [http://www.tls.cena.fr/products/ivy/ Ivy] handlers. These tools are provided by the ''paparazzi-dev'' package. Have no fear, this is all taken care of for you so all you must do is type a few simple commands. Below are those commands and helpful information. Commands can be copied and pasted from these pages to make it as easy as possible. <br />
<br />
=== Source Code ===<br />
<br />
The Paparazzi source code is hosted by [https://github.com/paparazzi/paparazzi Github]. It is downloaded using [[git]].<br />
<br />
== Installation of Compilers and Handlers ==<br />
<br />
=== Using Synaptic Package Manager ===<br />
* Launch ''Synaptic Package Manager'' (Menu '''System/Administration''')<br />
* In '''Settings/Repositories''', add a new repository (Software Source) in the tab '''Other Software''':<br>APT line: <tt>deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> maverick main</tt><br>This APT line works for Ubuntu Maverick/10.10. For other Ubuntu versions adapt as described below in the command line section.<br />
* Search for <tt>paparazzi-dev</tt>, <tt>paparazzi-arm7</tt> and <tt>paparazzi-stm32</tt> packages (use the ''Search'' button)<br />
* Mark them for installation (right-click on package names)<br />
* Left-click on ''Apply''<br />
<br />
=== From the Command Line ===<br />
<br />
If the Synaptic Package Manager doesn't work for you, you can alternatively use the command line:<br />
<br />
For the sources file (sources.list) you only add the line required for your version. Linux names their versions. <br />
<br />
Just add the following lines to your repository list (<b>/etc/apt/sources.list</b>) and then<br />
uncomment the line relevant to your operating system (e.g. one of etch, gutsy or hardy):<br />
<br />
Note: Because of the sources.list file permissions maybe you will need to edit it with root access. In Terminal write this:<br />
<br />
gksudo gedit /etc/apt/sources.list<br />
<br />
{{Box Code|/etc/apt/sources.list|<br />
# Uncomment just _one_ of the following lines - depending on your OS version<br />
# deb <nowiki>http://paparazzi.enac.fr/debian</nowiki> etch main<br />
# deb <nowiki>http://paparazzi.enac.fr/debian</nowiki> lenny main<br />
# deb <nowiki>http://paparazzi.enac.fr/debian</nowiki> squeeze main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> gutsy main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> hardy main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> intrepid main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> jaunty main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> karmic main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> lucid main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> maverick main<br />
# deb <nowiki>http://paparazzi.enac.fr/ubuntu</nowiki> natty main<br />
}}<br />
<br />
Then, update your sources and install the dependencies needed for recompiling from the source (<b>dev</b>), and the cross-compilers (<b>arm7</b>, <b>stm32</b> or both) :<br />
<br />
For ARM7 (i.e. Tiny or TWOG boards) :<br />
sudo apt-get update<br />
sudo apt-get install paparazzi-dev paparazzi-arm7<br />
-- or newerdays --<br />
sudo apt-get install paparazzi-dev paparazzi-lpc21<br />
<br />
For STM32 (i.e. Lisa boards) :<br />
sudo apt-get update<br />
sudo apt-get install paparazzi-dev paparazzi-stm32<br />
<br />
==== Obsolete Packages ====<br />
Users of the older AVR based boards will also need the <b>paparazzi-avr</b> package. It is unlikely you need it.<br />
<br />
==== Older Ubuntu Versions ====<br />
<br />
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:<br />
<br />
sudo apt-get remove brltty<br />
<br />
=== Manual Installation of Individual Packages ===<br />
Users of other Linux flavors than a recent Ubuntu or anyone needing manual control of each individual package can [[Manual_Installation|install them independently]].<br />
<br />
== Downloading the Source Code ==<br />
The complete source code should be downloaded from the paparazzi software repository on Github. Make sure you have installed the <tt>paparazzi-dev</tt> package as described above. Whithout these you will not be able to compile the sourcecode.<br />
<br />
See the [https://github.com/paparazzi/paparazzi project page] at Github for more details. From the directory of your choice type:<br />
git clone git://github.com/paparazzi/paparazzi.git<br />
or if you are behind a firewall with an http proxy available:<br />
git clone https://github.com/paparazzi/paparazzi.git<br />
<br />
This will download all of the paparazzi sourcecode need for an autopilot to work into the directory <tt>paparazzi/</tt><br />
<br />
'''If this whole "Git" thing is new to you an you are curious, more options and information can be found on the [[git]] page.'''<br />
<br />
== Launching the Software ==<br />
<br />
The first step is to compile. From the <tt>paparazzi</tt> directory (<tt>cd paparazzi</tt>), run<br />
<br />
make<br />
<br />
You will have to run this command after each update of the source (<tt>git pull</tt> command).<br />
Launch the software from the <tt>paparazzi</tt> directory with<br />
<br />
./paparazzi<br />
<br />
From the [[Paparazzi_Center|Paparazzi Center]] interface, select the ''Microjet'' aircraft, select the ''sim'' target and ''Build'' it. Then ''Execute'' the ''Simulation'' session. The procedure is detailed in the [[Simulation]] page.<br />
<br />
=== Quick Launch Icon ===<br />
<br />
To create an icon on the desktop so you don’t have to manually type codes into the Terminal each time you want to start the Paparazzi Center follow these steps:<br />
<br />
#Save [[Media:Paparazzi_logo.png|this image file]] to your /paparazzi folder<br />
#Right click anywhere on the Ubuntu desktop and click Create Launcher.<br />
#Enter the following in the fields provided:<br />
#*Name: Paparazzi Center<br />
#*Command: /home/YOUR_USER_NAME/paparazzi/paparazzi<br />
#*Comment: Runs the Paparazzi Center<br />
#*Then click the icon image in the top left on the dialog box and select the Paparazzi logo you just downloaded.<br />
#Click the OK button and that’s it! Your icon should appear on the desktop and you are ready to go.<br />
<br />
=== Agents ===<br />
<br />
If ('''and only if''') you want to directly launch some Paparazzi agents (the ''Tools'' of the [[Paparazzi_Center|Paparazzi Center]]), without using the Paparazzi Center, you must have the Paparazzi source and home environment variables set correctly in your shell. These variables can be automatically set in your shell by adding the following lines to your .bashrc file:<br />
{{Box Code|~/.bashrc|<br />
export PAPARAZZI_HOME<nowiki>=</nowiki>''your paparazzi software directory''<br />
export PAPARAZZI_SRC<nowiki>=</nowiki>''your paparazzi software directory''<br />
}}<br />
<br />
=== env Variables ===<br />
<br />
If you wish to manually set the env variables (i.e. when compiling a backup copy of your code in a different folder) execute the following command from the folder you wish to set as your active paparazzi folder:<br />
export PAPARAZZI_HOME=`pwd`;export PAPARAZZI_SRC=`pwd`<br />
Verify that your variables are set correctly with the following command:<br />
env | grep PAPARAZZI<br />
which should return the following:<br />
PAPARAZZI_HOME<nowiki>=</nowiki>''your paparazzi software directory''<br />
PAPARAZZI_SRC<nowiki>=</nowiki>''your paparazzi software directory''<br />
<br />
== Setting access rights for USB download ==<br />
<br />
This may be required to flash the Paparazzi-boards directly thru USB. For flashing details, see [[Compiling]].<br />
<br />
Default linux rights may not allow standard (non root) users to directly access the USB bus. You will need to make yourself a member of the plugdev "group" and then create a "rule", associated with that "group". <br><br />
Make yourself a member of the ''plugdev'' group:<br />
<br />
sudo adduser <your login> plugdev<br />
<br />
Logout and login again. Then add the appropriate rule (available ine fhe file ''50-paparazzi.rules'') to the USB handler. Simply copy as root <tt>$PAPARAZZI_HOME/conf/system/udev/rules/50-paparazzi.rules</tt> to <tt>/etc/udev/rules.d/</tt><br />
<br />
sudo cp $PAPARAZZI_HOME/conf/system/udev/rules/50-paparazzi.rules /etc/udev/rules.d/<br />
<br />
== Software Updates ==<br />
Paparazzi is a very rapidly evolving project and as such you might want to update your software regularly.<br />
<br />
Any new files you created will not be lost/overwritten when updating (like your own airframe file). Nevertheless, as with all things, backups are advised.<br />
If you modified source code, the best way is of course to use the version control system [[Git]] to commit your changes. Otherwise at least use the brute force method and save everything in another directory.<br />
<br />
Update your software with care and caution, and always test the functionality on the ground and in the air as some updates will affect tuning parameters. You might need to update your airframe file as well. The compiler will usually complain if there is a problem, at which point you can look at the [[Airframe_Configuration|Airframe Configuration wiki page]] again, look on the [[Contact#Mailing_List|mailing list]] or some of the most recent airframe files on git to find the proper syntax. See the [[Compiling]] page for more help if needed.<br />
<br />
That said, keeping your software up to date is fairly easy with Git.<br />
<br />
To download and automatically merge any updated source files, run the following command from your Paparazzi directory<br />
git pull<br />
Please see the [[Git|Git wiki page]] for more details.<br />
<br />
After any git update or source code modification the code can be recompiled from ''your paparazzi software directory'' with the following command:<br />
<br />
make<br />
<br />
The ''make'' command will only recompile portions of the software where changed have been detected. If it does not behave as expected you can deleted all compiled files and recompile from scratch with the following commands:<br />
<br />
make clean<br />
make<br />
<br />
See the [[Compiling]] page for more info.<br />
<br />
== Using the Live CD ==<br />
<br />
There is a [[LiveCD]] available, but it dates back to 2008. It is still an easy way to get a first glimpse on Paparazzi.<br />
<br />
== From Scratch==<br />
<br />
In very rare occasions one needs to install the tools used, third-party libraries used by Paparazzi all from scratch. Currently there are no 64 bit Linux repositories, that is a very good reason to install from scratch. Sometime one just wants to be able to use all the latest and greatest compilers, or source code of everything to improve something. Then there is no other way than to install from scratch. To help you out getting it all smoothly working [[install_paparazzi_and_everything_from_scratch | a special page is created just click here]]. If you do not understand what that all means, do not panic, then the information on that page is not important to you. Just pretend you never read this part of the Wiki. You are advised just to follow the regular step as described on the install page.<br />
<br />
== Using 32Bit on 64Bit ==<br />
<br />
If you don't know what 64 bit (x86_64) means, then don't worry about this!<br />
As previously discussed, there are currently no 64 bit paparazzi pre-made deb packages available. You could opt to install from scratch as described here http://paparazzi.enac.fr/wiki/Install_paparazzi_and_everything_from_scratch<br />
An temporary solution is to use an i386 installation instead. In rare circumstances however, this may be problematic (certain engineering software for example requires 64 bit kernels).<br />
In these cases, a chroot is a good compromise, while avoiding the overhead of a virtual machine (and USB device problems which may occur).<br />
Initial instructions are here for now: https://help.ubuntu.com/community/DebootstrapChroot<br />
The command you use for the bootstrap needs to reflect your architecture - I used<br />
<br />
sudo debootstrap --variant=buildd --arch i386 lucid /var/chroot/lucid http://gb.archive.ubuntu.com/ubuntu/<br />
<br />
The format for schroot config files has changed as of lucid however - here is mine:<br />
<br />
$ cat /etc/schroot/chroot.d/lucid-i386 <br />
[lucid]<br />
description=Ubuntu 10.04 Lucid for i386<br />
directory=/var/chroot/lucid<br />
personality=linux32<br />
root-users=my_user<br />
type=directory<br />
users=my_user<br />
<br />
Once you've installed the ubuntu minimal package, make sure you also enable the uni- and multiverse repos (the easiest way for me is to simply copy my host's /etc/apt/sources.lst to /var/chroot/lucid/etc/apt/sources.lst).<br />
Then follow the standard instructions above. You may need to manually set the PAPARAZZI_HOME and PAPARAZZI_SRC environment variables. You will also have to set the DISPLAY environment variable to :0.0 like so:<br />
<br />
export DISPLAY=:0.0<br />
<br />
Please note, this is more advanced than the standard paparazzi installation and therefore you may encounter strange problems.<br />
<br />
[[Category:Software]] [[Category:User_Documentation]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=Inertial_Measurement_Units&diff=9797Inertial Measurement Units2011-07-22T07:48:40Z<p>Aerovista: /* [http://diydrones.com/profiles/blogs/arduimu-v2-flat-now-available|DIYDrones ArduIMU+ V2 (Flat)] */</p>
<hr />
<div>== Paparazzi IMU ==<br />
<br />
'''IMU''' = inertial measurement unit: only measures the accelerations and rotation rates (and magnetic field)<br />
'''AHRS''' = attitude and heading reference system: uses IMU data + extra (airspeed/GPS/baro/...) to do sensor fusion and provide pitch and roll<br />
'''INS''' = integrated navigation system: uses IMU + Navigation sensor(s) (e.g. GPS) + even more complex algorithms that besides pitch and roll also interpolates positions and velocities using the attitude corrected acceleration measurements.<br />
<br />
=== Booz IMU v 1.2 ===<br />
<br />
*High quality analog devices sensors<br />
*16bit ADC capable of 200 000 samples per second<br />
*Special attention to clean power with onboard linear supplies<br />
*Efficient high-speed SPI for minimal microcontroller overhead and ultra-low latency (=better controller performance).<br />
*Fits on Booz, Lisa AND Tiny/TWOG autopilots. <br />
<br />
While originally designed for use with rotorcrafts, code is now available for use with fixed wing. <br />
<br />
[[Image:IMU001.jpg|240px]]<br />
<br />
The hardware description is [[BoozIMU|here]].<br />
<br />
Available at [https://mini.ppzuav.com/osc/product_info.php?cPath=15&products_id=122&osCsid=bq9cget2u5c7ksa6kd9ssdf03lisuksq PPZUAV].<br />
<br />
=== YAI v1.0 ===<br />
<br />
Why "yet another imu" while there are already so many out there?<br />
<br />
[[Image:yai_assemb.jpg|240px]]<br />
<br />
*Designed to be completely compatible with original booz IMU and its code<br />
*Cheaper sensors (lower bias stability)<br />
*Higher resolution (16bits) and frequency (200ksps) and cleaner onboard power supply, better grounding and shielding than compared with e.g. external sparkfun breakout boards<br />
*Fast low latency SPI communication (no uart as the tiny/twog miss uarts)<br />
*The most important part of attitude determination is proper kinematic compensation using for instance GPS, pressure sensors etc etc. When using IMU with external processors there is often less flexibility. Things as timing for instance are as important as the quality of the gyros themselves.<br />
<br />
Board, BOM -> [ http://svn.savannah.nongnu.org/viewvc/paparazzi-hardware/trunk/sensors/yai/?root=paparazzi Hardware Repository]<br />
<br />
=== Aspirin IMU ===<br />
<br />
[[Image:Aspirin_imu_front.jpg|240px]]<br />
<br />
[[AspirinIMU|Next generation flat imu.]] This little imu with latest generation of integrated high rate high resolution gyros's moreover has very low noice and stable power supplies and outputs all sensors interrupt pins for optimal performance.<br />
<br />
Note: while the main intended use is the very low latency high performance spi+i2c+interrupts connection (e.g. on lisa/M), please note that aspirin v2 can also be used with any tiny/twog for fixedwing aircraft with the same 4-wire interface and identical software as the PPZUAV-IMU. (connect Aspirin-SCK and aspirin-SCL to the I2C-SCL, aspirin-mosi and aspirin-SDA to I2C-SDA, Vcc to 5V (preferably linear), aspirin-gnd and aspirin-miso to GND, and aspirin-CS to 3.3V.)<br />
<br />
== 3rd Party IMU ==<br />
<br />
'''Loose Terminology Note:''' Like the sparkfun website, the following text incorrectly equates the term "degree-of-freedom" with sensor measurement. Unless we're talking about articulated arms (which paparazzi to date isn't involved with), a body can only have 6 physical DOFs and that would correspond to translation and rotations in the x,y,z cartesian directions of 3D space. If the vehicle state vector includes positions and velocities for each degree of freedom, the state vector would have a dimension of 6 x 2 = 12 states. The goal is to reconstruct these vehicle states using sensor measurements, as once the states can be obtained with reasonable certainty, a control algorithm can have a shot at controlling the system. Using various filtering techniques, multiple sensor types can be combined to estimate these states.<br />
<br />
IMU's measure rotation rates, acceleration (6DOF) and some also magnetic fields (9DOF). This data is used by an autopilot to estimate the state of the aircraft. They that can be used with a Paparazzi autopilot based UAS. If you happen to have such a device, we really would love to see that you share your IMU paparazzi autopilot integration projects information on this Wiki.<br />
<br />
=== PPZUAV IMU 9DOF ===<br />
<gallery><br />
Image:Ppz9dofimu.jpg|9DOM IMU<br />
Image:Ppz9dofimumed.jpg|Example Wiring to Tiny2.11<br />
Image:Ppz9domschematic.jpg|Schematic<br />
</gallery><br />
<br />
<p><br />
Possibly the smallest Paparazzi IMU/sensor board available.<br><br />
Features: I2C out 5v input. Interrupts Testing now. So far so good. It's open like Paparazzi.<br><br />
PCBs available for a few dollars. Schematic open, design is Altium Designer, gerbers available.<br><br />
</p><br />
<p>There is a module to just read the raw sensor data that can be added to any working airframe:<br><br />
<pre><br />
<modules><br />
<load name="ins_ppzuavimu.xml" /><br />
</modules><br />
</pre><br />
<br />
but to use it for flying you need to add a little more to your airframe. you will need to add the <subsystem name="imu" type="ppzuavimu" /> to read the sensor, but also a filter to merge the data like for instance the <subsystem name="ahrs" type="ic" /> which is a fast integer complementary 3D filter. But besides that you need to add sensor calibration defines to your airframe, and preferably also the local magnetic field vector at your location. A sample airframe illustrating all calibration issues and reading and merging the sensor at 100Hz with minimal control delays is in the repository to get you started:<br />
<br />
airframe: PPZUAV/fixedwing/tiny_imu.xml<br />
settings: tuning_basic_ins.xml<br />
telemetry: default_fixedwing_imu.xml<br />
<br />
<br />
Credit and thanks go out to Christophe for making the code and testing. <br />
</p><br />
<p>Media<br />
YouTube: http://www.youtube.com/watch?v=OaMTyJ-s-PU<br />
<br style="clear:both"><br />
<br />
=== Ryan Mechatronics CHIMU ===<br />
<br />
Very nice product: using the ultra high speed ultra low latency 200Hz SPI-slave mode (even 200Hz innerloop control of fixedwing is possible) or simple 4-wire connection via serial port to any TWOG/TINY/LISA/YAPA. <br />
<br />
Don't want to spend time testing AHRS filters? Nor calibrating IMU? This module with molex connector can be bought calibrated and does all the filtering internally.<br />
<br />
Use it with highspeed SPI on LPC-based boards: <br />
<br />
<modules><br />
<load name="ins_chimu_spi.xml" /><br />
</modules><br />
<br />
...<br />
<br />
<subsystem name="spi_slave_hs"/><br />
<br />
Use CHIMU with simple uart connection on both lisa or tiny/twog<br />
<br />
<modules><br />
<load name="ins_chimu_uart.xml"><br />
<configure name="CHIMU_UART_NR" value="0"/><br />
</load><br />
</modules><br />
<br />
<br />
=== SparkFun Razor 6DOF IMU ===<br />
<br />
[[Image:RazzorIMU.jpg|thumb|left|Razor IMU (top) with the tiny13 autopilot]]<br />
<br />
[[Image:RazzorIMUb.jpg|thumb|left|Razor IMU in the tiny13 autopilot box]]<br />
<br />
[http://www.sparkfun.com/commerce/product_info.php?products_id=10010 Official website]<br />
<br />
6DOF - Ultra-Thin IMU<br />
<br />
Very cheap, currently 62-72 Euro. [http://www.watterott.com/de/Sensoren/IMU Shop in Europe]<br />
<br />
<br />
Has been integrated in Paparazzi by Hochschule Bremen, Germany.<br />
<br />
Remove the high pass filters of the RazorIMU to get better results.<br />
<br />
For the Twog and Tiny 2.2 autopilots you have also remove the resistors to GND and the series resistors to the MC of the 5V analog inputs. The code to fly normal plane is currently in the repository. Christoph is working on improvements look here: http://paparazzi.enac.fr/wiki/User:Christoph <br />
<br />
[[Media:Wiring_Razor_IMU.pdf|Connections and wiring to the tiny13]]<br />
<br />
<br style="clear:both"><br />
<br />
=== Cloudcap Crista IMU ===<br />
[[Image:crista_sensorhead.jpg|thumb|left|Christa IMU]]<br />
<br />
[http://www.cloudcaptech.com/crista_sensorhead.shtm Official website]<br />
<br />
More infos soon.<br />
<br />
<br style="clear:both"><br />
<br />
== 3rd Party INS ==<br />
<br />
INS measure rates with their sensors and run algorithms to estimate the state on their own. They give this information the the autopilot (e.g. Euler angles) that can then use it for navigation.<br />
<br />
===[http://diydrones.com/profiles/blogs/arduimu-v2-flat-now-available|DIYDrones ArduIMU+ V2 (Flat)] ===<br />
[[Image:ArduIMU.jpg|thumb|left|ArduIMU]]<br />
<br />
[http://code.google.com/p/ardu-imu/wiki/HomePage?tm=6 Official website]<br />
<br />
[[ArduIMU|Paparazzi Wiki Page]]<br />
<br />
* 3 axis accelerometer + 3 axis gyroscope<br />
* Low cost<br />
* Has been integrated in Paparazzi by ZHAW, Winterthur, Switzerland.<br />
* A magnetometer has been integrated in the software to compensate drift in yaw.<br />
* GPS data from the Tiny is passed over I2C to the AHRS on the IMU.<br />
* Is sold by [http://www.sparkfun.com/products/9956 Sparkfun] and [http://store.diydrones.com/ProductDetails.asp?ProductCode=KT-ArduIMU-20 DIYDrones Store].<br />
<br style="clear:both"><br />
<br />
=== Vector-Nav VN-100 ===<br />
[[Image:VN-100.jpg|thumb|left|Vector-Nav VN-100]]<br />
<br />
[http://www.vectornav.com/vn-100-features Official website]<br />
<br />
There is a [[Modules|module]] for this AHRS (ins_vn100.xml for fixedwings).<br />
<br />
<br style="clear:both"><br />
<br />
=== MicroStrain 3DM-GX2 === <br />
[[Image:3DM-GX2.jpg|thumb|left|MicroStrain 3DM-GX2]]<br />
<br />
[http://www.microstrain.com/3dm-gx2.aspx Official website]<br />
<br />
More info soon.<br />
<br />
<br style="clear:both"><br />
<br />
=== Xsens MTi and MTi-G (with GPS) ===<br />
[[Image:MTi.jpeg|thumb|left|Xsens MTi]]<br />
<br />
[[Image:MTi-G.jpeg|thumb|left|Xsens MTi-G (with GPS)]]<br />
<br />
[http://www.xsens.com/en/general/mti Official website MTi]<br />
<br />
[http://www.xsens.com/en/general/mti-g Official website MTi-G]<br />
<br />
In sensor fusion, calibration and timing are crucial. If you want latency compensated ADXRS gyro integrated attitude done by an efficient and optimized Blackfin DSP you need an XSens. For rotorcraft the 100Hz is a bit slow, but for fixedwing it's perfect. Directly compatible with [[Yapa]] and [[Lisa]] and all needed code in paparazi. <br />
<br />
<br style="clear:both"><br />
<br />
=== MemSense MAG3 ===<br />
<br />
MAG3 - 6 DOF Analog IMU with Triaxial Magnetometer<br />
<br />
[http://www.memsense.com/index.php/Product-Pages/mag3-worlds-smallest-analog-inertial-measurement-unit.html Official website mag3]<br />
<br />
== The Very Short Essential Introduction To Inertial Attitude Estimation ==<br />
<br />
The only physical entity related to attitude (pitch and roll) is the earth gravity vector (unless you use a multi-antenna phase-measuring GPS... $$$$). Unfortunately, the sensors that measure gravity (=accelerometers) also measure so-called kinematic accelerations or in other words: changes in speed: like centrifugal forces, Coriolis forces, linear accelerations etc... The sum of all these litteraly is "what you feel" and is called [http://en.wikipedia.org/wiki/Specific_force "specific force"]. <br />
<br />
so <br />
<br />
accelerometer_value (specific force) = earth_gravity + change in velocity (linear accelerations) + velocity times turn rate (centrifugal etc)<br />
<br />
or<br />
<br />
A = B + C + D <br />
<br />
You measure A and want to know B. What all "gyroscopes and accelerometer only" AHRS projects are doing in some way or another is to neglect the last 2 (C and D). In many situations this is not bad: for instance: when testing the AHRS attached to your computer: it can not accelerate for a very long time (at most a few meters: so if you accerate to the left, then you need to accelerate to the right directly after so the average is zero) and can not rotate to much either (or your cable gets strangled). This is why all AHRS videos on youtube look perfect. And on the desk they are perfect: you neglected 2 terms in the equation that in that situation are perfectly neglect-able. Also with a quadrotor that hovers and keeps its nose in the same direction all the time, these neglected terms are small.<br />
<br />
Now what about the gyroscopes you might ask. I deliberately keep them only second as gyroscopes (turn rate or rotation speed sensors) do NOT give you attitude but ONLY HELP TO SOLVE SHORT TERM errors in the previous part. If gyroscopes would measure turn-rate perfectly, then they would help more but all MEMS/PIEZZO sensors are more or less sensitive to 1) temperature, 2) turnrate, 3) vibrations, 4) accelerations, 5) radiation, 6) power supply quality 7) non-linearity 8) ADC-quality 9) dynamic range and saturation problems, ... so if you integrate gyroscopes, sooner or later errors build up (drift). I put this list here so you know what to pay attention for: if using gyroscopes: always try to keep the temperature as constant as possible or let the temperature settle, reduce vibrations (dampers), use better ADC (e.g. 10bit ADC with +/- 1200 deg/sec gyros have a resolution of 2.4 degrees/s per ADC tick, so your phi/theta might drift 1.2deg/sec without noticing) and power supply filtering and shielding etc to start with. All of these define for how long (seconds!/minutes?) gyroscope integration is useful.<br />
<br />
If you convert the accelerometer directly to attitude and plot it, it will vibrate a lot and will show errors when you accelerate the AHRS on your desk. During a coordinated turn of a fixedwing plane, the force you feel is perpendicular to the plane (not pointing to earth). The accelerometer only clearly is insufficient to know your attitude. One solution is to use gyroscopes that are so good that you can predict for many minutes (then the average acceleration during several turns would still point to earth). But if your gyros can only help for shorter terms (like all MEMS sensors of less than 500euro/each) then extra information is required. E.g: if you add GPS data or airspeed data however, from the flightpath you can quite accurately reconstruct the missing C and D terms. Together with the accelerometer you can know "where the earth is" even when you keep accelerating and turning. Here questions like latency, update rate, noisy derivatives (linear acceleration) are of importance. <br />
<br />
Finally there is the heading... GPS ground-track is not the same as nose direction. Gyroscopes measure how much the nose has been turning, so using GPS to correct it induces errors that increase with corsswind. Magnetometers can help here, and become necessary whenever you do not move enough anymore (hovering). This situation can also occur in plane flying in very strong winds.<br />
<br />
[[Category:Hardware]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=GCS&diff=9795GCS2011-07-21T07:50:21Z<p>Aerovista: /* Video Plugin */</p>
<hr />
<div>{|<br />
|-valign="top"<br />
|__TOC__<br />
|<br />
[[Image:gcs.jpg|frame|right|The Paparazzi Ground Control Station is the heart of the system and the user's primary interaction interface.]]<br />
|}<br />
<br />
== Strips ==<br />
<br />
Each A/C has an associated strip that displays information about the A/C and provides buttons for common commands. The strip has the following layout by default. Paparazzi GCS is very flexible and the strip can have more or less buttons according to your configuration.<br />
<br />
[[Image:strip.png|Aircraft information strip]]<br />
<br />
=== Displayed information ===<br />
<br />
* Left: Flight information<br />
* Center: Navigation information<br />
* Right: Navigation control<br />
* Bottom: Custom navigation and setting buttons<br />
<br />
=== Actions ===<br />
<br />
Every change in the waypoints (position or/and altitude) must be confirmed with the dialog box that appears after the move. A modified waypoint remains animated on the map and the GCS continues to re-send the move request until confirmation is received from the aircraft.<br />
When clicked, the '''Mark''' button places a mark on the map at the A/C position. A snapshot from the video plugin is associated to this mark and can be viewed by moving the mouse over the mark. A click on the mark opens a dialog box allowing to delete the mark.<br />
A click on the colored bar at the top selects the corresponding A/C in the [[#notebook|Notebook]].<br />
<br />
== Map ==<br />
<br />
[[Image:GCSmap.png|thumb|400px|Sample map showing the various features]]<br />
<br />
=== Display ===<br />
<br />
The map display contains the following information:<br />
* The A/C track: it can be erased ''via'' the ''Clear track'' option from the A/C menu.<br />
* The A/C label (in clear blue near the A/C) contains the name of the A/C (Plaster), it's altitude (218 m) and it's ground speed (11.99 m/s). This option default is off. It can be activated with the ''A/C label'' option from the A/C menu.<br />
* The carrot (the orange triangle). This is the point the A/C is following during autonomous navigation.<br />
* The waypoints defined in the flight plan (blue diamonds).<br />
* The intended trajectory is shown as a green line, in this example a circle around waypoint 2.<br />
* The default background is black. [[Maps|Maps]] can be loaded to provide navigation reference.<br />
* The camera footprint (the grey polygon) is representative of the swath of land currently seen by the onboard camera. This option default is off. It can be activated with the ''Cam footprint'' option from the A/C menu. see also [[Pan_Tilt_Camera]]<br />
* The WGS84 coordinates of the mouse cursor are displayed at the top right hand corner (43.462019 1.270474).<br />
* A UTM kilometric grid can be added to the background ''via'' the ''UTM grid'' option from the ''Nav'' menu.<br />
* The height Above Ground Level (AGL) displays the ground altitude of the mouse near the geographic position in the top right hand corner. The [http://srtm.usgs.gov/ SRTM] option must be enabled in the ''Nav'' menu and the height data must be downloaded as described [[Maps#Height_Data|here]].<br />
<br />
=== Navigation ===<br />
<br />
You can pan/zoom the map using the following:<br />
* Pan with the blue arrows on the map or use the arrow keys on the keyboard<br />
* zoom in/out with the mouse scroll wheel, the page up/page down buttons or the small up/down buttons at the top right hand corner where the zoom factor is displayed<br />
* fit the map to the window, in order to see all the waypoints and A/C, with the '''f''' key or the ''Fit'' option from the ''Nav'' menu;<br />
* center the map on an A/C with the ''Center A/C'' option from the corresponding A/C menu.<br />
<br />
=== Map Photo Tiles ===<br />
The default black background can be automatically filled with calibrated satellite photo tiles from Openstreetmaps, Google Maps or MS Maps. Note: If you download too much map data from Google into the GCS you may be blocked for downloading further map data for 24 hours. With OpenStreetmaps data and MS data there is no such limitation.<br />
<br><br />
See the [[Maps]] page for more info.<br />
<br />
=== Waypoint Editing ===<br />
<br />
The properties of any waypoint in the currently loaded flight plan can be modified by two methods:<br />
* Drag and drop the waypoints to a new location (a confirmation dialog will appear).<br />
* A single left click on a waypoint opens a dialog box where you can edit the waypoint's coordinates and altitude.<br />
<br />
Waypoint edits are sent to the aircraft immediately upon confirmation in the dialog box. The GCS will re-send the data and the waypoint will animate until the aircraft confirms receipt of the move request. New waypoints cannot be added during flight.<br />
<br><br />
See the [[Flight_Plans|Flight plans]] and [[Flight_Plan_Editor|Flight Plan Editor]] pages for more information on waypoints.<br />
<br />
== Notebook ==<br />
<br />
The notebook frame contains one page for each running aircraft. Each aircraft page is itself divided into subpages displaying telemetry data and giving access to the autopilot tuning parameters.<br />
<br />
Note that the colored tabs at the top of this section allow the user to select among multiple aircraft.<br />
<br />
=== Flight Plan ===<br />
<br />
<center><br />
[[Image:GCSfp.png|Flight plan tree]]<br />
</center><br />
<br />
The full tree of the flight plan is given in this page. The current block and the current stage are highlighted. A double-click on a block allows the operator to immediately switch navigation to this block.<br />
<br><br />
See the [[Flight_Plans|Flight plans]] and [[Flight_Plan_Editor|Flight Plan Editor]] pages for more information on flight plans.<br />
<br />
=== Settings ===<br />
<center><br />
[[Image:GCSsettings.png|Settings tab]]<br />
</center><br />
The setting page allows the operator to change variable values during flight. The layout of the page is generated from the <tt>dl_settings</tt> section of the settings.xml file, one tab is associated to every section and sub-section.<br />
<br />
On each line is displayed (from left to right), the name of the variable, its current value (periodically sent by the A/C), a slider or radio buttons for user input, and commit/undo buttons.<br />
<br><br />
See the [[Telemetry#Settings|Telemetry]] page for more information on settings.<br />
<br><br />
The save button of this tab opens the following popup which proposes to the user to save the current values in the airframe file (according to the <tt>param</tt> attribute in the [[Telemetry#Settings|setttings]] configuration file). The values of the checked rows will be saved in the airframe file (or any other file) for further use. Units (e.g. deg or rad) are taken into account. '''It is recommended to backup the airframe file before overwriting it with this utility''' (even if time-stamped copy of the airframe file is actually automatically done).<br />
<br />
Symetrically, the Upload button of this dialog button will send all the checked values of the airframe file to the live aircraft.<br />
<center><br />
[[Image:Save settings.png|Settings tab]]<br />
</center><br />
<br />
=== PFD ===<br />
<br />
[[Image:GCSpfd.png|Primary Flight Display]]<br />
<br />
The Primary Flight Display contains an artificial horizon and two scales displaying the current ground speed (left side) and the altitude (right side). Minimum and maximum speeds are shown under and above the speed scale. A click on the scale resets these values to the current speed value.<br />
<br />
=== GPS, Infrared, Wind ===<br />
<br />
The '''GPS''' page gives the list of satellites tracked by the receiver and their respective signal strengths in dB.<br />
(35 is low, 45 is excellent) and if they are used to compute the fix (green: used, red:not used). This page may help to tune the position of the receiver on the aircraft relatively to other components (e.g. datalink and video transmitters).<br />
<br />
The '''Infrared''' page is only used for aircraft not equipped with the vertical infrared sensor. This page reports the required pre-flight calibration value as well as the evolution of the in-flight calibration correction factor (from hybridization with the GPS information).<br />
<br />
The '''Misc''' page displays the estimated wind velocity computed by the ground station during flight and relayed back to the aircraft. Wind velocity is estimated by vector addition of the GPS-measured ground speed in many different directions during level flight. This computation may soon be performed by the autopilot instead of the ground station.<br />
<br />
== Video Plugin ==<br />
<br />
The <tt>-mplayer</tt> option of GCS allows the user to display a video stream in this window. The video window can also be exchanged with the map by clicking anywhere inside the frame or from the menu.<br />
Use the following line in your [[Control_panel.xml|control panel]] to enable the video window.<br />
<tt>path_to_ground_segment/cockpit/gcs -mplayer rtsp://localhost:7070/video -layout appropriate_layout.xml</tt><br />
Note that a <tt>plugin</tt> widget must be specified in the used layout:<br />
<tt> <widget size="300" name="plugin"/></tt><br />
<br />
See this [http://www.youtube.com/watch?v=7OCcMA4vluM screen capture] as an example of the resulting GCS (Y-UAV).<br />
<br />
The <tt>-plugin</tt> option is another way to use the plugin widget: the X subwindow id is given to the provided command:<br />
<tt>path_to_ground_segment/cockpit/gcs -plugin "mplayer video_stream -wid " -layout appropriate_layout.xml</tt><br />
<tt>path_to_ground_segment/cockpit/gcs -plugin "cvlc video_stream --drawable-xid=" -layout appropriate_layout.xml</tt><br />
The <tt>--vout-event=3</tt> option can be used for vlc to disable mouse and keyboard events handling<br />
<br />
== Altitude graph widget ==<br />
<center><br />
[[Image:altgraph.png|400px|The GCS with the altitude graph]]<br />
</center><br />
<br />
An altitude graph can be displayed in the GCS by adding the widget ''altgraph'' in the layout configuration (See the [[GCS_Configuration|GCS configuration]] page). An example is provided in conf/gcs/alt.xml. To use this layout add -layout alt.xml to the /conf/control_panel.xml file. This type of layout is more suited to a multi UAV set up. The Papget ruler is a much less intrusive and better tool when you are only flying a single aircraft.<br />
<br />
==Papgets==<br />
Graphical objects can be added to 2D maps: text, rule, gauge, buttons, .... These objects are named ''papgets''. The following snapshot<br />
shows an example with buttons (left side), gauges (lower left corner), text (upper right corner) and ruler (right side). This example<br />
has been produced with a layout file provided in the distribution:<br />
<br />
.../gcs -layout papgets.xml <br />
<br />
<center><br />
[[Image:papgets.png|516px|A 2D map augmented with papgets]]<br />
</center><br />
<br />
===Telemetry data report===<br />
The easiest way to create a papget displaying telemetry data is to drag&drop a message field from the Messages window onto the 2D map of the GCS. The default rendering is then a string of text. Clicking on it allows the user to change its type (currently text, ruler or gauge) and some of its attributes (color, size, range for a gauge, format for a text ...). A papget can be moved by simply dragging it.<br />
<br />
<center><br />
[[Image:papget_editor.png|Main characteristics of a papget can be dynamically edited]]<br />
</center><br />
<br />
Papgets can be saved in the layout of the GCS (from the Nav menu). The description is saved in an XML file (in <tt>conf/gcs/</tt> folder) which can be manually edited:<br />
<br />
<pre><br />
<papget type="message_field" display="gauge" x="47" y="414"><br />
<property name="field" value="BAT:voltage"/><br />
<property name="scale" value="0.1"/><br />
<property name="min" value="0."/><br />
<property name="max" value="15."/><br />
<property name="size" value="50."/><br />
<property name="text" value="Bat(V)"/><br />
</papget><br />
</pre><br />
<br />
The file is used later by giving it to the gcs process:<br />
<br />
<pre><br />
.../gcs -layout my_fancy_papgets.xml<br />
</pre><br />
<br />
===Buttons===<br />
In the same way, user buttons from the strip can be dragged&dropped on the 2D map. However, they currently cannot be directly edited, and<br />
attributes changes have to be done in the XML file. Two types of button are provided to jump to a block or to set a value:<br />
<br />
<papget type="goto_block" display="button" x="10" y="300"><br />
<property name="block_name" value="Standby"/><br />
<property name="icon" value="home.png"/><br />
</papget><br />
<papget type="variable_setting" display="button" x="10" y="250"><br />
<property name="variable" value="launch"/><br />
<property name="value" value="1."/><br />
<property name="icon" value="launch.png"/><br />
</papget><br />
<br />
===Video===<br />
A video stream can be rendered in a <tt>video_plugin</tt> papget, using the mplayer player:<br />
<papget type="video_plugin" display="mplayer" x="300" y="250"><br />
<property name="video_feed" value="my video source"/><br />
<property name="width" VALUE="320"/><br />
<property name="height" VALUE="240"/><br />
</papget><br />
or any video player which takes in option the X window id :<br />
<papget type="video_plugin" display="plugin" x="300" y="250"><br />
<property name="command" value="cvlc video_source --drawable-xid="/><br />
<property NAME="width" VALUE="320"/><br />
<property NAME="height" VALUE="240"/><br />
</papget><br />
<br />
===Development===<br />
Graphical appearence of papgets is defined in <tt>sw/lib/ocaml/papget_renderer.ml</tt>. A renderer must implement the Papget_renderer.t class type interface (<tt>canvas_text</tt> is probably the simpler example) and listed in the <tt>renderers</tt> list to be available<br />
in the edit popup box.<br />
<br />
The XML configuration is parsed in <tt>sw/ground_segment/cockpit/papgets.ml</tt>: a new created papget identifier must listed here.<br />
<br />
== Alarms ==<br />
<br />
The alarm window displays a list of recent errors such as:<br />
* Low battery warning<br />
* Low altitude warning<br />
* Autopilot mode changes (i.e. Manual, Auto2)<br />
* Flight plan block changes<br />
<br />
These alarms can be provided via the speaker using the [[speech]] function.<br />
<br />
== Configuration Options ==<br />
The GCS is highly configurable and modules can be added, removed, or resized as needed. In addition to this the gcs has many command line options which can be used when launching the GCS<br />
<br><br />
See the [[GCS_Configuration|GCS configuration]] page for details.<br />
<br />
== Simulation of Flightplan ==<br />
Complex flight plans should always be carefully tested prior to flight. See the [[Simulation|simulation]] page for details.<br />
<br />
==Related Links:==<br />
<br />
[[Category:Software]] [[Category:User_Documentation]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=RC_Receivers_and_Radios&diff=9738RC Receivers and Radios2011-07-11T07:59:15Z<p>Aerovista: /* Receivers */</p>
<hr />
<div>== 2.4GHz Systems==<br />
If using a Lisa/L autopilot board the whole range of Specktrum/JR transmitters can be used with 1 or 2 Spektrum/JR/Hobbyking satellite receivers for other autopilot boards to use a 2.4 GHz system a few requirements are necessary<br />
# Must use ppm encoder board. (See [[Get_Hardware|Get Hardware]] page for suppliers) (Except for the Futaba FASST 7 channel receiver R617FS that has a 5 (not 7) channels combined pulse)<br />
# Needs a three position switch<br />
# Ability to set failsafe to any or at least 1 channel (pprz-mode) as desired<br />
# At least one extra channel beyond those needed to control the servos and motor. (throttle-roll-pitch-mode)<br />
=== Radios ===<br />
<br />
====Futaba FASST 7-channel receiver====<br />
<br />
[[Image:rs617fasst.jpg|thumb|right]]<br />
<br />
* Pin 8 (upper right corner in picture) of the small IC on the right contains 5 PPM pulses and can go directly to paparazzi. Pulse 6 and 7 go directly to the servos. <br />
* Best is to remove the resistors of one of the channels and connect a small wire to pin 8 to get the combined 5 pulses on the robust 1/10th inch header.<br />
* Do not forget to use channel 3 (only failsafe channel) as mode switch with fail safe "throttle off" as mode 2.<br />
<br />
====Spektrum DX-7====<br />
[[Image:DX7.jpg|thumb|left]]<br />
*7 Channels <br />
* 20-Model memory<br />
* Airplane and Heli software<br />
* Switch assignment<br />
* P-mixes<br />
* Includes 4 powerful DS821 digital servos with high-tech resin gears<br />
* 3-axis dual rate & expo<br />
* 3-position flap (Airplane)<br />
* 5-point throttle curve (Heli)<br />
* 3 flight modes plus hold (Heli)<br />
* Gyro programming (Heli)<br />
* CCPM, 2-servo 90°, 3-servo 90°, & 3-servo 120°<br />
* Price $320-$350<br />
<br><br><br />
===== Switch Assignment =====<br />
To assign the three position switch to any other channel but channel 7 follow these steps:<br />
# Set up aux2(refers to aux2 on rx not the switch on the tx. aka ch7) with its input selected as 3 pos switch.<br />
# Set up this mix - Gear to Gear (Up=-100, Down=-100, Offset =0). This inhibits the gear switch.<br />
# Set up another mix - Aux2 to Gear (Up=100, Down=100, Offset = 0).<br />
Notes: <br />
#Gear on a DX-7 Air is Channel 5 and AUX2 is CH7. Once again i am referring to the inputs which are labeled on the RX not what the switches are named on the TX. If your using a DX-7 heli please substitute the names for what the rx channels are named into this guide<br />
# DX7 Heli the 3-pos switch is named "flight mode"<br />
# DX7 Air the 3-pos switch is named "flaps"<br />
<br />
===== Failsafe Setup =====<br />
To set up the mode channel (3 pos switch) to default to auto2 if connection is lost between rx and tx follow these steps:<br />
# Put 3 position Switch into AUTO2 Position<br />
# Put in bind plug<br />
# Power up<br />
# REMOVE the bind plug<br />
# Power up Tx while pushing bind button<br />
# Wait until light becomes steady and not blinking (it may become steady right off but will then start blinking again so let it go at least 5 seconds)<br />
<br />
===Receivers===<br />
====Jeti Duplex 2.4 GHz Receiver Rsat 2====<br />
[[Image:Jeti_Duplex_Rsat2.jpg|thumb|left|Jeti RSat 2]]<br />
* Outputs PPM, no soldering or PPM board required<br />
* Only 12 gramms<br />
* Full duplex technology provides safe radio link and redundant telemetry to standard paparazzi telemetry.<br />
* [http://www.jetimodel.cz/index.php?page=products&old=0&category=4 Transmitter module] can be installed in any receiver.<br />
See the official [http://www.jetimodel.cz/index.php?page=product&id=165 Homepage of Jeti] or the [http://www.mikrokopter.de/ucwiki/JetiDuplex MikroKopter Wiki].<br />
<br style="clear:both"><br />
====Spektrum 2.4Ghz Satellite Receiver - Lisa/L implementation====<br />
[[Image:Lisa l hex 1.jpg|thumb|right|Connection View]] <br />
[[Image:SPM9545-250.jpg|thumb|left|Remote Receiver [SPM9545]]] <br />
* [http://www.spektrumrc.com/Products/Default.aspx?ProdID=SPM9545 Specifications]<br />
* Lisa/L Radio_Control_Spektrum_Primary_Port = Uart 3<br />
* Lisa/L Radio_Control_Spektrum_Secondary_Port = Uart 5<br />
* arch files:~/paparazzi/sw/airborne/arch/stm32/subsystems/radio_control/spektrum-arch.h and .c<br />
* Additional hardware - <br />
[http://parts.digikey.com/1/parts/355490-conn-housing-5pos-1-25mm-51021-0500.html Molex CONN HOUSING 5POS 1.25MM - 51021-0500], <br />
<br />
[http://parts.digikey.com/1/parts/355493-conn-housing-8pos-1-25mm-51021-0800.html Molex CONN HOUSING 8POS 1.25MM - 51021-0800], <br />
<br />
[http://uk.rs-online.com/web/search/searchBrowseAction.html?method=getProduct&R=2799544 Molex Socket to free end crimped lead,300mm L], <br />
<br />
[http://parts.digikey.com/1/parts/270897-conn-term-female-26-28awg-tin-50079-8000.html Molex CONN TERM FEMALE 26-28AWG TIN], <br />
<br />
[http://parts.digikey.com/1/parts/1806245-hand-tool-26-32awg-crimp-638190300.html Molex HAND TOOL 26-32AWG CRIMP]<br />
* Transmitter options - Spektrum DX6, DX7(see above), DX8, bind compatible JR units up to 12 channels and those bearing the Specktrum DM9 module - note these transmitters must be channel order compatible with Spektrum's protocol - [http://code.google.com/p/er9x/ here is an example] <br />
<br />
=====Installation=====<br />
# Cut off original receiver connector and crimp molex connector terminals to the three wires.<br />
# Insert terminals into appropriate positions-[http://paparazzi.enac.fr/wiki_images/LisaL_v1_0_schematic_3.png CON_USART3]-of the 5 way connector - black to pos1 = GND, orange to pos3 = +3v3, grey to pos5 = STM_USART3_RX. <br />
<br />
=====Bind plug===== <br />
# Take the 8 way molex connecter and create a loop between pos1 = GND and pos4 = XXX_STM_SPARE_2. This plug is placed in the-[http://paparazzi.enac.fr/wiki_images/LisaL_v1_0_schematic_3.png CON_SPARE]-receptacle housing before power-up to enable the receiver binding state. <br />
<br />
=====Configuration=====<br />
* Set the spektrum radio parameters for Lisa/L ap in ~/paparazzi/conf/airframes.xml file. Check 'esden' directory as a possible rotorcraft example. Refer to ~/paparazzi/sw/airborne/arch/stm32/subsystems/radio_control/spektrum-arch.h and .c for other options. Be sure to set actuators, rotor configuration/mixes and channel reversal parameters that are appropriate for the rotorcraft/aircraft.<br />
<br />
<firmware name="rotorcraft"><br />
<target name="ap" board="lisa_l_1.0"><br />
<!-- <define name="BOOZ_START_DELAY" value="1"/> --><br />
<subsystem name="radio_control" type="spektrum"/><br />
<subsystem name="actuators" type="mkk"/><br />
<subsystem name="telemetry" type="transparent"/><br />
<define name="RADIO_MODE" value="RADIO_AUX1"/><br />
<define name="RADIO_KILL_SWITCH" value="RADIO_GEAR"/><br />
</target><br />
<br />
<target name="stm_passthrough" board="lisa_l_1.0"><br />
<subsystem name="radio_control" type="spektrum"/><br />
<subsystem name="imu" type="b2_v1.2"/><br />
</target><br />
*Create a new transmitter 'airplane' model. Do not introduce any mixes or change the endpoints, subtrims etc. Note that a radio.xml file is not required for this implementation, unlike analogue RC directed autopilots. <br />
*Upload ap software in the usual way. <br />
*Unplug the aircraft battery. Turn transmitter off. Insert the bind plug (see above) in the 8 way CON_SPARE receptacle. Power up the aircraft - specktrum receiver LED should be flashing in readiness to bind. Press and hold bind button on transmitter while turning on. Receiver LED should stop flashing after a few moments to confirm it is bound. Turn everything off in preparation to start in the normal way. Note that the transmitter should now be turned on first to enable the spektrum receiver to acknowledge it. <br />
*Should be ready to fly. <br />
*Adding a second spektrum satellite receiver requires different wiring dependent on the Lisa board version. As the pinouts to uart5 differ between Lisa-L v1.0 and v1.1. Seek advice from the [http://lists.gnu.org/archive/html/paparazzi-devel/2011-01/index.html paparazzi mailing list] prior to making this addition.<br />
<br />
To enable the use of the secondary satellite receiver you have to add two lines to your firmware section in the airframe file:<br />
<br />
<define name = "RADIO_CONTROL_SPEKTRUM_SECONDARY_PORT" value = "UART5"/><br />
<define name = "OVERRIDE_UART5_IRQ_HANDLER"/><br />
<br />
== PCM Systems ==<br />
# Must use ppm encoder board. (See [[Get_Hardware|Get Hardware]] page for suppliers)<br />
# Needs a three position switch<br />
# Ability to set failsafe to any channel as desired<br />
# At least one extra channel beyond those needed to control the servos and motor.<br />
<br />
== PPM Based Systems ==<br />
=== Configuration ===<br />
The [[Radio_Control]] page describes how to set up the radio.xml config file.<br />
<br />
=== Requirements ===<br />
To use a 26/27/35/40/41/72/ MHz **(uses PPM) system a few requirements are necessary<br />
# Need a Transmitter with a three position switch<br />
# At least one extra channel beyond those needed to control the servos and motor.<br />
# A modified receiver which outputs a full ppm signal.<br />
<br />
===Adding a 3 position switch===<br />
===== Futaba T6EXAP =====<br />
For this particular transmitter, the Potentiometer on channel 6 can be replaced with a 3 position switch. Channel 5 appears not to be connected to an ADC converter; therefore it will not support a 3 position switch.<br />
#Disconnect the potentiometer being careful not to shorten the wires<br />
#Solder the switch and resistors onto the wires using the wiring diagram as a reference. (Any two equal value resistors should work). I used 10k resistors.<br />
[[Image:SwitchWiringDiagram.JPG|thumb|left|Switch wiring diagram]]<br />
[[Image:3positionswitch.JPG|thumb|left|Switch installed in transmitter]]<br />
<br style="clear:both"><br />
Suitable 3 position switches:<br style="clear:both"><br />
RS Components: [http://australia.rs-online.com/web/search/searchBrowseAction.html?method=getProduct&R=344-710 344-710]<br style="clear:both"><br />
Mouser: [http://au.mouser.com/Search/Refine.aspx?Keyword=633-M202402-RO 633-M202402-RO]<br />
<br />
=== R/C Receiver Interface===<br />
All versions of the Paparazzi autopilot include a connector to interface with a standard R/C receiver for manual or semi-autonomous control during the testing and tuning phases. Two interface options exist:<br />
# Tap into the PPM signal running between the RF section and the servo driver of your receiver and route it to the Paparazzi. Let the Paparazzi generate individual servo signals and connect all servos directly to the autopilot. This method requires only 3 wires to the receiver (power and PPM), is compatible with all Paparazzi autopilots, and provides 8 manual R/C channels and the potential for more autonomous channels regardless of the capability of the R/C receiver.<br />
# Cut the PPM trace and route it thru the autopilot and back to the receiver, using the servo driver IC on your R/C receiver to drive the servos. This option requires 4 wires (Ground, PPM-in, PPM-out, Reset) and your receiver must have a supported servo driver IC. This allows you to use the large servo connectors on your R/C receiver and does not require any modification to your servos or ESC but does require you to cut a trace on your R/C receiver and limits the number of servos to the capacity of your receiver. Compatible with Classix and Tiny 1.1.<br />
# Note that on the Classix the PPM_in pin is FOO2... <br />
[[Image:RC_Receiver_Timing_Diagram.jpg|thumb|left|PPM Timing Diagram<small>Note 1: Exact value not critical. Depending on RC Transmitter type & Manufacturer.<br>Note 2: Depending on Transmitter number of Channels and t,,n,, durations.<br>Note 3: Not critical. Depending on Synchro detection method.</small>]]<br />
[[Image:RC_Receiver_Tiny.jpg|thumb|left|3-Wire setup, driving servos from the autopilot]]<br />
[[Image:RC_Receiver_classix.jpg|thumb|left|4-Wire setup, driving servos from the R/C receiver]]<br />
<br style="clear:both"><br />
<br />
=== Common demux chips ===<br />
<br />
Typical used chips are the cmos [http://www.doctronics.co.uk/4015.htm 4015] and [http://www.doctronics.co.uk/4017.htm 4017]. <br />
<br />
The 4015 uses either pin 1 or pin 9 for the clock and the input is on 7 and 15. The 4017 has just one shift register and has its clock input on pin 14 and the enable on pint 13.<br />
<br />
In most receivers you are after the clock; though some may be pulsed; in which case you need the enable. Note that the 4017 enable has inverted logic (low to be enabled) whereas the input on the 4015 can be either (typically high). If the enable pin is held low (4017) or if the input pin (4015) is held high always;e.g. connected to the ground or the Vcc - then it is fair to assume that the PPM signal is most propably on the clock input. <br />
<br />
=== Recommended 35/40Mhz R/C Receivers ===<br />
<br />
Note that there is information on modifying other receiver models at [http://mikrokopter.de/ucwiki/RC-Empf%C3%A4nger mikrokopter.de]. It's in German however the pictures contain most of the information or use google translate.<br />
Shielded wire is recommended for receiver and autopilot connection, as unshielded one may cause noise in receiver. <br />
<br />
=====Futaba FP-R116FB 6 Channel FM 35MHz receiver=====<br />
[[Image:Rc_fut_web.jpg|thumb|left|Wiring of a Futaba R136]]<br />
*Orange wire is connected to PPM signal<br />
*Red wire is connected to VCC<br />
*Brown wire is connected to GND<br />
<br style="clear:both"><br />
<br />
=====Futaba R136F 6 Channel FM receiver=====<br />
[[Image:rx_futaba136.jpg|thumb|left|Wiring of a Futaba R136]]<br />
*41 MHz<br />
*White wire is connected to PPM signal<br />
<br style="clear:both"><br />
=====Futaba R168DF 8 Channel dual FM receiver=====<br />
[[Image:rx_futaba168df.jpg|thumb|left|Wiring of a Futaba R168DF]]<br />
*35 MHz<br />
*PPM wire is connected to 862 receiver pin on the board. VCC and GND is on the 8/B original position.<br />
<br style="clear:both"><br />
<br />
=====ACT Micro-6 FM receiver=====<br />
[[Image:rx_act_micro-6.jpg|thumb|left|Wiring of a ACT Micro-6]]<br />
*Available in 35 or 40 MHz versions<br />
*White wire is connected to PPM signal<br />
*[http://www.acteurope.com/Micro_6anl.pdf Datasheet (German)]<br />
<br style="clear:both"><br />
<br />
=====ACT DSL-4top [http://www.mikrokopter.de/ucwiki/DSL4top mikrokopter.de] version=====<br />
[[Image:DSL4top.jpg|thumb|left|DSL-4top mikrokopter.de version]]<br />
* Special version for mikrokopter.de - Only available in their [https://www.mikrocontroller.com/index.php?main_page=product_info&products_id=215&zenid=8ce8bab70f3e9d684e01f724316d9690 shop]!<br />
* '''Outputs PPM directly''' on the channel 1 connector!<br />
* No soldering necessary<br />
* ACT Lifetime warranty<br />
* Sells for ~45 euro<br />
<br style="clear:both"><br />
<br />
=====Futaba R115F 5 Channel FM receiver=====<br />
[[Image:pprz_rx115.jpg|thumb|left|Wiring of a Futaba R115]]<br />
*Available in 35 and 40 MHz versions<br />
*White wire is connected to PPM signal<br />
<br style="clear:both"><br />
=====JETI REX 5 plus (no MPD) receiver=====<br />
[[Image:520_Jeti_5_plus.jpg|thumb|left|Wiring of a REX 5]]<br />
<br />
*Popular Czech made micro r/c receiver, available in 35 or 40 MHz versions<br />
*´folded´ PCB design with parts inside, mostly inaccessable<br />
*Small grey wire is connected to via with PPM signal<br />
*Unusual connector used for testing, soldering recommended<br />
*shielded wire recommended, this one taken from PC parts recycling (former soundcard to m/b connector cable)<br />
*[http://www.jetimodel.cz/eng/navody_en/rex5_eng.pdf Datasheet (English)]<br />
<br style="clear:both"><br />
[[Image:DSC02414.JPG|thumb|left|other Layout of REX 5]]<br />
<br style="clear:both"><br />
<br />
=====Receiver RX-7-SYNTH IPD receiver [http://www.multiplex-rc.de/hp/produkte/artikel_detail.jsp?lfdnr=55880&action=add2notice&qty=1&cachenepper=1227896925116 Multiplex-rc.de]=====<br />
[[Image:RX-7-SYNTH_IPD.jpg|thumb|left|Wiring of RX-7-SYNTH IPD]]<br />
<br />
*Available in 35, 36 and 40 MHz versions<br />
*A compact, high-quality 7-channel single-conversion FM / PPM IPD receiver<br />
*Easy modification through connectors, see pictures<br />
<br style="clear:both"><br />
<br />
==== Protech 5FM 35 mHz Receiver ====<br />
<br />
The low cost Protech '5FM' receiver makes use of an SMD version of the standard 74AHC164[http://www.ic-on-line.cn/IOL/datasheet/74ahct164_18057.pdf] 8 bit shift register; you are after PIN 1 of this chip. The circuit board has a testpad for just this pin at the top side of the circuit board.<br />
<br />
<gallery><br />
Image:protech-5fm.jpg|Figure 1. <br>Protech 5FM 35 mHZ Receiver, mark 2<br />
Image:protech-5fm-pad.jpg|Figure 2. <br> PPM tap location for the Protech 5FM receiver, near the 74AHC164 shift register<br />
Image:protech-5fm-scope.jpg|Figure 3.<br> Protech 5FM PPM signal - not very clean/digital<br />
</gallery><br />
<br />
Two physical versions exist; the older one [http://www.protech.be/Manuals/PRO205manual%20web.pdf] and a newer one pictured (fig 1). It has been distributed by protech with various ready-to-fly planes; such as the Skyraider[http://www.modelbouwforum.nl/forums/beginners/50677-protech-skyraider.html].<br />
<br />
The solder/testpad you are after the one right next the 74x164 chip its pin 1. In this image it has a jellow wire soldered to it (the yellow wire at the top left is the normal antenna connector (fig 2). Note however that the signal is not very clean (1v/div) - which may cause issues - as shown in the above image (fig 3). <br />
<br />
This is further compunded by the relatively noisy electrical engines; which are not brushless. A ferrite coil does not seem to help enough - Papparazi and GPS loose sync often through Xbee. Replacing the engine by a brushless outrunnen resolve the issue completely.<br />
<br />
==== Profi Penta 35 MHz ====<br />
[[Image:DSC00547.JPG]]<br />
[[Image:DSC00545.JPG]]<br />
<br />
=== Recommended 72Mhz R/C Receivers ===<br />
====Castle Creations [http://www.castlecreations.com/products/berg_ms4l.html Berg 4L]====<br />
[[Image:berg4L.jpg|thumb|Wiring of a Berg 4L]]<br />
* Expect fantastic performance from these $40 USD parts but be warned that they are known to have unreliable crystal sockets and brittle antenna wire. The ''Berg 7'' channel receiver should work equally well and is known to have a better crystal socket - note that either receiver will provide '''8 channels''' in manual R/C mode when used with Paparazzi. Note: the rugged ''Berg 4'' cannot be modified, only the ''Berg 4L'' and ''Berg 7''.<br />
To Modify a Berg4L, follow these instructions:<br />
# Remove the shrink wrap. Use a good knife and be careful to not damage any of the components on the receiver. I would recommend that you cut on the sides (edge of the PCB) to be sure to avoid damaging the shielding<br />
# Desolder the headers. We will not use them with tiny AP as the servos are connected directly to the AP. This is pretty easy to do when you have a hot air rework station. If you don't have one, your best bet is to cut the header off and remove the left over pins one by one with a regular iron. There is a piece of shielding material that is connected to one of the ground pins of the header. You need to remove it carefully from the header without damaging it and re-solder it to the gnd pad.<br />
# You need to solder 3 wires to the receiver. Gnd, +5V and PPM. To locate the PPM signal, first locate the PIC micro controller close to the location of the headers. The PPM signal is on the corner pin closest to the corner of the receiver. Soldering a 28guage wire directly to the PIN isn't very difficult. For the power connection, use the pads that were used for the header. The outside pin is Gnd, the second pin is +5V. What I did is solder the wires on the pad going straight down, then I looped the 3 wires 360 degrees and glued them to the PCB with hot glue. This provides good strain relief.<br />
# While you have the PCB in your hands, take the opportunity to remove the crystal connector and solder your crystal directly to the PCB for added reliability.<br />
# I also used some hot glue to add more strain relief to the antenna<br />
# Use some large shrink wrap to cover the entire receiver again<br />
=====Hitec Electron 6 72MHz Reciever=====<br />
This was written for MNAV from crossbow but is still usable with PPRZ.<br />
<br><br />
[[Image:Electron6mod.jpg]]<br />
<br />
<br />
=====Corona Synthesized Dual-Conv Receiver 8Ch=====<br />
[http://www.corona-rc.com/coproductshowE.asp?ArticleID=63 manual] <br><br />
<br />
This receiver is available in 27,35,36,40,72 mhz and a Synthesized receiver, meaning you do not need to change frequency crystals.<br />
<br />
How to modify for combined signal<br />
<br />
# Cut the 8th channel PWM output pin near the PCB.<br />
# Connected a pin from the Atmel (see picture) to the 8th channel PWM signal. (optionally, weaving the wire through some holes on the board.) Make sure you have a fine tip on your soldering iron and a magnifying glass strapped to your head! <br />
# Glue the wire down (CA works)<br />
# Be sure to glue the pin that you cut in place (previously, being soldered to the board was holding the pin in place)<br />
<br />
It is maybe possible to reprogram the atmel with your own firmware. If you succeed in this plz add relevant info here.<br />
<br />
That pin provides a 1V to 2V signal, it works with the PPRZ, although its a bit gittery (the slew rate is not real good).<br />
[[Image:Corona_Synthesized_Receiver_72Mhz_bottom.jpg|thumb]]<br />
[[Image:Corona_Synthesized_Receiver_72Mhz_top.jpg|thumb]]<br />
[[Image:Corona_Synthesized_Receiver_72Mhz_top_atmel.jpg]]<br />
<br />
<br style="clear:both"><br />
<br />
==433MHz UHF Systems==<br />
<br />
Note that in most countries an amateur radio license is required to use 433MHz UHF.<br />
<br />
===Scherrer UHF===<br />
<br />
[[Image:ScherrerUHF.jpg|thumb|left|Scherrer UHF Rx]]<br />
<br />
The [http://www.webx.dk/rc/uhf-link3/uhf-link3.htm Scherrer UHF] is a high quality diversity radio control system. It has a PPM output and can be connected directely to Paparazzi. A ppm encoder board is not required. It has an RSSI output.<br />
<br />
<br style="clear:both"><br />
<br />
===ImmersionRC EzUHF===<br />
<br />
[[Image:EzUHFTx.jpg|thumb|left|ImmersionRC Tx]]<br />
<br />
The [http://www.immersionrc.com/products.htm ImmersionRC EzUHF] is a high quality diversity radio control system. It does not have a PPM output. A ppm encoder board is required to connect to Paparazzi. It connects directely to EzOSD and the TrackR2 which enables RSSI monitoring and head tracking for FPV.<br />
<br />
<br style="clear:both"><br />
<br />
[[Category:Hardware]] [[Category:User_Documentation]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=File:Jeti_Duplex_Rsat2.jpg&diff=9737File:Jeti Duplex Rsat2.jpg2011-07-11T07:55:32Z<p>Aerovista: </p>
<hr />
<div></div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=Failsafe&diff=9680Failsafe2011-07-05T12:24:20Z<p>Aerovista: /* Setting RC lost mode */</p>
<hr />
<div>Paparazzi has several built-in failsafe features ranging from lowlevel to highlevel and from implied to optional.<br />
<br />
On the lowest level, precise timing of the transmitter pulses creates safety that goes beyond traditional switches enabling safer use of old RC equipment.<br />
On the highest level, the [[Flight_Plans#Exceptions|exceptions]] feature of the flight-plans allow for very flexible custom built failsafe features.<br />
<br />
<br />
== FBW (Fly By Wire) ==<br />
<br />
=== 'Failsafe Switch' ===<br />
<br />
The lowest level of paparazzi is the FBW (Fly By Wire) controller that reads the RC, reads the autopilot commands and drives the servo's based on the lowlevel failsafe options.<br />
<br />
This is the 'switch' between '''manual''' or '''automatic''' modes. Therefor there is no need for an other failsafe board. Indeed, the paparazzi FBW has evolved with so much intelligence that it is certainly safer than some and probably at least as safe as any other failsafe switches. This is amongst others (besides the highlevel validated code, separated process, ...) because paparazzi FBW unlike generic switches is given precise remote control information in it's RC.xml. If you use a wrong type of transmitter (e.g. not the right amount of channels, or not the correct interval or sync pulse length) than even when on the same frequency the FBW will not listen to the commands. Also, when 2 transmitters should be on the same frequency, then the chance of both signals together still being read as valid is very small. (This does NOT mean you can fly with 2 planes on the same frequency however. This only means that in this catastrophic scenario paparazzi does a pretty good job in delaying disaster from happening. )<br />
<br />
* be aware that there exist many failsafe switches that use a pulse of the RC (e.g. channel 5) to switch <br />
between autopilot or RC. When using analog RC equipment or any equipment that does not have correctly <br />
programmed failsafe servo values this is very unsafe as whenever the RC is out of range the switch will <br />
start switching back and forth putting the UAV out of control even if the autpilot is perfectly OK.<br />
<br />
=== FBW logic ===<br />
<br />
-RC GOOD: listen to the MODE switch on the Transmitter <br />
(this means whenever the remote control is close enough the pilot has the final word)<br />
-RC BAD: go to automatic mode (see further on for handling of automatic modes)<br />
-RC BAD AND AUTOPILOT DATA TIMEOUT: failsafe command values from airframe configuration XML <br />
(do not omit to fill in useful failsafe values in the command section; usually slight pitch up for minimal speed, <br />
ailerons neutral in order not to roll inverted and of course throttle down: it is not recommended to try to make <br />
turns here with aileron deflections. A small rudder deflection on the other hand is recommended when available )<br />
<br />
== AP (AutoPilot) ==<br />
<br />
=== Home mode ===<br />
<br />
The HOME mode is a failsafe mode where the standard navigation (own flightplan) is suspended and the aircraft <br />
flies a circle around the HOME waypoint at a safe altitude (''security_height'' attribute in your flight-plan). This mode is triggered on different events. <br />
Leaving this mode is done by clicking on the red HOME text in the GCS.<br />
<br />
==== Too far from HOME ====<br />
<br />
Home mode is triggered if the distance to the HOME waypoint is greater than a threshold ('''max_dist_from_home''' attribute) set in the <br />
fight-plan (displayed as a circle on the GCS map).<br />
<br />
==== RC link failure while manual or AUTO1 ====<br />
<br />
Home mode is triggered if RC uplink is lost in '''MANUAL''' or '''AUTO 1''' modes.<br />
<br />
* When '''MANUAL''' the manual mode is restored as soon as RC link is restored as expected.<br />
* However: In '''AUTO 1''' mode, one must manually leave the HOME mode using the GCS<br />
<br />
! Word of caution with respect to '''AUTO1''': <br />
When flying auto1 with a lot of RC interference (which is not recommended anyway), be prepared that the plane might enter HOME mode.<br />
Also, do not be tempted to fly far away in auto1 mode (possibly out of RC range) without a fully tuned auto2 autopilot or sufficient visual contact to allow manual control. As soon as you are so far that RC packets get lost, paparazzi will switch to HOME and will stay in HOME until you choose MANUAL of re-enable AUTO1 on the GCS !<br />
<br />
===== Setting RC lost mode =====<br />
<br />
By default when RC is lost (in Manual or Auto1) HOME mode is triggered, you can change this behaviour by setting the RC_LOST_MODE:<br />
<br />
<define name="RC_LOST_MODE" value="PPRZ_MODE_AUTO2"/><br />
<br />
In this example RC_LOST_MODE is set to AUTO2, which can be useful if you experience glitches on your RC on the mode channel and want the aircraft to continue the mission instead of triggering HOME mode. '''BUT''' only use this if you have AUTO2 navigation set up properly and everything is initialized correctly! An other scenario to set this value if you will fly out of your RC range in a long range mission.<br />
<br />
You can disable HOME mode locking by adding the following line in your airframe file:<br />
<br />
<define name="UNLOCKED_HOME_MODE" value="TRUE"/><br />
<br />
Then you can restore from HOME mode using the RC and do not need to do this on the GCS if in AUTO1.<br />
<br />
'''Caution:''' Use these two settings with care, as they might deteriorate the failsafe security of your aircraft.<br />
<br />
=== Kill mode ===<br />
<br />
In this mode the throttle is killed (this is the default mode when switching on the autopilot). You can enter this mode manually with the kill button (with confirmation). Kill mode is also triggered in the following cases:<br />
<br />
==== Catastrophic battery level ====<br />
<br />
If the battery level goes under the catastrophic low level (defined in the airframe file)<br />
<br />
==== Way too far from HOME ====<br />
<br />
The plane goes into kill mode if it is too far away from the HOME waypoint. You can configure this '''KILL_MODE_DISTANCE''' in your airframe file:<br />
<br />
<section name="MISC"><br />
...<br />
<define name="KILL_MODE_DISTANCE" value="(1.5*MAX_DIST_FROM_HOME)"/><br />
...<br />
</section><br />
<br />
In this example it is set to 1.5 times the '''max_dist_from_home''' (attribute set in your flight plan).<br />
<br />
=== GPS signal lost ===<br />
<br />
In this mode, the autopilot uses the failsafe roll, pitch and throttle settings defined in the airframe file. It is recommended to disable throttle and make a shallow turn at low flight speed. When barometric information is available and compass heading information, it is recommended to disable this safety mode and train the GCS operator to bring the plane home on heading and altitude only. <br />
<br />
Do not mix up the <commands> failsafe_value and the <section name="FAILSAFE" prefix="FAILSAFE_"> default values. The first result in fixed servo positions with the plane totally out of control, while the latter still involve the innerloop to stabilize the plane. <br />
<br />
=== Lost datalink communication (optional) ===<br />
<br />
This can be done via the a flight-plan exception, e.g. go to the Standby block after 30 seconds:<br />
<exceptions><br />
...<br />
<exception cond="datalink_time > 30" deroute="Standby"/><br />
</exceptions><br />
You also need to include the ''datalink.h'' header file in the header section of your flight plan.<br />
<br />
=== Outside mission boundary (optional) ===<br />
<br />
Also use exceptions and/or [[Flight_Plans#Call|function calls]] for this.<br />
<br />
For an example see ''EMAV2009_safety.xml'' in the directory ''conf/flight_plans'' is an example of a safety procedure that can be included in other flight-plans.<br />
It uses two [[Flight_Plans#Sectors|sectors]] defined in ''EMAV2009_data.xml'', a smaller Green "soft boundary" and a hard boundary defined by the Red sector.<br />
<pre><br />
<procedure><br />
<exceptions><br />
<exception cond="Or(! InsideGreen(GetPosX(), GetPosY()), GetPosAlt() > ground_alt + 150)" deroute="Center"/><br />
</exceptions><br />
<br />
<blocks><br />
<block name="Center" pre_call="if (!InsideRed(GetPosX(), GetPosY())) NavKillThrottle();"><br />
<circle wp="_CENTER" radius="DEFAULT_CIRCLE_RADIUS"/><br />
</block><br />
</blocks><br />
<br />
</procedure><br />
</pre><br />
The first exception deroutes the plane to the Center block below it, if it is outside the Green [[Flight_Plans#Sectors|sector]] or higher than 150m over ground.<br />
While in the Center block the statement in the pre_call function gets evaluated each time, if the plane is now also outside of the Red sector throttle is killed.<br />
<br />
[[Category:Software]] [[Category:User_Documentation]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=Failsafe&diff=9679Failsafe2011-07-05T12:21:42Z<p>Aerovista: /* FBW logic */</p>
<hr />
<div>Paparazzi has several built-in failsafe features ranging from lowlevel to highlevel and from implied to optional.<br />
<br />
On the lowest level, precise timing of the transmitter pulses creates safety that goes beyond traditional switches enabling safer use of old RC equipment.<br />
On the highest level, the [[Flight_Plans#Exceptions|exceptions]] feature of the flight-plans allow for very flexible custom built failsafe features.<br />
<br />
<br />
== FBW (Fly By Wire) ==<br />
<br />
=== 'Failsafe Switch' ===<br />
<br />
The lowest level of paparazzi is the FBW (Fly By Wire) controller that reads the RC, reads the autopilot commands and drives the servo's based on the lowlevel failsafe options.<br />
<br />
This is the 'switch' between '''manual''' or '''automatic''' modes. Therefor there is no need for an other failsafe board. Indeed, the paparazzi FBW has evolved with so much intelligence that it is certainly safer than some and probably at least as safe as any other failsafe switches. This is amongst others (besides the highlevel validated code, separated process, ...) because paparazzi FBW unlike generic switches is given precise remote control information in it's RC.xml. If you use a wrong type of transmitter (e.g. not the right amount of channels, or not the correct interval or sync pulse length) than even when on the same frequency the FBW will not listen to the commands. Also, when 2 transmitters should be on the same frequency, then the chance of both signals together still being read as valid is very small. (This does NOT mean you can fly with 2 planes on the same frequency however. This only means that in this catastrophic scenario paparazzi does a pretty good job in delaying disaster from happening. )<br />
<br />
* be aware that there exist many failsafe switches that use a pulse of the RC (e.g. channel 5) to switch <br />
between autopilot or RC. When using analog RC equipment or any equipment that does not have correctly <br />
programmed failsafe servo values this is very unsafe as whenever the RC is out of range the switch will <br />
start switching back and forth putting the UAV out of control even if the autpilot is perfectly OK.<br />
<br />
=== FBW logic ===<br />
<br />
-RC GOOD: listen to the MODE switch on the Transmitter <br />
(this means whenever the remote control is close enough the pilot has the final word)<br />
-RC BAD: go to automatic mode (see further on for handling of automatic modes)<br />
-RC BAD AND AUTOPILOT DATA TIMEOUT: failsafe command values from airframe configuration XML <br />
(do not omit to fill in useful failsafe values in the command section; usually slight pitch up for minimal speed, <br />
ailerons neutral in order not to roll inverted and of course throttle down: it is not recommended to try to make <br />
turns here with aileron deflections. A small rudder deflection on the other hand is recommended when available )<br />
<br />
== AP (AutoPilot) ==<br />
<br />
=== Home mode ===<br />
<br />
The HOME mode is a failsafe mode where the standard navigation (own flightplan) is suspended and the aircraft <br />
flies a circle around the HOME waypoint at a safe altitude (''security_height'' attribute in your flight-plan). This mode is triggered on different events. <br />
Leaving this mode is done by clicking on the red HOME text in the GCS.<br />
<br />
==== Too far from HOME ====<br />
<br />
Home mode is triggered if the distance to the HOME waypoint is greater than a threshold ('''max_dist_from_home''' attribute) set in the <br />
fight-plan (displayed as a circle on the GCS map).<br />
<br />
==== RC link failure while manual or AUTO1 ====<br />
<br />
Home mode is triggered if RC uplink is lost in '''MANUAL''' or '''AUTO 1''' modes.<br />
<br />
* When '''MANUAL''' the manual mode is restored as soon as RC link is restored as expected.<br />
* However: In '''AUTO 1''' mode, one must manually leave the HOME mode using the GCS<br />
<br />
! Word of caution with respect to '''AUTO1''': <br />
When flying auto1 with a lot of RC interference (which is not recommended anyway), be prepared that the plane might enter HOME mode.<br />
Also, do not be tempted to fly far away in auto1 mode (possibly out of RC range) without a fully tuned auto2 autopilot or sufficient visual contact to allow manual control. As soon as you are so far that RC packets get lost, paparazzi will switch to HOME and will stay in HOME until you choose MANUAL of re-enable AUTO1 on the GCS !<br />
<br />
===== Setting RC lost mode =====<br />
<br />
By default when RC is lost (in Manual or Auto1) HOME mode is triggered, you can change this behaviour by setting the RC_LOST_MODE:<br />
<br />
<define name="RC_LOST_MODE" value="PPRZ_MODE_AUTO2"/><br />
<br />
In this example RC_LOST_MODE is set to AUTO2, which can be useful if you experience glitches on your RC on the mode channel and want the aircraft to continue the mission instead of triggering HOME mode. '''BUT''' only use this if you have AUTO2 navigation set up properly and everything is initialized correctly! An other scenario to set this value if you will fly out of your RC range in a large distant mission.<br />
<br />
You can disable HOME mode locking by adding the following line in your airframe file:<br />
<br />
<define name="UNLOCKED_HOME_MODE" value="TRUE"/><br />
<br />
Then you can restore from HOME mode using the RC and do not need to do this on the GCS if in AUTO1.<br />
<br />
'''Caution:''' Use these two settings with care, as they might deteriorate the failsafe security of your aircraft.<br />
<br />
=== Kill mode ===<br />
<br />
In this mode the throttle is killed (this is the default mode when switching on the autopilot). You can enter this mode manually with the kill button (with confirmation). Kill mode is also triggered in the following cases:<br />
<br />
==== Catastrophic battery level ====<br />
<br />
If the battery level goes under the catastrophic low level (defined in the airframe file)<br />
<br />
==== Way too far from HOME ====<br />
<br />
The plane goes into kill mode if it is too far away from the HOME waypoint. You can configure this '''KILL_MODE_DISTANCE''' in your airframe file:<br />
<br />
<section name="MISC"><br />
...<br />
<define name="KILL_MODE_DISTANCE" value="(1.5*MAX_DIST_FROM_HOME)"/><br />
...<br />
</section><br />
<br />
In this example it is set to 1.5 times the '''max_dist_from_home''' (attribute set in your flight plan).<br />
<br />
=== GPS signal lost ===<br />
<br />
In this mode, the autopilot uses the failsafe roll, pitch and throttle settings defined in the airframe file. It is recommended to disable throttle and make a shallow turn at low flight speed. When barometric information is available and compass heading information, it is recommended to disable this safety mode and train the GCS operator to bring the plane home on heading and altitude only. <br />
<br />
Do not mix up the <commands> failsafe_value and the <section name="FAILSAFE" prefix="FAILSAFE_"> default values. The first result in fixed servo positions with the plane totally out of control, while the latter still involve the innerloop to stabilize the plane. <br />
<br />
=== Lost datalink communication (optional) ===<br />
<br />
This can be done via the a flight-plan exception, e.g. go to the Standby block after 30 seconds:<br />
<exceptions><br />
...<br />
<exception cond="datalink_time > 30" deroute="Standby"/><br />
</exceptions><br />
You also need to include the ''datalink.h'' header file in the header section of your flight plan.<br />
<br />
=== Outside mission boundary (optional) ===<br />
<br />
Also use exceptions and/or [[Flight_Plans#Call|function calls]] for this.<br />
<br />
For an example see ''EMAV2009_safety.xml'' in the directory ''conf/flight_plans'' is an example of a safety procedure that can be included in other flight-plans.<br />
It uses two [[Flight_Plans#Sectors|sectors]] defined in ''EMAV2009_data.xml'', a smaller Green "soft boundary" and a hard boundary defined by the Red sector.<br />
<pre><br />
<procedure><br />
<exceptions><br />
<exception cond="Or(! InsideGreen(GetPosX(), GetPosY()), GetPosAlt() > ground_alt + 150)" deroute="Center"/><br />
</exceptions><br />
<br />
<blocks><br />
<block name="Center" pre_call="if (!InsideRed(GetPosX(), GetPosY())) NavKillThrottle();"><br />
<circle wp="_CENTER" radius="DEFAULT_CIRCLE_RADIUS"/><br />
</block><br />
</blocks><br />
<br />
</procedure><br />
</pre><br />
The first exception deroutes the plane to the Center block below it, if it is outside the Green [[Flight_Plans#Sectors|sector]] or higher than 150m over ground.<br />
While in the Center block the statement in the pre_call function gets evaluated each time, if the plane is now also outside of the Red sector throttle is killed.<br />
<br />
[[Category:Software]] [[Category:User_Documentation]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=XBee_configuration&diff=9650XBee configuration2011-06-21T20:30:51Z<p>Aerovista: /* Other tutorials */</p>
<hr />
<div>Paparazzi supports the following modem protocols:<br />
* Standard transparent serial (pprz protocol, AT mode) - compatible with all modems and can be used to connect the autopilot directly to a PC for testing without a modem.<br />
* Digi (formerly Maxstream) API protocol (xbee) - compatible with all Digi modems including the 9XTend and Zigbee. This protocol enables hardware addressing through API mode, allowing multiple aircraft to be managed from a single ground modem.<br />
<br/><br />
<br />
== Introduction ==<br />
<br />
=== Installation of X-CTU ===<br />
The simples way to configure the XBee modems is to use the [http://www.digi.com/support/kbase/kbaseresultdetl.jsp?kb=125 X-CTU] software from Digi. It runs under Windows or under Wine.<br />
<br />
Under Wine make sure you have the USB serial link connecting to XBee mapped to a com port:<br />
<br />
sudo ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com4<br />
<br />
If your X-CTU does not update its firmware correctely from the web, follow the steps described in the chapter "Manually Update the X-CTU firmware files" of [http://wiki.openpilot.org/display/Doc/XBee+RF+modems this page].<br />
<br />
=== Configuring XBee AT mode using X-CTU ===<br />
This is the recommended way to start. With this firmware the modems basically act as a serial link replacement and don't do any mesh networking. The pprz protocol is based on this mode.<br />
<br/><br />
Basic approach:<br />
# Connect your XBee to your PC. There are several vendors of [[Modems#GCS_Adaptation|USB boards]].<br />
# Start the X-CTU programm and go to the modem configuration.<br />
# Click on READ<br />
# Select the appropriate function set with AT command set.<br />
# set PAN ID, etc... depending on which XBee you use<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly. At a higher baudrate setting, transmission can only be done in one direction.<br />
# Then write the firmware to the module.<br />
If X-CTU asks you to reset the XBee, you have to connect the RST pin (5) to the GND pin (10) of the XBee. You can do this manually using tweezers or a short wire.<br />
<br />
=== Configuring XBee using minicom ===<br />
<br />
Alternatively you can use the text-based modem control and terminal emulation program [http://en.wikipedia.org/wiki/Minicom minicom] instead of X-CTU to configure your XBee:<br />
<br />
# Connect XBee to your computer<br />
# Setup minicom (by default XBee modems come set up for 9600 baud)<br />
# Type Ctrl-A A in minicom this will set it up to add linefeeds to the stream<br />
# Type three '+' in quick succession resulting in "+++" string (you have 10s to type your next command otherwise the modem will revert back to transparent mode)<br />
#* you get a confirmation: 'OK'<br />
# Type "AT<enter>"<br />
#* you get a confirmation: 'OK'<br />
# Type "ATBD<enter>"<br />
#* you get the baudrate code: '3'<br />
# To set another baudrate select one of the following by typing "ATBD <baud code><enter>"<br />
#* 0 = 1200<br />
#* 1 = 2400<br />
#* 2 = 4800<br />
#* 3 = 9600<br />
#* 4 = 19200to connect the ground XBee radio modem to the GCS computer<br />
#* 5 = 38400<br />
#* 6 = 57600<br />
#* 7 = 115200<br />
# To store the new baudrate in the rom type "ATWR<enter>"<br />
# Now you can close minicom<br />
# Reconnect modem<br />
# Restart minicom with the new baudrate<br />
# Test that the modem is setup correctly by tiping "+++" and getting "OK" confirmation<br />
<br />
== XBee Pro ZB (AT command set) ==<br />
This 2.4GHz modem uses ZigBee PRO Feature Set and is compatible with devices from other vendors using the ZigBee PRO Feature Set.<br />
<br />
=== Flashing the airborne module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZIGBEE END DEVICE AT''' (or ZIGBEE ROUTER AT).<br />
# Set the PAN ID to any number, must be the same as the pan id of the coordinator (Ground Station).<br />
# Set the Node Identifier (NI) to your aircraft name or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Flashing the ground station module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZIGBEE COORDINATOR AT'''.<br />
# Set the PAN ID to any number, must be the same as the pan id of the end device (aircraft).<br />
# Set the Node Identifier (NI) to PPRZ_GROUND or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Pairing your Modems ===<br />
<br />
For maximum performance you can pair the ground modem to the airborne modem. Set the "DH - Destination Address High" and "DL - Destination Address Low" to the unique serial number "SH - Serial Number High" and "SL - Serial Number Low" of the other modem. Do so both on the ground modem and on the airborne modem. Failing to properly pair your modems will likely result in poor throughput and data loss between your airframe and your ground control station.<br />
<br />
=== Reviving a non-responding Xbee Pro ===<br />
<br />
To bring an apparently dead XBee Pro Series 2 back to life, do the following:<br />
<br />
#Connect the USB device that holds the XBee to your laptop/desktop (without the XBee connected).<br />
#Open X-CTU.<br />
#In the tab used to program the device, select the proper modem (normally you would do a READ to get the values).<br />
#Choose the option you want to program (i.e., "END DEVICE" or "COORDINATOR") as if you were programming it.<br />
#With the XBee not in the device, click "WRITE". It will hang, timeout, and bring up a dialog box.<br />
#Before you click OK to the dialog box, plug in the XBee module (carefully).<br />
#Click OK to clear the message and it should start programming automatically.<br />
<br />
=== Other tutorials ===<br />
<br />
[http://pixhawk.ethz.ch/tutorials/how_to_configure_xbee PixHawk: HowTo configure XBee]<br />
<br />
[http://wiki.openpilot.org/display/Doc/Configure+Xbee+via+Linux openpilot: XBee RF modems]<br />
<br />
== XBee Pro ZNet 2.5 (AT command set) ==<br />
These are legacy modems and not recommended/sold by Digi anymore.<br />
It is recommended to upgrade these to XBee Pro ZB with the [ftp://ftp1.digi.com/support/images/ZNet%202.5%20to%20ZB%20Conversion%20Kit.zip ZNet 2.5 to ZB Conversion Kit] from Digi.<br />
<br/><br />
If you want to use ZNet 2.5 feature set nevertheless, here is how to configure it:<br />
<br />
=== Flashing the airborne module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZNET 2.5 ROUTER/END DEVICE AT'''.<br />
# Set the PAN ID to any number, must be the same as the pan id of the coordinator (Ground Station).<br />
# Set the Node Identifier (NI) to your aircraft name or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Flashing the ground station module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZNET 2.5 COORDINATOR DEVICE AT'''.<br />
# Set the Destination Address Low (DL) to FFFF.<br />
# Set the PAN ID to any number, must be the same as the pan id of the end device (aircraft).<br />
# Set the Node Identifier (NI) to PPRZ_GROUND or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Setup ===<br />
<br />
For the ZigBee ZNet 2.5 and ZB modules to work one of the modules has to be flashed with the coordinator firmware. All the others in the same PAN can either run as routers or end-devices.<br />
* Flash one module (ground station) with the coordinator AT firmware<br />
* Flash aircraft module with router or end-device AT firmware<br />
To allow modules to join any PAN set the PAN ID to zero (default setting). Then the coordinator will generate a random PAN ID and routers and end-devices will join the first PAN they find.<br />
<br />
If you operate in an environment with multiple zigbee PANs it is recommended to set the PAN ID explicitly:<br />
* Set PAN ID to some unique (but same) ID on both modules<br />
* Set a Node Identifier for each module (e.g. ground, aircraft)<br />
<br/><br />
<br />
== XBee Pro DigiMesh / 802.15.4 ("Series 1") ==<br />
<br />
== XBee Pro 868 MHZ ==<br />
<br />
=== Getting Them Working ===<br />
Even with the xbee868.xml telemetry file, XBee868s will not last over 6 minutes. There is a special 868 build flag (in slayer1.xml), and matching option for the datalink but I could not get this to work. Eventually, I got them to work for about 20 minutes, which happily is the flight endurance of a heavily overloaded GWS Formosa.<br />
<br />
I did this using a command window, but you could use X-CTU if you are a wuss or have Windows handy.<br />
<br />
#Attach Xbee and start serial comm program (I use <code>screen /dev/ttyUSB0 &lt;baud rate, just a number, no angled brackets&gt;</code>, you can also use pico- or microcom)<br />
#Type AT and enter. You should get an OK back.<br />
#ATMT and enter. You should get a number&mdash;this represents the number of extra times each packet will be broadcast. We now need to change this to zero.<br />
#ATMT0 and enter => OK<br />
#ATRR and enter. This number is the number of retries that will be sent if an ACK is not received. Disabling this will also have the side effect of disabling ACKs, giving us more packets to play with.<br />
#ATRR0 and enter => OK<br />
#Type ATWR to store the new stuff in the firmware. You should get an OK.<br />
#Set the datalink to transparent mode both in your airframe file and on the datalink.<br />
<br />
You may also want to drop the power level to 1mW for testing, or it won't actually work - they are just too damn powerful to talk to each other at a range of a couple of feet. I also used 1mW for flying - never lost the link, even after a mile. Didn't get round to range testing them though. <br />
<br />
You probably want to do this to both XBees (at least I did). I personally had the baud rate at 57600 for legacy reasons, but it should work just as well at any other baud rate. '''Thanks to CheBuzz for this info''', and for helping me work all this out at 11pm the night before EMAV09.<br />
<br />
== XBee Pro XSC (900MHZ) ==<br />
<br />
== Configuring XBee API mode (xbee protocol) ==<br />
<br />
[[Category:Hardware]] [[Category:User_Documentation]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=XBee_configuration&diff=9572XBee configuration2011-06-12T15:12:00Z<p>Aerovista: /* Other tutorials */</p>
<hr />
<div>Paparazzi supports the following modem protocols:<br />
* Standard transparent serial (pprz protocol, AT mode) - compatible with all modems and can be used to connect the autopilot directly to a PC for testing without a modem.<br />
* Digi (formerly Maxstream) API protocol (xbee) - compatible with all Digi modems including the 9XTend and Zigbee. This protocol enables hardware addressing through API mode, allowing multiple aircraft to be managed from a single ground modem.<br />
<br/><br />
<br />
== Introduction ==<br />
<br />
=== Installation of X-CTU ===<br />
The simples way to configure the XBee modems is to use the [http://www.digi.com/support/kbase/kbaseresultdetl.jsp?kb=125 X-CTU] software from Digi. It runs under Windows or under Wine.<br />
<br />
Under Wine make sure you have the USB serial link connecting to XBee mapped to a com port:<br />
<br />
sudo ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com4<br />
<br />
If your X-CTU does not update its firmware correctely from the web, follow the steps described in the chapter "Manually Update the X-CTU firmware files" of [http://wiki.openpilot.org/display/Doc/XBee+RF+modems this page].<br />
<br />
=== Configuring XBee AT mode using X-CTU ===<br />
This is the recommended way to start. With this firmware the modems basically act as a serial link replacement and don't do any mesh networking. The pprz protocol is based on this mode.<br />
<br/><br />
Basic approach:<br />
# Connect your XBee to your PC. There are several vendors of [[Modems#GCS_Adaptation|USB boards]].<br />
# Start the X-CTU programm and go to the modem configuration.<br />
# Click on READ<br />
# Select the appropriate function set with AT command set.<br />
# set PAN ID, etc... depending on which XBee you use<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly. At a higher baudrate setting, transmission can only be done in one direction.<br />
# Then write the firmware to the module.<br />
If X-CTU asks you to reset the XBee, you have to connect the RST pin (5) to the GND pin (10) of the XBee. You can do this manually using tweezers or a short wire.<br />
<br />
=== Configuring XBee using minicom ===<br />
<br />
Alternatively you can use the text-based modem control and terminal emulation program [http://en.wikipedia.org/wiki/Minicom minicom] instead of X-CTU to configure your XBee:<br />
<br />
# Connect XBee to your computer<br />
# Setup minicom (by default XBee modems come set up for 9600 baud)<br />
# Type Ctrl-A A in minicom this will set it up to add linefeeds to the stream<br />
# Type three '+' in quick succession resulting in "+++" string (you have 10s to type your next command otherwise the modem will revert back to transparent mode)<br />
#* you get a confirmation: 'OK'<br />
# Type "AT<enter>"<br />
#* you get a confirmation: 'OK'<br />
# Type "ATBD<enter>"<br />
#* you get the baudrate code: '3'<br />
# To set another baudrate select one of the following by typing "ATBD <baud code><enter>"<br />
#* 0 = 1200<br />
#* 1 = 2400<br />
#* 2 = 4800<br />
#* 3 = 9600<br />
#* 4 = 19200to connect the ground XBee radio modem to the GCS computer<br />
#* 5 = 38400<br />
#* 6 = 57600<br />
#* 7 = 115200<br />
# To store the new baudrate in the rom type "ATWR<enter>"<br />
# Now you can close minicom<br />
# Reconnect modem<br />
# Restart minicom with the new baudrate<br />
# Test that the modem is setup correctly by tiping "+++" and getting "OK" confirmation<br />
<br />
== XBee Pro ZB (AT command set) ==<br />
This 2.4GHz modem uses ZigBee PRO Feature Set and is compatible with devices from other vendors using the ZigBee PRO Feature Set.<br />
<br />
=== Flashing the airborne module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZIGBEE END DEVICE AT''' (or ZIGBEE ROUTER AT).<br />
# Set the PAN ID to any number, must be the same as the pan id of the coordinator (Ground Station).<br />
# Set the Node Identifier (NI) to your aircraft name or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Flashing the ground station module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZIGBEE COORDINATOR AT'''.<br />
# Set the PAN ID to any number, must be the same as the pan id of the end device (aircraft).<br />
# Set the Node Identifier (NI) to PPRZ_GROUND or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Pairing your Modems ===<br />
<br />
For maximum performance you can pair the ground modem to the airborne modem. Set the "DH - Destination Address High" and "DL - Destination Address Low" to the unique serial number "SH - Serial Number High" and "SL - Serial Number Low" of the other modem. Do so both on the ground modem and on the airborne modem. Failing to properly pair your modems will likely result in poor throughput and data loss between your airframe and your ground control station.<br />
<br />
=== Reviving a non-responding Xbee Pro ===<br />
<br />
To bring an apparently dead XBee Pro Series 2 back to life, do the following:<br />
<br />
#Connect the USB device that holds the XBee to your laptop/desktop (without the XBee connected).<br />
#Open X-CTU.<br />
#In the tab used to program the device, select the proper modem (normally you would do a READ to get the values).<br />
#Choose the option you want to program (i.e., "END DEVICE" or "COORDINATOR") as if you were programming it.<br />
#With the XBee not in the device, click "WRITE". It will hang, timeout, and bring up a dialog box.<br />
#Before you click OK to the dialog box, plug in the XBee module (carefully).<br />
#Click OK to clear the message and it should start programming automatically.<br />
<br />
=== Other tutorials ===<br />
<br />
[http://pixhawk.ethz.ch/tutorials/how_to_configure_xbee PixHawk: HowTo configure XBee]<br />
<br />
[http://wiki.openpilot.org/display/Doc/XBee+RF+modems+%28OLD%29 openpilot: XBee RF modems]<br />
<br />
== XBee Pro ZNet 2.5 (AT command set) ==<br />
These are legacy modems and not recommended/sold by Digi anymore.<br />
It is recommended to upgrade these to XBee Pro ZB with the [ftp://ftp1.digi.com/support/images/ZNet%202.5%20to%20ZB%20Conversion%20Kit.zip ZNet 2.5 to ZB Conversion Kit] from Digi.<br />
<br/><br />
If you want to use ZNet 2.5 feature set nevertheless, here is how to configure it:<br />
<br />
=== Flashing the airborne module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZNET 2.5 ROUTER/END DEVICE AT'''.<br />
# Set the PAN ID to any number, must be the same as the pan id of the coordinator (Ground Station).<br />
# Set the Node Identifier (NI) to your aircraft name or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Flashing the ground station module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZNET 2.5 COORDINATOR DEVICE AT'''.<br />
# Set the Destination Address Low (DL) to FFFF.<br />
# Set the PAN ID to any number, must be the same as the pan id of the end device (aircraft).<br />
# Set the Node Identifier (NI) to PPRZ_GROUND or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Setup ===<br />
<br />
For the ZigBee ZNet 2.5 and ZB modules to work one of the modules has to be flashed with the coordinator firmware. All the others in the same PAN can either run as routers or end-devices.<br />
* Flash one module (ground station) with the coordinator AT firmware<br />
* Flash aircraft module with router or end-device AT firmware<br />
To allow modules to join any PAN set the PAN ID to zero (default setting). Then the coordinator will generate a random PAN ID and routers and end-devices will join the first PAN they find.<br />
<br />
If you operate in an environment with multiple zigbee PANs it is recommended to set the PAN ID explicitly:<br />
* Set PAN ID to some unique (but same) ID on both modules<br />
* Set a Node Identifier for each module (e.g. ground, aircraft)<br />
<br/><br />
<br />
== XBee Pro DigiMesh / 802.15.4 ("Series 1") ==<br />
<br />
== XBee Pro 868 MHZ ==<br />
<br />
=== Getting Them Working ===<br />
Even with the xbee868.xml telemetry file, XBee868s will not last over 6 minutes. There is a special 868 build flag (in slayer1.xml), and matching option for the datalink but I could not get this to work. Eventually, I got them to work for about 20 minutes, which happily is the flight endurance of a heavily overloaded GWS Formosa.<br />
<br />
I did this using a command window, but you could use X-CTU if you are a wuss or have Windows handy.<br />
<br />
#Attach Xbee and start serial comm program (I use <code>screen /dev/ttyUSB0 &lt;baud rate, just a number, no angled brackets&gt;</code>, you can also use pico- or microcom)<br />
#Type AT and enter. You should get an OK back.<br />
#ATMT and enter. You should get a number&mdash;this represents the number of extra times each packet will be broadcast. We now need to change this to zero.<br />
#ATMT0 and enter => OK<br />
#ATRR and enter. This number is the number of retries that will be sent if an ACK is not received. Disabling this will also have the side effect of disabling ACKs, giving us more packets to play with.<br />
#ATRR0 and enter => OK<br />
#Type ATWR to store the new stuff in the firmware. You should get an OK.<br />
#Set the datalink to transparent mode both in your airframe file and on the datalink.<br />
<br />
You may also want to drop the power level to 1mW for testing, or it won't actually work - they are just too damn powerful to talk to each other at a range of a couple of feet. I also used 1mW for flying - never lost the link, even after a mile. Didn't get round to range testing them though. <br />
<br />
You probably want to do this to both XBees (at least I did). I personally had the baud rate at 57600 for legacy reasons, but it should work just as well at any other baud rate. '''Thanks to CheBuzz for this info''', and for helping me work all this out at 11pm the night before EMAV09.<br />
<br />
== XBee Pro XSC (900MHZ) ==<br />
<br />
== Configuring XBee API mode (xbee protocol) ==<br />
<br />
[[Category:Hardware]] [[Category:User_Documentation]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=XBee_configuration&diff=9571XBee configuration2011-06-12T15:05:22Z<p>Aerovista: /* Configuring XBee AT mode using X-CTU */</p>
<hr />
<div>Paparazzi supports the following modem protocols:<br />
* Standard transparent serial (pprz protocol, AT mode) - compatible with all modems and can be used to connect the autopilot directly to a PC for testing without a modem.<br />
* Digi (formerly Maxstream) API protocol (xbee) - compatible with all Digi modems including the 9XTend and Zigbee. This protocol enables hardware addressing through API mode, allowing multiple aircraft to be managed from a single ground modem.<br />
<br/><br />
<br />
== Introduction ==<br />
<br />
=== Installation of X-CTU ===<br />
The simples way to configure the XBee modems is to use the [http://www.digi.com/support/kbase/kbaseresultdetl.jsp?kb=125 X-CTU] software from Digi. It runs under Windows or under Wine.<br />
<br />
Under Wine make sure you have the USB serial link connecting to XBee mapped to a com port:<br />
<br />
sudo ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com4<br />
<br />
If your X-CTU does not update its firmware correctely from the web, follow the steps described in the chapter "Manually Update the X-CTU firmware files" of [http://wiki.openpilot.org/display/Doc/XBee+RF+modems this page].<br />
<br />
=== Configuring XBee AT mode using X-CTU ===<br />
This is the recommended way to start. With this firmware the modems basically act as a serial link replacement and don't do any mesh networking. The pprz protocol is based on this mode.<br />
<br/><br />
Basic approach:<br />
# Connect your XBee to your PC. There are several vendors of [[Modems#GCS_Adaptation|USB boards]].<br />
# Start the X-CTU programm and go to the modem configuration.<br />
# Click on READ<br />
# Select the appropriate function set with AT command set.<br />
# set PAN ID, etc... depending on which XBee you use<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly. At a higher baudrate setting, transmission can only be done in one direction.<br />
# Then write the firmware to the module.<br />
If X-CTU asks you to reset the XBee, you have to connect the RST pin (5) to the GND pin (10) of the XBee. You can do this manually using tweezers or a short wire.<br />
<br />
=== Configuring XBee using minicom ===<br />
<br />
Alternatively you can use the text-based modem control and terminal emulation program [http://en.wikipedia.org/wiki/Minicom minicom] instead of X-CTU to configure your XBee:<br />
<br />
# Connect XBee to your computer<br />
# Setup minicom (by default XBee modems come set up for 9600 baud)<br />
# Type Ctrl-A A in minicom this will set it up to add linefeeds to the stream<br />
# Type three '+' in quick succession resulting in "+++" string (you have 10s to type your next command otherwise the modem will revert back to transparent mode)<br />
#* you get a confirmation: 'OK'<br />
# Type "AT<enter>"<br />
#* you get a confirmation: 'OK'<br />
# Type "ATBD<enter>"<br />
#* you get the baudrate code: '3'<br />
# To set another baudrate select one of the following by typing "ATBD <baud code><enter>"<br />
#* 0 = 1200<br />
#* 1 = 2400<br />
#* 2 = 4800<br />
#* 3 = 9600<br />
#* 4 = 19200to connect the ground XBee radio modem to the GCS computer<br />
#* 5 = 38400<br />
#* 6 = 57600<br />
#* 7 = 115200<br />
# To store the new baudrate in the rom type "ATWR<enter>"<br />
# Now you can close minicom<br />
# Reconnect modem<br />
# Restart minicom with the new baudrate<br />
# Test that the modem is setup correctly by tiping "+++" and getting "OK" confirmation<br />
<br />
== XBee Pro ZB (AT command set) ==<br />
This 2.4GHz modem uses ZigBee PRO Feature Set and is compatible with devices from other vendors using the ZigBee PRO Feature Set.<br />
<br />
=== Flashing the airborne module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZIGBEE END DEVICE AT''' (or ZIGBEE ROUTER AT).<br />
# Set the PAN ID to any number, must be the same as the pan id of the coordinator (Ground Station).<br />
# Set the Node Identifier (NI) to your aircraft name or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Flashing the ground station module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZIGBEE COORDINATOR AT'''.<br />
# Set the PAN ID to any number, must be the same as the pan id of the end device (aircraft).<br />
# Set the Node Identifier (NI) to PPRZ_GROUND or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Pairing your Modems ===<br />
<br />
For maximum performance you can pair the ground modem to the airborne modem. Set the "DH - Destination Address High" and "DL - Destination Address Low" to the unique serial number "SH - Serial Number High" and "SL - Serial Number Low" of the other modem. Do so both on the ground modem and on the airborne modem. Failing to properly pair your modems will likely result in poor throughput and data loss between your airframe and your ground control station.<br />
<br />
=== Reviving a non-responding Xbee Pro ===<br />
<br />
To bring an apparently dead XBee Pro Series 2 back to life, do the following:<br />
<br />
#Connect the USB device that holds the XBee to your laptop/desktop (without the XBee connected).<br />
#Open X-CTU.<br />
#In the tab used to program the device, select the proper modem (normally you would do a READ to get the values).<br />
#Choose the option you want to program (i.e., "END DEVICE" or "COORDINATOR") as if you were programming it.<br />
#With the XBee not in the device, click "WRITE". It will hang, timeout, and bring up a dialog box.<br />
#Before you click OK to the dialog box, plug in the XBee module (carefully).<br />
#Click OK to clear the message and it should start programming automatically.<br />
<br />
=== Other tutorials ===<br />
<br />
[http://pixhawk.ethz.ch/tutorials/how_to_configure_xbee PixHawk: HowTo configure XBee]<br />
<br />
[http://wiki.openpilot.org/display/Doc/XBee+RF+modems openpilot: XBee RF modems]<br />
<br />
== XBee Pro ZNet 2.5 (AT command set) ==<br />
These are legacy modems and not recommended/sold by Digi anymore.<br />
It is recommended to upgrade these to XBee Pro ZB with the [ftp://ftp1.digi.com/support/images/ZNet%202.5%20to%20ZB%20Conversion%20Kit.zip ZNet 2.5 to ZB Conversion Kit] from Digi.<br />
<br/><br />
If you want to use ZNet 2.5 feature set nevertheless, here is how to configure it:<br />
<br />
=== Flashing the airborne module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZNET 2.5 ROUTER/END DEVICE AT'''.<br />
# Set the PAN ID to any number, must be the same as the pan id of the coordinator (Ground Station).<br />
# Set the Node Identifier (NI) to your aircraft name or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Flashing the ground station module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZNET 2.5 COORDINATOR DEVICE AT'''.<br />
# Set the Destination Address Low (DL) to FFFF.<br />
# Set the PAN ID to any number, must be the same as the pan id of the end device (aircraft).<br />
# Set the Node Identifier (NI) to PPRZ_GROUND or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Setup ===<br />
<br />
For the ZigBee ZNet 2.5 and ZB modules to work one of the modules has to be flashed with the coordinator firmware. All the others in the same PAN can either run as routers or end-devices.<br />
* Flash one module (ground station) with the coordinator AT firmware<br />
* Flash aircraft module with router or end-device AT firmware<br />
To allow modules to join any PAN set the PAN ID to zero (default setting). Then the coordinator will generate a random PAN ID and routers and end-devices will join the first PAN they find.<br />
<br />
If you operate in an environment with multiple zigbee PANs it is recommended to set the PAN ID explicitly:<br />
* Set PAN ID to some unique (but same) ID on both modules<br />
* Set a Node Identifier for each module (e.g. ground, aircraft)<br />
<br/><br />
<br />
== XBee Pro DigiMesh / 802.15.4 ("Series 1") ==<br />
<br />
== XBee Pro 868 MHZ ==<br />
<br />
=== Getting Them Working ===<br />
Even with the xbee868.xml telemetry file, XBee868s will not last over 6 minutes. There is a special 868 build flag (in slayer1.xml), and matching option for the datalink but I could not get this to work. Eventually, I got them to work for about 20 minutes, which happily is the flight endurance of a heavily overloaded GWS Formosa.<br />
<br />
I did this using a command window, but you could use X-CTU if you are a wuss or have Windows handy.<br />
<br />
#Attach Xbee and start serial comm program (I use <code>screen /dev/ttyUSB0 &lt;baud rate, just a number, no angled brackets&gt;</code>, you can also use pico- or microcom)<br />
#Type AT and enter. You should get an OK back.<br />
#ATMT and enter. You should get a number&mdash;this represents the number of extra times each packet will be broadcast. We now need to change this to zero.<br />
#ATMT0 and enter => OK<br />
#ATRR and enter. This number is the number of retries that will be sent if an ACK is not received. Disabling this will also have the side effect of disabling ACKs, giving us more packets to play with.<br />
#ATRR0 and enter => OK<br />
#Type ATWR to store the new stuff in the firmware. You should get an OK.<br />
#Set the datalink to transparent mode both in your airframe file and on the datalink.<br />
<br />
You may also want to drop the power level to 1mW for testing, or it won't actually work - they are just too damn powerful to talk to each other at a range of a couple of feet. I also used 1mW for flying - never lost the link, even after a mile. Didn't get round to range testing them though. <br />
<br />
You probably want to do this to both XBees (at least I did). I personally had the baud rate at 57600 for legacy reasons, but it should work just as well at any other baud rate. '''Thanks to CheBuzz for this info''', and for helping me work all this out at 11pm the night before EMAV09.<br />
<br />
== XBee Pro XSC (900MHZ) ==<br />
<br />
== Configuring XBee API mode (xbee protocol) ==<br />
<br />
[[Category:Hardware]] [[Category:User_Documentation]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=XBee_configuration&diff=9491XBee configuration2011-06-03T12:50:33Z<p>Aerovista: /* XBee Pro ZNet 2.5 (AT command set) */</p>
<hr />
<div>Paparazzi supports the following modem protocols:<br />
* Standard transparent serial (pprz protocol, AT mode) - compatible with all modems and can be used to connect the autopilot directly to a PC for testing without a modem.<br />
* Digi (formerly Maxstream) API protocol (xbee) - compatible with all Digi modems including the 9XTend and Zigbee. This protocol enables hardware addressing through API mode, allowing multiple aircraft to be managed from a single ground modem.<br />
<br/><br />
<br />
== Introduction ==<br />
<br />
=== Installation of X-CTU ===<br />
The simples way to configure the XBee modems is to use the [http://www.digi.com/support/kbase/kbaseresultdetl.jsp?kb=125 X-CTU] software from Digi. It runs under Windows or under Wine.<br />
<br />
Under Wine make sure you have the USB serial link connecting to XBee mapped to a com port:<br />
<br />
sudo ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com4<br />
<br />
If your X-CTU does not update its firmware correctely from the web, follow the steps described in the chapter "Manually Update the X-CTU firmware files" of [http://wiki.openpilot.org/display/Doc/XBee+RF+modems this page].<br />
<br />
=== Configuring XBee AT mode using X-CTU ===<br />
This is the recommended way to start. With this firmware the modems basically act as a serial link replacement and don't do any mesh networking. The pprz protocol is based on this mode.<br />
<br/><br />
Basic approach:<br />
# Connect your XBee to your PC. There are several vendors of [[Modems#GCS_Adaptation|USB boards]].<br />
# Start the X-CTU programm and go to the modem configuration.<br />
# Click on READ<br />
# Select the appropriate function set with AT command set.<br />
# set PAN ID, etc... depending on which XBee you use<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly. At a higher baudrate setting, transmission can only be done in one direction.<br />
# Then write the firmware to the module.<br />
If X-CTU asks you to reset the XBee, you have to connect the RST pin (5) to the GND pin (10) of the XBee. You can do this using tweezers or a short wire manually.<br />
<br />
=== Configuring XBee using minicom ===<br />
<br />
Alternatively you can use the text-based modem control and terminal emulation program [http://en.wikipedia.org/wiki/Minicom minicom] instead of X-CTU to configure your XBee:<br />
<br />
# Connect XBee to your computer<br />
# Setup minicom (by default XBee modems come set up for 9600 baud)<br />
# Type Ctrl-A A in minicom this will set it up to add linefeeds to the stream<br />
# Type three '+' in quick succession resulting in "+++" string (you have 10s to type your next command otherwise the modem will revert back to transparent mode)<br />
#* you get a confirmation: 'OK'<br />
# Type "AT<enter>"<br />
#* you get a confirmation: 'OK'<br />
# Type "ATBD<enter>"<br />
#* you get the baudrate code: '3'<br />
# To set another baudrate select one of the following by typing "ATBD <baud code><enter>"<br />
#* 0 = 1200<br />
#* 1 = 2400<br />
#* 2 = 4800<br />
#* 3 = 9600<br />
#* 4 = 19200to connect the ground XBee radio modem to the GCS computer<br />
#* 5 = 38400<br />
#* 6 = 57600<br />
#* 7 = 115200<br />
# To store the new baudrate in the rom type "ATWR<enter>"<br />
# Now you can close minicom<br />
# Reconnect modem<br />
# Restart minicom with the new baudrate<br />
# Test that the modem is setup correctly by tiping "+++" and getting "OK" confirmation<br />
<br />
== XBee Pro ZB (AT command set) ==<br />
This 2.4GHz modem uses ZigBee PRO Feature Set and is compatible with devices from other vendors using the ZigBee PRO Feature Set.<br />
<br />
=== Flashing the airborne module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZIGBEE END DEVICE AT''' (or ZIGBEE ROUTER AT).<br />
# Set the PAN ID to any number, must be the same as the pan id of the coordinator (Ground Station).<br />
# Set the Node Identifier (NI) to your aircraft name or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Flashing the ground station module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZIGBEE COORDINATOR AT'''.<br />
# Set the PAN ID to any number, must be the same as the pan id of the end device (aircraft).<br />
# Set the Node Identifier (NI) to PPRZ_GROUND or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Pairing your Modems ===<br />
<br />
For maximum performance you can pair the ground modem to the airborne modem. Set the "DH - Destination Address High" and "DL - Destination Address Low" to the unique serial number "SH - Serial Number High" and "SL - Serial Number Low" of the other modem. Do so both on the ground modem and on the airborne modem. Failing to properly pair your modems will likely result in poor throughput and data loss between your airframe and your ground control station.<br />
<br />
=== Reviving a non-responding Xbee Pro ===<br />
<br />
To bring an apparently dead XBee Pro Series 2 back to life, do the following:<br />
<br />
#Connect the USB device that holds the XBee to your laptop/desktop (without the XBee connected).<br />
#Open X-CTU.<br />
#In the tab used to program the device, select the proper modem (normally you would do a READ to get the values).<br />
#Choose the option you want to program (i.e., "END DEVICE" or "COORDINATOR") as if you were programming it.<br />
#With the XBee not in the device, click "WRITE". It will hang, timeout, and bring up a dialog box.<br />
#Before you click OK to the dialog box, plug in the XBee module (carefully).<br />
#Click OK to clear the message and it should start programming automatically.<br />
<br />
=== Other tutorials ===<br />
<br />
[http://pixhawk.ethz.ch/tutorials/how_to_configure_xbee PixHawk: HowTo configure XBee]<br />
<br />
[http://wiki.openpilot.org/display/Doc/XBee+RF+modems openpilot: XBee RF modems]<br />
<br />
== XBee Pro ZNet 2.5 (AT command set) ==<br />
These are legacy modems and not recommended/sold by Digi anymore.<br />
It is recommended to upgrade these to XBee Pro ZB with the [ftp://ftp1.digi.com/support/images/ZNet%202.5%20to%20ZB%20Conversion%20Kit.zip ZNet 2.5 to ZB Conversion Kit] from Digi.<br />
<br/><br />
If you want to use ZNet 2.5 feature set nevertheless, here is how to configure it:<br />
<br />
=== Flashing the airborne module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZNET 2.5 ROUTER/END DEVICE AT'''.<br />
# Set the PAN ID to any number, must be the same as the pan id of the coordinator (Ground Station).<br />
# Set the Node Identifier (NI) to your aircraft name or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Flashing the ground station module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZNET 2.5 COORDINATOR DEVICE AT'''.<br />
# Set the Destination Address Low (DL) to FFFF.<br />
# Set the PAN ID to any number, must be the same as the pan id of the end device (aircraft).<br />
# Set the Node Identifier (NI) to PPRZ_GROUND or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Setup ===<br />
<br />
For the ZigBee ZNet 2.5 and ZB modules to work one of the modules has to be flashed with the coordinator firmware. All the others in the same PAN can either run as routers or end-devices.<br />
* Flash one module (ground station) with the coordinator AT firmware<br />
* Flash aircraft module with router or end-device AT firmware<br />
To allow modules to join any PAN set the PAN ID to zero (default setting). Then the coordinator will generate a random PAN ID and routers and end-devices will join the first PAN they find.<br />
<br />
If you operate in an environment with multiple zigbee PANs it is recommended to set the PAN ID explicitly:<br />
* Set PAN ID to some unique (but same) ID on both modules<br />
* Set a Node Identifier for each module (e.g. ground, aircraft)<br />
<br/><br />
<br />
== XBee Pro DigiMesh / 802.15.4 ("Series 1") ==<br />
<br />
== XBee Pro 868 MHZ ==<br />
<br />
=== Getting Them Working ===<br />
Even with the xbee868.xml telemetry file, XBee868s will not last over 6 minutes. There is a special 868 build flag (in slayer1.xml), and matching option for the datalink but I could not get this to work. Eventually, I got them to work for about 20 minutes, which happily is the flight endurance of a heavily overloaded GWS Formosa.<br />
<br />
I did this using a command window, but you could use X-CTU if you are a wuss or have Windows handy.<br />
<br />
#Attach Xbee and start serial comm program (I use <code>screen /dev/ttyUSB0 &lt;baud rate, just a number, no angled brackets&gt;</code>, you can also use pico- or microcom)<br />
#Type AT and enter. You should get an OK back.<br />
#ATMT and enter. You should get a number&mdash;this represents the number of extra times each packet will be broadcast. We now need to change this to zero.<br />
#ATMT0 and enter => OK<br />
#ATRR and enter. This number is the number of retries that will be sent if an ACK is not received. Disabling this will also have the side effect of disabling ACKs, giving us more packets to play with.<br />
#ATRR0 and enter => OK<br />
#Type ATWR to store the new stuff in the firmware. You should get an OK.<br />
#Set the datalink to transparent mode both in your airframe file and on the datalink.<br />
<br />
You may also want to drop the power level to 1mW for testing, or it won't actually work - they are just too damn powerful to talk to each other at a range of a couple of feet. I also used 1mW for flying - never lost the link, even after a mile. Didn't get round to range testing them though. <br />
<br />
You probably want to do this to both XBees (at least I did). I personally had the baud rate at 57600 for legacy reasons, but it should work just as well at any other baud rate. '''Thanks to CheBuzz for this info''', and for helping me work all this out at 11pm the night before EMAV09.<br />
<br />
== XBee Pro XSC (900MHZ) ==<br />
<br />
== Configuring XBee API mode (xbee protocol) ==<br />
<br />
[[Category:Hardware]] [[Category:User_Documentation]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=XBee_configuration&diff=9490XBee configuration2011-06-03T12:49:48Z<p>Aerovista: /* XBee Pro ZNet 2.5 (AT command set) */</p>
<hr />
<div>Paparazzi supports the following modem protocols:<br />
* Standard transparent serial (pprz protocol, AT mode) - compatible with all modems and can be used to connect the autopilot directly to a PC for testing without a modem.<br />
* Digi (formerly Maxstream) API protocol (xbee) - compatible with all Digi modems including the 9XTend and Zigbee. This protocol enables hardware addressing through API mode, allowing multiple aircraft to be managed from a single ground modem.<br />
<br/><br />
<br />
== Introduction ==<br />
<br />
=== Installation of X-CTU ===<br />
The simples way to configure the XBee modems is to use the [http://www.digi.com/support/kbase/kbaseresultdetl.jsp?kb=125 X-CTU] software from Digi. It runs under Windows or under Wine.<br />
<br />
Under Wine make sure you have the USB serial link connecting to XBee mapped to a com port:<br />
<br />
sudo ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com4<br />
<br />
If your X-CTU does not update its firmware correctely from the web, follow the steps described in the chapter "Manually Update the X-CTU firmware files" of [http://wiki.openpilot.org/display/Doc/XBee+RF+modems this page].<br />
<br />
=== Configuring XBee AT mode using X-CTU ===<br />
This is the recommended way to start. With this firmware the modems basically act as a serial link replacement and don't do any mesh networking. The pprz protocol is based on this mode.<br />
<br/><br />
Basic approach:<br />
# Connect your XBee to your PC. There are several vendors of [[Modems#GCS_Adaptation|USB boards]].<br />
# Start the X-CTU programm and go to the modem configuration.<br />
# Click on READ<br />
# Select the appropriate function set with AT command set.<br />
# set PAN ID, etc... depending on which XBee you use<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly. At a higher baudrate setting, transmission can only be done in one direction.<br />
# Then write the firmware to the module.<br />
If X-CTU asks you to reset the XBee, you have to connect the RST pin (5) to the GND pin (10) of the XBee. You can do this using tweezers or a short wire manually.<br />
<br />
=== Configuring XBee using minicom ===<br />
<br />
Alternatively you can use the text-based modem control and terminal emulation program [http://en.wikipedia.org/wiki/Minicom minicom] instead of X-CTU to configure your XBee:<br />
<br />
# Connect XBee to your computer<br />
# Setup minicom (by default XBee modems come set up for 9600 baud)<br />
# Type Ctrl-A A in minicom this will set it up to add linefeeds to the stream<br />
# Type three '+' in quick succession resulting in "+++" string (you have 10s to type your next command otherwise the modem will revert back to transparent mode)<br />
#* you get a confirmation: 'OK'<br />
# Type "AT<enter>"<br />
#* you get a confirmation: 'OK'<br />
# Type "ATBD<enter>"<br />
#* you get the baudrate code: '3'<br />
# To set another baudrate select one of the following by typing "ATBD <baud code><enter>"<br />
#* 0 = 1200<br />
#* 1 = 2400<br />
#* 2 = 4800<br />
#* 3 = 9600<br />
#* 4 = 19200to connect the ground XBee radio modem to the GCS computer<br />
#* 5 = 38400<br />
#* 6 = 57600<br />
#* 7 = 115200<br />
# To store the new baudrate in the rom type "ATWR<enter>"<br />
# Now you can close minicom<br />
# Reconnect modem<br />
# Restart minicom with the new baudrate<br />
# Test that the modem is setup correctly by tiping "+++" and getting "OK" confirmation<br />
<br />
== XBee Pro ZB (AT command set) ==<br />
This 2.4GHz modem uses ZigBee PRO Feature Set and is compatible with devices from other vendors using the ZigBee PRO Feature Set.<br />
<br />
=== Flashing the airborne module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZIGBEE END DEVICE AT''' (or ZIGBEE ROUTER AT).<br />
# Set the PAN ID to any number, must be the same as the pan id of the coordinator (Ground Station).<br />
# Set the Node Identifier (NI) to your aircraft name or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Flashing the ground station module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZIGBEE COORDINATOR AT'''.<br />
# Set the PAN ID to any number, must be the same as the pan id of the end device (aircraft).<br />
# Set the Node Identifier (NI) to PPRZ_GROUND or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Pairing your Modems ===<br />
<br />
For maximum performance you can pair the ground modem to the airborne modem. Set the "DH - Destination Address High" and "DL - Destination Address Low" to the unique serial number "SH - Serial Number High" and "SL - Serial Number Low" of the other modem. Do so both on the ground modem and on the airborne modem. Failing to properly pair your modems will likely result in poor throughput and data loss between your airframe and your ground control station.<br />
<br />
=== Reviving a non-responding Xbee Pro ===<br />
<br />
To bring an apparently dead XBee Pro Series 2 back to life, do the following:<br />
<br />
#Connect the USB device that holds the XBee to your laptop/desktop (without the XBee connected).<br />
#Open X-CTU.<br />
#In the tab used to program the device, select the proper modem (normally you would do a READ to get the values).<br />
#Choose the option you want to program (i.e., "END DEVICE" or "COORDINATOR") as if you were programming it.<br />
#With the XBee not in the device, click "WRITE". It will hang, timeout, and bring up a dialog box.<br />
#Before you click OK to the dialog box, plug in the XBee module (carefully).<br />
#Click OK to clear the message and it should start programming automatically.<br />
<br />
=== Other tutorials ===<br />
<br />
[http://pixhawk.ethz.ch/tutorials/how_to_configure_xbee PixHawk: HowTo configure XBee]<br />
<br />
[http://wiki.openpilot.org/display/Doc/XBee+RF+modems openpilot: XBee RF modems]<br />
<br />
== XBee Pro ZNet 2.5 (AT command set) ==<br />
These are legacy modems and not recommended/sold by Digi anymore.<br />
It is recommended to upgrade these to XBee Pro ZB with the [ftp://ftp1.digi.com/support/images/ZNet%202.5%20to%20ZB%20Conversion%20Kit.zip ZNet 2.5 to ZB Conversion Kit] from Digi.<br />
<br/><br />
If you want to use ZNet 2.5 feature set nevertheless, here is how to configure it:<br />
<br />
=== Flashing the airborne module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZNET 2.5 ROUTER/END DEVICE AT'''.<br />
# Set the PAN ID to any number, must be the same as the pan id of the coordinator (Ground Station).<br />
# Set the Node Identifier (NI) to your aircraft name or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Flashing the ground station module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZNET 2.5 COORDINATOR DEVICE AT'''.<br />
# Set the Destination Address Low (DL) to FFFF.<br />
# Set the PAN ID to any number, must be the same as the pan id of the end device (aircraft).<br />
# Set the Node Identifier (NI) to PPRZ_GROUND or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Setup ===<br />
<br />
For the ZigBee ZNet 2.5 and ZB modules to work one of the modules has to be flashed with the coordinator firmware. All the others in the same PAN can either run as routers or end-devices.<br />
* Flash one module (ground station) with the coordinator AT firmware<br />
* Flash aircraft module with router or end-device AT firmware<br />
To allow modules to join any PAN set the PAN ID to zero (default setting). Then the coordinator will generate a random PAN ID and routers and end-devices will join the first PAN they find.<br />
<br />
If you operate in an environment with multiple zigbee PANs it is recommended to set the PAN ID explicitly:<br />
* Set PAN ID to some unique (but same) ID on both modules<br />
* Set a Node Identifier for each module (e.g. ground, aircraft)<br />
<br />
== XBee Pro DigiMesh / 802.15.4 ("Series 1") ==<br />
<br />
== XBee Pro 868 MHZ ==<br />
<br />
=== Getting Them Working ===<br />
Even with the xbee868.xml telemetry file, XBee868s will not last over 6 minutes. There is a special 868 build flag (in slayer1.xml), and matching option for the datalink but I could not get this to work. Eventually, I got them to work for about 20 minutes, which happily is the flight endurance of a heavily overloaded GWS Formosa.<br />
<br />
I did this using a command window, but you could use X-CTU if you are a wuss or have Windows handy.<br />
<br />
#Attach Xbee and start serial comm program (I use <code>screen /dev/ttyUSB0 &lt;baud rate, just a number, no angled brackets&gt;</code>, you can also use pico- or microcom)<br />
#Type AT and enter. You should get an OK back.<br />
#ATMT and enter. You should get a number&mdash;this represents the number of extra times each packet will be broadcast. We now need to change this to zero.<br />
#ATMT0 and enter => OK<br />
#ATRR and enter. This number is the number of retries that will be sent if an ACK is not received. Disabling this will also have the side effect of disabling ACKs, giving us more packets to play with.<br />
#ATRR0 and enter => OK<br />
#Type ATWR to store the new stuff in the firmware. You should get an OK.<br />
#Set the datalink to transparent mode both in your airframe file and on the datalink.<br />
<br />
You may also want to drop the power level to 1mW for testing, or it won't actually work - they are just too damn powerful to talk to each other at a range of a couple of feet. I also used 1mW for flying - never lost the link, even after a mile. Didn't get round to range testing them though. <br />
<br />
You probably want to do this to both XBees (at least I did). I personally had the baud rate at 57600 for legacy reasons, but it should work just as well at any other baud rate. '''Thanks to CheBuzz for this info''', and for helping me work all this out at 11pm the night before EMAV09.<br />
<br />
== XBee Pro XSC (900MHZ) ==<br />
<br />
== Configuring XBee API mode (xbee protocol) ==<br />
<br />
[[Category:Hardware]] [[Category:User_Documentation]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=XBee_configuration&diff=9489XBee configuration2011-06-03T12:49:44Z<p>Aerovista: /* XBee Pro ZB (AT command set) */</p>
<hr />
<div>Paparazzi supports the following modem protocols:<br />
* Standard transparent serial (pprz protocol, AT mode) - compatible with all modems and can be used to connect the autopilot directly to a PC for testing without a modem.<br />
* Digi (formerly Maxstream) API protocol (xbee) - compatible with all Digi modems including the 9XTend and Zigbee. This protocol enables hardware addressing through API mode, allowing multiple aircraft to be managed from a single ground modem.<br />
<br/><br />
<br />
== Introduction ==<br />
<br />
=== Installation of X-CTU ===<br />
The simples way to configure the XBee modems is to use the [http://www.digi.com/support/kbase/kbaseresultdetl.jsp?kb=125 X-CTU] software from Digi. It runs under Windows or under Wine.<br />
<br />
Under Wine make sure you have the USB serial link connecting to XBee mapped to a com port:<br />
<br />
sudo ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com4<br />
<br />
If your X-CTU does not update its firmware correctely from the web, follow the steps described in the chapter "Manually Update the X-CTU firmware files" of [http://wiki.openpilot.org/display/Doc/XBee+RF+modems this page].<br />
<br />
=== Configuring XBee AT mode using X-CTU ===<br />
This is the recommended way to start. With this firmware the modems basically act as a serial link replacement and don't do any mesh networking. The pprz protocol is based on this mode.<br />
<br/><br />
Basic approach:<br />
# Connect your XBee to your PC. There are several vendors of [[Modems#GCS_Adaptation|USB boards]].<br />
# Start the X-CTU programm and go to the modem configuration.<br />
# Click on READ<br />
# Select the appropriate function set with AT command set.<br />
# set PAN ID, etc... depending on which XBee you use<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly. At a higher baudrate setting, transmission can only be done in one direction.<br />
# Then write the firmware to the module.<br />
If X-CTU asks you to reset the XBee, you have to connect the RST pin (5) to the GND pin (10) of the XBee. You can do this using tweezers or a short wire manually.<br />
<br />
=== Configuring XBee using minicom ===<br />
<br />
Alternatively you can use the text-based modem control and terminal emulation program [http://en.wikipedia.org/wiki/Minicom minicom] instead of X-CTU to configure your XBee:<br />
<br />
# Connect XBee to your computer<br />
# Setup minicom (by default XBee modems come set up for 9600 baud)<br />
# Type Ctrl-A A in minicom this will set it up to add linefeeds to the stream<br />
# Type three '+' in quick succession resulting in "+++" string (you have 10s to type your next command otherwise the modem will revert back to transparent mode)<br />
#* you get a confirmation: 'OK'<br />
# Type "AT<enter>"<br />
#* you get a confirmation: 'OK'<br />
# Type "ATBD<enter>"<br />
#* you get the baudrate code: '3'<br />
# To set another baudrate select one of the following by typing "ATBD <baud code><enter>"<br />
#* 0 = 1200<br />
#* 1 = 2400<br />
#* 2 = 4800<br />
#* 3 = 9600<br />
#* 4 = 19200to connect the ground XBee radio modem to the GCS computer<br />
#* 5 = 38400<br />
#* 6 = 57600<br />
#* 7 = 115200<br />
# To store the new baudrate in the rom type "ATWR<enter>"<br />
# Now you can close minicom<br />
# Reconnect modem<br />
# Restart minicom with the new baudrate<br />
# Test that the modem is setup correctly by tiping "+++" and getting "OK" confirmation<br />
<br />
== XBee Pro ZB (AT command set) ==<br />
This 2.4GHz modem uses ZigBee PRO Feature Set and is compatible with devices from other vendors using the ZigBee PRO Feature Set.<br />
<br />
=== Flashing the airborne module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZIGBEE END DEVICE AT''' (or ZIGBEE ROUTER AT).<br />
# Set the PAN ID to any number, must be the same as the pan id of the coordinator (Ground Station).<br />
# Set the Node Identifier (NI) to your aircraft name or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Flashing the ground station module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZIGBEE COORDINATOR AT'''.<br />
# Set the PAN ID to any number, must be the same as the pan id of the end device (aircraft).<br />
# Set the Node Identifier (NI) to PPRZ_GROUND or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Pairing your Modems ===<br />
<br />
For maximum performance you can pair the ground modem to the airborne modem. Set the "DH - Destination Address High" and "DL - Destination Address Low" to the unique serial number "SH - Serial Number High" and "SL - Serial Number Low" of the other modem. Do so both on the ground modem and on the airborne modem. Failing to properly pair your modems will likely result in poor throughput and data loss between your airframe and your ground control station.<br />
<br />
=== Reviving a non-responding Xbee Pro ===<br />
<br />
To bring an apparently dead XBee Pro Series 2 back to life, do the following:<br />
<br />
#Connect the USB device that holds the XBee to your laptop/desktop (without the XBee connected).<br />
#Open X-CTU.<br />
#In the tab used to program the device, select the proper modem (normally you would do a READ to get the values).<br />
#Choose the option you want to program (i.e., "END DEVICE" or "COORDINATOR") as if you were programming it.<br />
#With the XBee not in the device, click "WRITE". It will hang, timeout, and bring up a dialog box.<br />
#Before you click OK to the dialog box, plug in the XBee module (carefully).<br />
#Click OK to clear the message and it should start programming automatically.<br />
<br />
=== Other tutorials ===<br />
<br />
[http://pixhawk.ethz.ch/tutorials/how_to_configure_xbee PixHawk: HowTo configure XBee]<br />
<br />
[http://wiki.openpilot.org/display/Doc/XBee+RF+modems openpilot: XBee RF modems]<br />
<br />
== XBee Pro ZNet 2.5 (AT command set) ==<br />
These are legacy modems and not recommended/sold by Digi anymore.<br />
It is recommended to upgrade these to XBee Pro ZB with the [ftp://ftp1.digi.com/support/images/ZNet%202.5%20to%20ZB%20Conversion%20Kit.zip ZNet 2.5 to ZB Conversion Kit] from Digi.<br />
<br/><br />
If you want to use ZNet 2.5 feature set nevertheless, here is how to configure it:<br />
<br />
=== Flashing the airborne module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZNET 2.5 ROUTER/END DEVICE AT'''.<br />
# Set the PAN ID to any number, must be the same as the pan id of the coordinator (Ground Station).<br />
# Set the Node Identifier (NI) to your aircraft name or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Flashing the ground station module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZNET 2.5 COORDINATOR DEVICE AT'''.<br />
# Set the Destination Address Low (DL) to FFFF.<br />
# Set the PAN ID to any number, must be the same as the pan id of the end device (aircraft).<br />
# Set the Node Identifier (NI) to PPRZ_GROUND or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Setup ===<br />
<br />
For the ZigBee ZNet 2.5 and ZB modules to work one of the modules has to be flashed with the coordinator firmware. All the others in the same PAN can either run as routers or end-devices.<br />
* Flash one module (ground station) with the coordinator AT firmware<br />
* Flash aircraft module with router or end-device AT firmware<br />
To allow modules to join any PAN set the PAN ID to zero (default setting). Then the coordinator will generate a random PAN ID and routers and end-devices will join the first PAN they find.<br />
<br />
If you operate in an environment with multiple zigbee PANs it is recommended to set the PAN ID explicitly:<br />
* Set PAN ID to some unique (but same) ID on both modules<br />
* Set a Node Identifier for each module (e.g. ground, aircraft)<br />
<br />
=== Reviving a non-responding Xbee Pro ===<br />
<br />
To bring an apparently dead XBee Pro Series 2 back to life, do the following:<br />
<br />
#Connect the USB device that holds the XBee to your laptop/desktop (without the XBee connected).<br />
#Open X-CTU.<br />
#In the tab used to program the device, select the proper modem (normally you would do a READ to get the values).<br />
#Choose the option you want to program (i.e., "END DEVICE" or "COORDINATOR") as if you were programming it.<br />
#With the XBee not in the device, click "WRITE". It will hang, timeout, and bring up a dialog box.<br />
#Before you click OK to the dialog box, plug in the XBee module (carefully).<br />
#Click OK to clear the message and it should start programming automatically.<br />
<br />
=== Other tutorials ===<br />
<br />
[http://pixhawk.ethz.ch/tutorials/how_to_configure_xbee PixHawk: HowTo configure XBee]<br />
<br />
[http://wiki.openpilot.org/display/Doc/XBee+RF+modems openpilot: XBee RF modems]<br />
<br />
== XBee Pro DigiMesh / 802.15.4 ("Series 1") ==<br />
<br />
== XBee Pro 868 MHZ ==<br />
<br />
=== Getting Them Working ===<br />
Even with the xbee868.xml telemetry file, XBee868s will not last over 6 minutes. There is a special 868 build flag (in slayer1.xml), and matching option for the datalink but I could not get this to work. Eventually, I got them to work for about 20 minutes, which happily is the flight endurance of a heavily overloaded GWS Formosa.<br />
<br />
I did this using a command window, but you could use X-CTU if you are a wuss or have Windows handy.<br />
<br />
#Attach Xbee and start serial comm program (I use <code>screen /dev/ttyUSB0 &lt;baud rate, just a number, no angled brackets&gt;</code>, you can also use pico- or microcom)<br />
#Type AT and enter. You should get an OK back.<br />
#ATMT and enter. You should get a number&mdash;this represents the number of extra times each packet will be broadcast. We now need to change this to zero.<br />
#ATMT0 and enter => OK<br />
#ATRR and enter. This number is the number of retries that will be sent if an ACK is not received. Disabling this will also have the side effect of disabling ACKs, giving us more packets to play with.<br />
#ATRR0 and enter => OK<br />
#Type ATWR to store the new stuff in the firmware. You should get an OK.<br />
#Set the datalink to transparent mode both in your airframe file and on the datalink.<br />
<br />
You may also want to drop the power level to 1mW for testing, or it won't actually work - they are just too damn powerful to talk to each other at a range of a couple of feet. I also used 1mW for flying - never lost the link, even after a mile. Didn't get round to range testing them though. <br />
<br />
You probably want to do this to both XBees (at least I did). I personally had the baud rate at 57600 for legacy reasons, but it should work just as well at any other baud rate. '''Thanks to CheBuzz for this info''', and for helping me work all this out at 11pm the night before EMAV09.<br />
<br />
== XBee Pro XSC (900MHZ) ==<br />
<br />
== Configuring XBee API mode (xbee protocol) ==<br />
<br />
[[Category:Hardware]] [[Category:User_Documentation]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=XBee_configuration&diff=9488XBee configuration2011-06-03T12:46:22Z<p>Aerovista: /* Tipps and Tricks */</p>
<hr />
<div>Paparazzi supports the following modem protocols:<br />
* Standard transparent serial (pprz protocol, AT mode) - compatible with all modems and can be used to connect the autopilot directly to a PC for testing without a modem.<br />
* Digi (formerly Maxstream) API protocol (xbee) - compatible with all Digi modems including the 9XTend and Zigbee. This protocol enables hardware addressing through API mode, allowing multiple aircraft to be managed from a single ground modem.<br />
<br/><br />
<br />
== Introduction ==<br />
<br />
=== Installation of X-CTU ===<br />
The simples way to configure the XBee modems is to use the [http://www.digi.com/support/kbase/kbaseresultdetl.jsp?kb=125 X-CTU] software from Digi. It runs under Windows or under Wine.<br />
<br />
Under Wine make sure you have the USB serial link connecting to XBee mapped to a com port:<br />
<br />
sudo ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com4<br />
<br />
If your X-CTU does not update its firmware correctely from the web, follow the steps described in the chapter "Manually Update the X-CTU firmware files" of [http://wiki.openpilot.org/display/Doc/XBee+RF+modems this page].<br />
<br />
=== Configuring XBee AT mode using X-CTU ===<br />
This is the recommended way to start. With this firmware the modems basically act as a serial link replacement and don't do any mesh networking. The pprz protocol is based on this mode.<br />
<br/><br />
Basic approach:<br />
# Connect your XBee to your PC. There are several vendors of [[Modems#GCS_Adaptation|USB boards]].<br />
# Start the X-CTU programm and go to the modem configuration.<br />
# Click on READ<br />
# Select the appropriate function set with AT command set.<br />
# set PAN ID, etc... depending on which XBee you use<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly. At a higher baudrate setting, transmission can only be done in one direction.<br />
# Then write the firmware to the module.<br />
If X-CTU asks you to reset the XBee, you have to connect the RST pin (5) to the GND pin (10) of the XBee. You can do this using tweezers or a short wire manually.<br />
<br />
=== Configuring XBee using minicom ===<br />
<br />
Alternatively you can use the text-based modem control and terminal emulation program [http://en.wikipedia.org/wiki/Minicom minicom] instead of X-CTU to configure your XBee:<br />
<br />
# Connect XBee to your computer<br />
# Setup minicom (by default XBee modems come set up for 9600 baud)<br />
# Type Ctrl-A A in minicom this will set it up to add linefeeds to the stream<br />
# Type three '+' in quick succession resulting in "+++" string (you have 10s to type your next command otherwise the modem will revert back to transparent mode)<br />
#* you get a confirmation: 'OK'<br />
# Type "AT<enter>"<br />
#* you get a confirmation: 'OK'<br />
# Type "ATBD<enter>"<br />
#* you get the baudrate code: '3'<br />
# To set another baudrate select one of the following by typing "ATBD <baud code><enter>"<br />
#* 0 = 1200<br />
#* 1 = 2400<br />
#* 2 = 4800<br />
#* 3 = 9600<br />
#* 4 = 19200to connect the ground XBee radio modem to the GCS computer<br />
#* 5 = 38400<br />
#* 6 = 57600<br />
#* 7 = 115200<br />
# To store the new baudrate in the rom type "ATWR<enter>"<br />
# Now you can close minicom<br />
# Reconnect modem<br />
# Restart minicom with the new baudrate<br />
# Test that the modem is setup correctly by tiping "+++" and getting "OK" confirmation<br />
<br />
== XBee Pro ZB (AT command set) ==<br />
This 2.4GHz modem uses ZigBee PRO Feature Set and is compatible with devices from other vendors using the ZigBee PRO Feature Set.<br />
<br />
=== Flashing the airborne module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZIGBEE END DEVICE AT''' (or ZIGBEE ROUTER AT).<br />
# Set the PAN ID to any number, must be the same as the pan id of the coordinator (Ground Station).<br />
# Set the Node Identifier (NI) to your aircraft name or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Flashing the ground station module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZIGBEE COORDINATOR AT'''.<br />
# Set the PAN ID to any number, must be the same as the pan id of the end device (aircraft).<br />
# Set the Node Identifier (NI) to PPRZ_GROUND or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Pairing your Modems ===<br />
<br />
For maximum performance you can pair the ground modem to the airborne modem. Set the "DH - Destination Address High" and "DL - Destination Address Low" to the unique serial number "SH - Serial Number High" and "SL - Serial Number Low" of the other modem. Do so both on the ground modem and on the airborne modem. Failing to properly pair your modems will likely result in poor throughput and data loss between your airframe and your ground control station.<br />
<br />
== XBee Pro ZNet 2.5 (AT command set) ==<br />
These are legacy modems and not recommended/sold by Digi anymore.<br />
It is recommended to upgrade these to XBee Pro ZB with the [ftp://ftp1.digi.com/support/images/ZNet%202.5%20to%20ZB%20Conversion%20Kit.zip ZNet 2.5 to ZB Conversion Kit] from Digi.<br />
<br/><br />
If you want to use ZNet 2.5 feature set nevertheless, here is how to configure it:<br />
<br />
=== Flashing the airborne module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZNET 2.5 ROUTER/END DEVICE AT'''.<br />
# Set the PAN ID to any number, must be the same as the pan id of the coordinator (Ground Station).<br />
# Set the Node Identifier (NI) to your aircraft name or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Flashing the ground station module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZNET 2.5 COORDINATOR DEVICE AT'''.<br />
# Set the Destination Address Low (DL) to FFFF.<br />
# Set the PAN ID to any number, must be the same as the pan id of the end device (aircraft).<br />
# Set the Node Identifier (NI) to PPRZ_GROUND or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Setup ===<br />
<br />
For the ZigBee ZNet 2.5 and ZB modules to work one of the modules has to be flashed with the coordinator firmware. All the others in the same PAN can either run as routers or end-devices.<br />
* Flash one module (ground station) with the coordinator AT firmware<br />
* Flash aircraft module with router or end-device AT firmware<br />
To allow modules to join any PAN set the PAN ID to zero (default setting). Then the coordinator will generate a random PAN ID and routers and end-devices will join the first PAN they find.<br />
<br />
If you operate in an environment with multiple zigbee PANs it is recommended to set the PAN ID explicitly:<br />
* Set PAN ID to some unique (but same) ID on both modules<br />
* Set a Node Identifier for each module (e.g. ground, aircraft)<br />
<br />
=== Reviving a non-responding Xbee Pro ===<br />
<br />
To bring an apparently dead XBee Pro Series 2 back to life, do the following:<br />
<br />
#Connect the USB device that holds the XBee to your laptop/desktop (without the XBee connected).<br />
#Open X-CTU.<br />
#In the tab used to program the device, select the proper modem (normally you would do a READ to get the values).<br />
#Choose the option you want to program (i.e., "END DEVICE" or "COORDINATOR") as if you were programming it.<br />
#With the XBee not in the device, click "WRITE". It will hang, timeout, and bring up a dialog box.<br />
#Before you click OK to the dialog box, plug in the XBee module (carefully).<br />
#Click OK to clear the message and it should start programming automatically.<br />
<br />
=== Other tutorials ===<br />
<br />
[http://pixhawk.ethz.ch/tutorials/how_to_configure_xbee PixHawk: HowTo configure XBee]<br />
<br />
[http://wiki.openpilot.org/display/Doc/XBee+RF+modems openpilot: XBee RF modems]<br />
<br />
== XBee Pro DigiMesh / 802.15.4 ("Series 1") ==<br />
<br />
== XBee Pro 868 MHZ ==<br />
<br />
=== Getting Them Working ===<br />
Even with the xbee868.xml telemetry file, XBee868s will not last over 6 minutes. There is a special 868 build flag (in slayer1.xml), and matching option for the datalink but I could not get this to work. Eventually, I got them to work for about 20 minutes, which happily is the flight endurance of a heavily overloaded GWS Formosa.<br />
<br />
I did this using a command window, but you could use X-CTU if you are a wuss or have Windows handy.<br />
<br />
#Attach Xbee and start serial comm program (I use <code>screen /dev/ttyUSB0 &lt;baud rate, just a number, no angled brackets&gt;</code>, you can also use pico- or microcom)<br />
#Type AT and enter. You should get an OK back.<br />
#ATMT and enter. You should get a number&mdash;this represents the number of extra times each packet will be broadcast. We now need to change this to zero.<br />
#ATMT0 and enter => OK<br />
#ATRR and enter. This number is the number of retries that will be sent if an ACK is not received. Disabling this will also have the side effect of disabling ACKs, giving us more packets to play with.<br />
#ATRR0 and enter => OK<br />
#Type ATWR to store the new stuff in the firmware. You should get an OK.<br />
#Set the datalink to transparent mode both in your airframe file and on the datalink.<br />
<br />
You may also want to drop the power level to 1mW for testing, or it won't actually work - they are just too damn powerful to talk to each other at a range of a couple of feet. I also used 1mW for flying - never lost the link, even after a mile. Didn't get round to range testing them though. <br />
<br />
You probably want to do this to both XBees (at least I did). I personally had the baud rate at 57600 for legacy reasons, but it should work just as well at any other baud rate. '''Thanks to CheBuzz for this info''', and for helping me work all this out at 11pm the night before EMAV09.<br />
<br />
== XBee Pro XSC (900MHZ) ==<br />
<br />
== Configuring XBee API mode (xbee protocol) ==<br />
<br />
[[Category:Hardware]] [[Category:User_Documentation]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=XBee_configuration&diff=9487XBee configuration2011-06-03T12:45:22Z<p>Aerovista: /* Configuring XBee AT mode using X-CTU */</p>
<hr />
<div>Paparazzi supports the following modem protocols:<br />
* Standard transparent serial (pprz protocol, AT mode) - compatible with all modems and can be used to connect the autopilot directly to a PC for testing without a modem.<br />
* Digi (formerly Maxstream) API protocol (xbee) - compatible with all Digi modems including the 9XTend and Zigbee. This protocol enables hardware addressing through API mode, allowing multiple aircraft to be managed from a single ground modem.<br />
<br/><br />
<br />
== Introduction ==<br />
<br />
=== Installation of X-CTU ===<br />
The simples way to configure the XBee modems is to use the [http://www.digi.com/support/kbase/kbaseresultdetl.jsp?kb=125 X-CTU] software from Digi. It runs under Windows or under Wine.<br />
<br />
Under Wine make sure you have the USB serial link connecting to XBee mapped to a com port:<br />
<br />
sudo ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com4<br />
<br />
If your X-CTU does not update its firmware correctely from the web, follow the steps described in the chapter "Manually Update the X-CTU firmware files" of [http://wiki.openpilot.org/display/Doc/XBee+RF+modems this page].<br />
<br />
=== Configuring XBee AT mode using X-CTU ===<br />
This is the recommended way to start. With this firmware the modems basically act as a serial link replacement and don't do any mesh networking. The pprz protocol is based on this mode.<br />
<br/><br />
Basic approach:<br />
# Connect your XBee to your PC. There are several vendors of [[Modems#GCS_Adaptation|USB boards]].<br />
# Start the X-CTU programm and go to the modem configuration.<br />
# Click on READ<br />
# Select the appropriate function set with AT command set.<br />
# set PAN ID, etc... depending on which XBee you use<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly. At a higher baudrate setting, transmission can only be done in one direction.<br />
# Then write the firmware to the module.<br />
If X-CTU asks you to reset the XBee, you have to connect the RST pin (5) to the GND pin (10) of the XBee. You can do this using tweezers or a short wire manually.<br />
<br />
=== Configuring XBee using minicom ===<br />
<br />
Alternatively you can use the text-based modem control and terminal emulation program [http://en.wikipedia.org/wiki/Minicom minicom] instead of X-CTU to configure your XBee:<br />
<br />
# Connect XBee to your computer<br />
# Setup minicom (by default XBee modems come set up for 9600 baud)<br />
# Type Ctrl-A A in minicom this will set it up to add linefeeds to the stream<br />
# Type three '+' in quick succession resulting in "+++" string (you have 10s to type your next command otherwise the modem will revert back to transparent mode)<br />
#* you get a confirmation: 'OK'<br />
# Type "AT<enter>"<br />
#* you get a confirmation: 'OK'<br />
# Type "ATBD<enter>"<br />
#* you get the baudrate code: '3'<br />
# To set another baudrate select one of the following by typing "ATBD <baud code><enter>"<br />
#* 0 = 1200<br />
#* 1 = 2400<br />
#* 2 = 4800<br />
#* 3 = 9600<br />
#* 4 = 19200to connect the ground XBee radio modem to the GCS computer<br />
#* 5 = 38400<br />
#* 6 = 57600<br />
#* 7 = 115200<br />
# To store the new baudrate in the rom type "ATWR<enter>"<br />
# Now you can close minicom<br />
# Reconnect modem<br />
# Restart minicom with the new baudrate<br />
# Test that the modem is setup correctly by tiping "+++" and getting "OK" confirmation<br />
<br />
== XBee Pro ZB (AT command set) ==<br />
This 2.4GHz modem uses ZigBee PRO Feature Set and is compatible with devices from other vendors using the ZigBee PRO Feature Set.<br />
<br />
=== Flashing the airborne module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZIGBEE END DEVICE AT''' (or ZIGBEE ROUTER AT).<br />
# Set the PAN ID to any number, must be the same as the pan id of the coordinator (Ground Station).<br />
# Set the Node Identifier (NI) to your aircraft name or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Flashing the ground station module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZIGBEE COORDINATOR AT'''.<br />
# Set the PAN ID to any number, must be the same as the pan id of the end device (aircraft).<br />
# Set the Node Identifier (NI) to PPRZ_GROUND or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Tipps and Tricks ===<br />
<br />
* If X-CTU asks you to reset the XBee, you have to connect the RST pin (5) to the GND pin (10) of the XBee Explorer. You can do this using tweezers or a short wire manually.<br />
* For maximum performance you can pair the ground modem to the airborne modem. Set the "DH - Destination Address High" and "DL - Destination Address Low" to the unique serial number "SH - Serial Number High" and "SL - Serial Number Low" of the other modem. Do so both on the ground modem and on the airborne modem. Failing to properly pair your modems will likely result in poor throughput and data loss between your airframe and your ground control station.<br />
* If your X-CTU does not update its firmware correctely from the web, follow the steps described in the chapter "Manually Update the X-CTU firmware files" of [http://wiki.openpilot.org/display/Doc/XBee+RF+modems this page].<br />
<br />
== XBee Pro ZNet 2.5 (AT command set) ==<br />
These are legacy modems and not recommended/sold by Digi anymore.<br />
It is recommended to upgrade these to XBee Pro ZB with the [ftp://ftp1.digi.com/support/images/ZNet%202.5%20to%20ZB%20Conversion%20Kit.zip ZNet 2.5 to ZB Conversion Kit] from Digi.<br />
<br/><br />
If you want to use ZNet 2.5 feature set nevertheless, here is how to configure it:<br />
<br />
=== Flashing the airborne module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZNET 2.5 ROUTER/END DEVICE AT'''.<br />
# Set the PAN ID to any number, must be the same as the pan id of the coordinator (Ground Station).<br />
# Set the Node Identifier (NI) to your aircraft name or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Flashing the ground station module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZNET 2.5 COORDINATOR DEVICE AT'''.<br />
# Set the Destination Address Low (DL) to FFFF.<br />
# Set the PAN ID to any number, must be the same as the pan id of the end device (aircraft).<br />
# Set the Node Identifier (NI) to PPRZ_GROUND or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Setup ===<br />
<br />
For the ZigBee ZNet 2.5 and ZB modules to work one of the modules has to be flashed with the coordinator firmware. All the others in the same PAN can either run as routers or end-devices.<br />
* Flash one module (ground station) with the coordinator AT firmware<br />
* Flash aircraft module with router or end-device AT firmware<br />
To allow modules to join any PAN set the PAN ID to zero (default setting). Then the coordinator will generate a random PAN ID and routers and end-devices will join the first PAN they find.<br />
<br />
If you operate in an environment with multiple zigbee PANs it is recommended to set the PAN ID explicitly:<br />
* Set PAN ID to some unique (but same) ID on both modules<br />
* Set a Node Identifier for each module (e.g. ground, aircraft)<br />
<br />
=== Reviving a non-responding Xbee Pro ===<br />
<br />
To bring an apparently dead XBee Pro Series 2 back to life, do the following:<br />
<br />
#Connect the USB device that holds the XBee to your laptop/desktop (without the XBee connected).<br />
#Open X-CTU.<br />
#In the tab used to program the device, select the proper modem (normally you would do a READ to get the values).<br />
#Choose the option you want to program (i.e., "END DEVICE" or "COORDINATOR") as if you were programming it.<br />
#With the XBee not in the device, click "WRITE". It will hang, timeout, and bring up a dialog box.<br />
#Before you click OK to the dialog box, plug in the XBee module (carefully).<br />
#Click OK to clear the message and it should start programming automatically.<br />
<br />
=== Other tutorials ===<br />
<br />
[http://pixhawk.ethz.ch/tutorials/how_to_configure_xbee PixHawk: HowTo configure XBee]<br />
<br />
[http://wiki.openpilot.org/display/Doc/XBee+RF+modems openpilot: XBee RF modems]<br />
<br />
== XBee Pro DigiMesh / 802.15.4 ("Series 1") ==<br />
<br />
== XBee Pro 868 MHZ ==<br />
<br />
=== Getting Them Working ===<br />
Even with the xbee868.xml telemetry file, XBee868s will not last over 6 minutes. There is a special 868 build flag (in slayer1.xml), and matching option for the datalink but I could not get this to work. Eventually, I got them to work for about 20 minutes, which happily is the flight endurance of a heavily overloaded GWS Formosa.<br />
<br />
I did this using a command window, but you could use X-CTU if you are a wuss or have Windows handy.<br />
<br />
#Attach Xbee and start serial comm program (I use <code>screen /dev/ttyUSB0 &lt;baud rate, just a number, no angled brackets&gt;</code>, you can also use pico- or microcom)<br />
#Type AT and enter. You should get an OK back.<br />
#ATMT and enter. You should get a number&mdash;this represents the number of extra times each packet will be broadcast. We now need to change this to zero.<br />
#ATMT0 and enter => OK<br />
#ATRR and enter. This number is the number of retries that will be sent if an ACK is not received. Disabling this will also have the side effect of disabling ACKs, giving us more packets to play with.<br />
#ATRR0 and enter => OK<br />
#Type ATWR to store the new stuff in the firmware. You should get an OK.<br />
#Set the datalink to transparent mode both in your airframe file and on the datalink.<br />
<br />
You may also want to drop the power level to 1mW for testing, or it won't actually work - they are just too damn powerful to talk to each other at a range of a couple of feet. I also used 1mW for flying - never lost the link, even after a mile. Didn't get round to range testing them though. <br />
<br />
You probably want to do this to both XBees (at least I did). I personally had the baud rate at 57600 for legacy reasons, but it should work just as well at any other baud rate. '''Thanks to CheBuzz for this info''', and for helping me work all this out at 11pm the night before EMAV09.<br />
<br />
== XBee Pro XSC (900MHZ) ==<br />
<br />
== Configuring XBee API mode (xbee protocol) ==<br />
<br />
[[Category:Hardware]] [[Category:User_Documentation]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=XBee_configuration&diff=9486XBee configuration2011-06-03T12:44:01Z<p>Aerovista: /* Installation of X-CTU */</p>
<hr />
<div>Paparazzi supports the following modem protocols:<br />
* Standard transparent serial (pprz protocol, AT mode) - compatible with all modems and can be used to connect the autopilot directly to a PC for testing without a modem.<br />
* Digi (formerly Maxstream) API protocol (xbee) - compatible with all Digi modems including the 9XTend and Zigbee. This protocol enables hardware addressing through API mode, allowing multiple aircraft to be managed from a single ground modem.<br />
<br/><br />
<br />
== Introduction ==<br />
<br />
=== Installation of X-CTU ===<br />
The simples way to configure the XBee modems is to use the [http://www.digi.com/support/kbase/kbaseresultdetl.jsp?kb=125 X-CTU] software from Digi. It runs under Windows or under Wine.<br />
<br />
Under Wine make sure you have the USB serial link connecting to XBee mapped to a com port:<br />
<br />
sudo ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com4<br />
<br />
If your X-CTU does not update its firmware correctely from the web, follow the steps described in the chapter "Manually Update the X-CTU firmware files" of [http://wiki.openpilot.org/display/Doc/XBee+RF+modems this page].<br />
<br />
=== Configuring XBee AT mode using X-CTU ===<br />
This is the recommended way to start. With this firmware the modems basically act as a serial link replacement and don't do any mesh networking. The pprz protocol is based on this mode.<br />
<br/><br />
Basic approach:<br />
# Connect your XBee to your PC. There are several vendors of [[Modems#GCS_Adaptation|USB boards]].<br />
# Start the X-CTU programm and go to the modem configuration.<br />
# Click on READ<br />
# Select the appropriate function set with AT command set.<br />
# set PAN ID, etc... depending on which XBee you use<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly. At a higher baudrate setting, transmission can only be done in one direction.<br />
# Then write the firmware to the module.<br />
<br />
=== Configuring XBee using minicom ===<br />
<br />
Alternatively you can use the text-based modem control and terminal emulation program [http://en.wikipedia.org/wiki/Minicom minicom] instead of X-CTU to configure your XBee:<br />
<br />
# Connect XBee to your computer<br />
# Setup minicom (by default XBee modems come set up for 9600 baud)<br />
# Type Ctrl-A A in minicom this will set it up to add linefeeds to the stream<br />
# Type three '+' in quick succession resulting in "+++" string (you have 10s to type your next command otherwise the modem will revert back to transparent mode)<br />
#* you get a confirmation: 'OK'<br />
# Type "AT<enter>"<br />
#* you get a confirmation: 'OK'<br />
# Type "ATBD<enter>"<br />
#* you get the baudrate code: '3'<br />
# To set another baudrate select one of the following by typing "ATBD <baud code><enter>"<br />
#* 0 = 1200<br />
#* 1 = 2400<br />
#* 2 = 4800<br />
#* 3 = 9600<br />
#* 4 = 19200to connect the ground XBee radio modem to the GCS computer<br />
#* 5 = 38400<br />
#* 6 = 57600<br />
#* 7 = 115200<br />
# To store the new baudrate in the rom type "ATWR<enter>"<br />
# Now you can close minicom<br />
# Reconnect modem<br />
# Restart minicom with the new baudrate<br />
# Test that the modem is setup correctly by tiping "+++" and getting "OK" confirmation<br />
<br />
== XBee Pro ZB (AT command set) ==<br />
This 2.4GHz modem uses ZigBee PRO Feature Set and is compatible with devices from other vendors using the ZigBee PRO Feature Set.<br />
<br />
=== Flashing the airborne module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZIGBEE END DEVICE AT''' (or ZIGBEE ROUTER AT).<br />
# Set the PAN ID to any number, must be the same as the pan id of the coordinator (Ground Station).<br />
# Set the Node Identifier (NI) to your aircraft name or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Flashing the ground station module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZIGBEE COORDINATOR AT'''.<br />
# Set the PAN ID to any number, must be the same as the pan id of the end device (aircraft).<br />
# Set the Node Identifier (NI) to PPRZ_GROUND or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Tipps and Tricks ===<br />
<br />
* If X-CTU asks you to reset the XBee, you have to connect the RST pin (5) to the GND pin (10) of the XBee Explorer. You can do this using tweezers or a short wire manually.<br />
* For maximum performance you can pair the ground modem to the airborne modem. Set the "DH - Destination Address High" and "DL - Destination Address Low" to the unique serial number "SH - Serial Number High" and "SL - Serial Number Low" of the other modem. Do so both on the ground modem and on the airborne modem. Failing to properly pair your modems will likely result in poor throughput and data loss between your airframe and your ground control station.<br />
* If your X-CTU does not update its firmware correctely from the web, follow the steps described in the chapter "Manually Update the X-CTU firmware files" of [http://wiki.openpilot.org/display/Doc/XBee+RF+modems this page].<br />
<br />
== XBee Pro ZNet 2.5 (AT command set) ==<br />
These are legacy modems and not recommended/sold by Digi anymore.<br />
It is recommended to upgrade these to XBee Pro ZB with the [ftp://ftp1.digi.com/support/images/ZNet%202.5%20to%20ZB%20Conversion%20Kit.zip ZNet 2.5 to ZB Conversion Kit] from Digi.<br />
<br/><br />
If you want to use ZNet 2.5 feature set nevertheless, here is how to configure it:<br />
<br />
=== Flashing the airborne module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZNET 2.5 ROUTER/END DEVICE AT'''.<br />
# Set the PAN ID to any number, must be the same as the pan id of the coordinator (Ground Station).<br />
# Set the Node Identifier (NI) to your aircraft name or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Flashing the ground station module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZNET 2.5 COORDINATOR DEVICE AT'''.<br />
# Set the Destination Address Low (DL) to FFFF.<br />
# Set the PAN ID to any number, must be the same as the pan id of the end device (aircraft).<br />
# Set the Node Identifier (NI) to PPRZ_GROUND or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Setup ===<br />
<br />
For the ZigBee ZNet 2.5 and ZB modules to work one of the modules has to be flashed with the coordinator firmware. All the others in the same PAN can either run as routers or end-devices.<br />
* Flash one module (ground station) with the coordinator AT firmware<br />
* Flash aircraft module with router or end-device AT firmware<br />
To allow modules to join any PAN set the PAN ID to zero (default setting). Then the coordinator will generate a random PAN ID and routers and end-devices will join the first PAN they find.<br />
<br />
If you operate in an environment with multiple zigbee PANs it is recommended to set the PAN ID explicitly:<br />
* Set PAN ID to some unique (but same) ID on both modules<br />
* Set a Node Identifier for each module (e.g. ground, aircraft)<br />
<br />
=== Reviving a non-responding Xbee Pro ===<br />
<br />
To bring an apparently dead XBee Pro Series 2 back to life, do the following:<br />
<br />
#Connect the USB device that holds the XBee to your laptop/desktop (without the XBee connected).<br />
#Open X-CTU.<br />
#In the tab used to program the device, select the proper modem (normally you would do a READ to get the values).<br />
#Choose the option you want to program (i.e., "END DEVICE" or "COORDINATOR") as if you were programming it.<br />
#With the XBee not in the device, click "WRITE". It will hang, timeout, and bring up a dialog box.<br />
#Before you click OK to the dialog box, plug in the XBee module (carefully).<br />
#Click OK to clear the message and it should start programming automatically.<br />
<br />
=== Other tutorials ===<br />
<br />
[http://pixhawk.ethz.ch/tutorials/how_to_configure_xbee PixHawk: HowTo configure XBee]<br />
<br />
[http://wiki.openpilot.org/display/Doc/XBee+RF+modems openpilot: XBee RF modems]<br />
<br />
== XBee Pro DigiMesh / 802.15.4 ("Series 1") ==<br />
<br />
== XBee Pro 868 MHZ ==<br />
<br />
=== Getting Them Working ===<br />
Even with the xbee868.xml telemetry file, XBee868s will not last over 6 minutes. There is a special 868 build flag (in slayer1.xml), and matching option for the datalink but I could not get this to work. Eventually, I got them to work for about 20 minutes, which happily is the flight endurance of a heavily overloaded GWS Formosa.<br />
<br />
I did this using a command window, but you could use X-CTU if you are a wuss or have Windows handy.<br />
<br />
#Attach Xbee and start serial comm program (I use <code>screen /dev/ttyUSB0 &lt;baud rate, just a number, no angled brackets&gt;</code>, you can also use pico- or microcom)<br />
#Type AT and enter. You should get an OK back.<br />
#ATMT and enter. You should get a number&mdash;this represents the number of extra times each packet will be broadcast. We now need to change this to zero.<br />
#ATMT0 and enter => OK<br />
#ATRR and enter. This number is the number of retries that will be sent if an ACK is not received. Disabling this will also have the side effect of disabling ACKs, giving us more packets to play with.<br />
#ATRR0 and enter => OK<br />
#Type ATWR to store the new stuff in the firmware. You should get an OK.<br />
#Set the datalink to transparent mode both in your airframe file and on the datalink.<br />
<br />
You may also want to drop the power level to 1mW for testing, or it won't actually work - they are just too damn powerful to talk to each other at a range of a couple of feet. I also used 1mW for flying - never lost the link, even after a mile. Didn't get round to range testing them though. <br />
<br />
You probably want to do this to both XBees (at least I did). I personally had the baud rate at 57600 for legacy reasons, but it should work just as well at any other baud rate. '''Thanks to CheBuzz for this info''', and for helping me work all this out at 11pm the night before EMAV09.<br />
<br />
== XBee Pro XSC (900MHZ) ==<br />
<br />
== Configuring XBee API mode (xbee protocol) ==<br />
<br />
[[Category:Hardware]] [[Category:User_Documentation]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=XBee_configuration&diff=9485XBee configuration2011-06-03T12:40:05Z<p>Aerovista: /* XBee Pro ZB (AT command set) */</p>
<hr />
<div>Paparazzi supports the following modem protocols:<br />
* Standard transparent serial (pprz protocol, AT mode) - compatible with all modems and can be used to connect the autopilot directly to a PC for testing without a modem.<br />
* Digi (formerly Maxstream) API protocol (xbee) - compatible with all Digi modems including the 9XTend and Zigbee. This protocol enables hardware addressing through API mode, allowing multiple aircraft to be managed from a single ground modem.<br />
<br/><br />
<br />
== Introduction ==<br />
<br />
=== Installation of X-CTU ===<br />
The simples way to configure the XBee modems is to use the [http://www.digi.com/support/kbase/kbaseresultdetl.jsp?kb=125 X-CTU] software from Digi. It runs under Windows or under Wine.<br />
<br />
Under Wine make sure you have the USB serial link connecting to XBee mapped to a com port:<br />
<br />
sudo ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com4<br />
<br />
=== Configuring XBee AT mode using X-CTU ===<br />
This is the recommended way to start. With this firmware the modems basically act as a serial link replacement and don't do any mesh networking. The pprz protocol is based on this mode.<br />
<br/><br />
Basic approach:<br />
# Connect your XBee to your PC. There are several vendors of [[Modems#GCS_Adaptation|USB boards]].<br />
# Start the X-CTU programm and go to the modem configuration.<br />
# Click on READ<br />
# Select the appropriate function set with AT command set.<br />
# set PAN ID, etc... depending on which XBee you use<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly. At a higher baudrate setting, transmission can only be done in one direction.<br />
# Then write the firmware to the module.<br />
<br />
=== Configuring XBee using minicom ===<br />
<br />
Alternatively you can use the text-based modem control and terminal emulation program [http://en.wikipedia.org/wiki/Minicom minicom] instead of X-CTU to configure your XBee:<br />
<br />
# Connect XBee to your computer<br />
# Setup minicom (by default XBee modems come set up for 9600 baud)<br />
# Type Ctrl-A A in minicom this will set it up to add linefeeds to the stream<br />
# Type three '+' in quick succession resulting in "+++" string (you have 10s to type your next command otherwise the modem will revert back to transparent mode)<br />
#* you get a confirmation: 'OK'<br />
# Type "AT<enter>"<br />
#* you get a confirmation: 'OK'<br />
# Type "ATBD<enter>"<br />
#* you get the baudrate code: '3'<br />
# To set another baudrate select one of the following by typing "ATBD <baud code><enter>"<br />
#* 0 = 1200<br />
#* 1 = 2400<br />
#* 2 = 4800<br />
#* 3 = 9600<br />
#* 4 = 19200to connect the ground XBee radio modem to the GCS computer<br />
#* 5 = 38400<br />
#* 6 = 57600<br />
#* 7 = 115200<br />
# To store the new baudrate in the rom type "ATWR<enter>"<br />
# Now you can close minicom<br />
# Reconnect modem<br />
# Restart minicom with the new baudrate<br />
# Test that the modem is setup correctly by tiping "+++" and getting "OK" confirmation<br />
<br />
== XBee Pro ZB (AT command set) ==<br />
This 2.4GHz modem uses ZigBee PRO Feature Set and is compatible with devices from other vendors using the ZigBee PRO Feature Set.<br />
<br />
=== Flashing the airborne module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZIGBEE END DEVICE AT''' (or ZIGBEE ROUTER AT).<br />
# Set the PAN ID to any number, must be the same as the pan id of the coordinator (Ground Station).<br />
# Set the Node Identifier (NI) to your aircraft name or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Flashing the ground station module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZIGBEE COORDINATOR AT'''.<br />
# Set the PAN ID to any number, must be the same as the pan id of the end device (aircraft).<br />
# Set the Node Identifier (NI) to PPRZ_GROUND or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Tipps and Tricks ===<br />
<br />
* If X-CTU asks you to reset the XBee, you have to connect the RST pin (5) to the GND pin (10) of the XBee Explorer. You can do this using tweezers or a short wire manually.<br />
* For maximum performance you can pair the ground modem to the airborne modem. Set the "DH - Destination Address High" and "DL - Destination Address Low" to the unique serial number "SH - Serial Number High" and "SL - Serial Number Low" of the other modem. Do so both on the ground modem and on the airborne modem. Failing to properly pair your modems will likely result in poor throughput and data loss between your airframe and your ground control station.<br />
* If your X-CTU does not update its firmware correctely from the web, follow the steps described in the chapter "Manually Update the X-CTU firmware files" of [http://wiki.openpilot.org/display/Doc/XBee+RF+modems this page].<br />
<br />
== XBee Pro ZNet 2.5 (AT command set) ==<br />
These are legacy modems and not recommended/sold by Digi anymore.<br />
It is recommended to upgrade these to XBee Pro ZB with the [ftp://ftp1.digi.com/support/images/ZNet%202.5%20to%20ZB%20Conversion%20Kit.zip ZNet 2.5 to ZB Conversion Kit] from Digi.<br />
<br/><br />
If you want to use ZNet 2.5 feature set nevertheless, here is how to configure it:<br />
<br />
=== Flashing the airborne module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZNET 2.5 ROUTER/END DEVICE AT'''.<br />
# Set the PAN ID to any number, must be the same as the pan id of the coordinator (Ground Station).<br />
# Set the Node Identifier (NI) to your aircraft name or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Flashing the ground station module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZNET 2.5 COORDINATOR DEVICE AT'''.<br />
# Set the Destination Address Low (DL) to FFFF.<br />
# Set the PAN ID to any number, must be the same as the pan id of the end device (aircraft).<br />
# Set the Node Identifier (NI) to PPRZ_GROUND or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Setup ===<br />
<br />
For the ZigBee ZNet 2.5 and ZB modules to work one of the modules has to be flashed with the coordinator firmware. All the others in the same PAN can either run as routers or end-devices.<br />
* Flash one module (ground station) with the coordinator AT firmware<br />
* Flash aircraft module with router or end-device AT firmware<br />
To allow modules to join any PAN set the PAN ID to zero (default setting). Then the coordinator will generate a random PAN ID and routers and end-devices will join the first PAN they find.<br />
<br />
If you operate in an environment with multiple zigbee PANs it is recommended to set the PAN ID explicitly:<br />
* Set PAN ID to some unique (but same) ID on both modules<br />
* Set a Node Identifier for each module (e.g. ground, aircraft)<br />
<br />
=== Reviving a non-responding Xbee Pro ===<br />
<br />
To bring an apparently dead XBee Pro Series 2 back to life, do the following:<br />
<br />
#Connect the USB device that holds the XBee to your laptop/desktop (without the XBee connected).<br />
#Open X-CTU.<br />
#In the tab used to program the device, select the proper modem (normally you would do a READ to get the values).<br />
#Choose the option you want to program (i.e., "END DEVICE" or "COORDINATOR") as if you were programming it.<br />
#With the XBee not in the device, click "WRITE". It will hang, timeout, and bring up a dialog box.<br />
#Before you click OK to the dialog box, plug in the XBee module (carefully).<br />
#Click OK to clear the message and it should start programming automatically.<br />
<br />
=== Other tutorials ===<br />
<br />
[http://pixhawk.ethz.ch/tutorials/how_to_configure_xbee PixHawk: HowTo configure XBee]<br />
<br />
[http://wiki.openpilot.org/display/Doc/XBee+RF+modems openpilot: XBee RF modems]<br />
<br />
== XBee Pro DigiMesh / 802.15.4 ("Series 1") ==<br />
<br />
== XBee Pro 868 MHZ ==<br />
<br />
=== Getting Them Working ===<br />
Even with the xbee868.xml telemetry file, XBee868s will not last over 6 minutes. There is a special 868 build flag (in slayer1.xml), and matching option for the datalink but I could not get this to work. Eventually, I got them to work for about 20 minutes, which happily is the flight endurance of a heavily overloaded GWS Formosa.<br />
<br />
I did this using a command window, but you could use X-CTU if you are a wuss or have Windows handy.<br />
<br />
#Attach Xbee and start serial comm program (I use <code>screen /dev/ttyUSB0 &lt;baud rate, just a number, no angled brackets&gt;</code>, you can also use pico- or microcom)<br />
#Type AT and enter. You should get an OK back.<br />
#ATMT and enter. You should get a number&mdash;this represents the number of extra times each packet will be broadcast. We now need to change this to zero.<br />
#ATMT0 and enter => OK<br />
#ATRR and enter. This number is the number of retries that will be sent if an ACK is not received. Disabling this will also have the side effect of disabling ACKs, giving us more packets to play with.<br />
#ATRR0 and enter => OK<br />
#Type ATWR to store the new stuff in the firmware. You should get an OK.<br />
#Set the datalink to transparent mode both in your airframe file and on the datalink.<br />
<br />
You may also want to drop the power level to 1mW for testing, or it won't actually work - they are just too damn powerful to talk to each other at a range of a couple of feet. I also used 1mW for flying - never lost the link, even after a mile. Didn't get round to range testing them though. <br />
<br />
You probably want to do this to both XBees (at least I did). I personally had the baud rate at 57600 for legacy reasons, but it should work just as well at any other baud rate. '''Thanks to CheBuzz for this info''', and for helping me work all this out at 11pm the night before EMAV09.<br />
<br />
== XBee Pro XSC (900MHZ) ==<br />
<br />
== Configuring XBee API mode (xbee protocol) ==<br />
<br />
[[Category:Hardware]] [[Category:User_Documentation]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=XBee_configuration&diff=9484XBee configuration2011-06-02T06:14:57Z<p>Aerovista: </p>
<hr />
<div>Paparazzi supports the following modem protocols:<br />
* Standard transparent serial (pprz protocol, AT mode) - compatible with all modems and can be used to connect the autopilot directly to a PC for testing without a modem.<br />
* Digi (formerly Maxstream) API protocol (xbee) - compatible with all Digi modems including the 9XTend and Zigbee. This protocol enables hardware addressing through API mode, allowing multiple aircraft to be managed from a single ground modem.<br />
<br/><br />
<br />
== Introduction ==<br />
<br />
=== Installation of X-CTU ===<br />
The simples way to configure the XBee modems is to use the [http://www.digi.com/support/kbase/kbaseresultdetl.jsp?kb=125 X-CTU] software from Digi. It runs under Windows or under Wine.<br />
<br />
Under Wine make sure you have the USB serial link connecting to XBee mapped to a com port:<br />
<br />
sudo ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com4<br />
<br />
=== Configuring XBee AT mode using X-CTU ===<br />
This is the recommended way to start. With this firmware the modems basically act as a serial link replacement and don't do any mesh networking. The pprz protocol is based on this mode.<br />
<br/><br />
Basic approach:<br />
# Connect your XBee to your PC. There are several vendors of [[Modems#GCS_Adaptation|USB boards]].<br />
# Start the X-CTU programm and go to the modem configuration.<br />
# Click on READ<br />
# Select the appropriate function set with AT command set.<br />
# set PAN ID, etc... depending on which XBee you use<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly. At a higher baudrate setting, transmission can only be done in one direction.<br />
# Then write the firmware to the module.<br />
<br />
=== Configuring XBee using minicom ===<br />
<br />
Alternatively you can use the text-based modem control and terminal emulation program [http://en.wikipedia.org/wiki/Minicom minicom] instead of X-CTU to configure your XBee:<br />
<br />
# Connect XBee to your computer<br />
# Setup minicom (by default XBee modems come set up for 9600 baud)<br />
# Type Ctrl-A A in minicom this will set it up to add linefeeds to the stream<br />
# Type three '+' in quick succession resulting in "+++" string (you have 10s to type your next command otherwise the modem will revert back to transparent mode)<br />
#* you get a confirmation: 'OK'<br />
# Type "AT<enter>"<br />
#* you get a confirmation: 'OK'<br />
# Type "ATBD<enter>"<br />
#* you get the baudrate code: '3'<br />
# To set another baudrate select one of the following by typing "ATBD <baud code><enter>"<br />
#* 0 = 1200<br />
#* 1 = 2400<br />
#* 2 = 4800<br />
#* 3 = 9600<br />
#* 4 = 19200to connect the ground XBee radio modem to the GCS computer<br />
#* 5 = 38400<br />
#* 6 = 57600<br />
#* 7 = 115200<br />
# To store the new baudrate in the rom type "ATWR<enter>"<br />
# Now you can close minicom<br />
# Reconnect modem<br />
# Restart minicom with the new baudrate<br />
# Test that the modem is setup correctly by tiping "+++" and getting "OK" confirmation<br />
<br />
== XBee Pro ZB (AT command set) ==<br />
This 2.4GHz modem uses ZigBee PRO Feature Set and is compatible with devices from other vendors using the ZigBee PRO Feature Set.<br />
<br />
=== Flashing the airborne module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZIGBEE END DEVICE AT''' (or ZIGBEE ROUTER AT).<br />
# Set the PAN ID to any number, must be the same as the pan id of the coordinator (Ground Station).<br />
# Set the Node Identifier (NI) to your aircraft name or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Flashing the ground station module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZIGBEE COORDINATOR AT'''.<br />
# Set the PAN ID to any number, must be the same as the pan id of the end device (aircraft).<br />
# Set the Node Identifier (NI) to PPRZ_GROUND or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
== XBee Pro ZNet 2.5 (AT command set) ==<br />
These are legacy modems and not recommended/sold by Digi anymore.<br />
It is recommended to upgrade these to XBee Pro ZB with the [ftp://ftp1.digi.com/support/images/ZNet%202.5%20to%20ZB%20Conversion%20Kit.zip ZNet 2.5 to ZB Conversion Kit] from Digi.<br />
<br/><br />
If you want to use ZNet 2.5 feature set nevertheless, here is how to configure it:<br />
<br />
=== Flashing the airborne module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZNET 2.5 ROUTER/END DEVICE AT'''.<br />
# Set the PAN ID to any number, must be the same as the pan id of the coordinator (Ground Station).<br />
# Set the Node Identifier (NI) to your aircraft name or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Flashing the ground station module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZNET 2.5 COORDINATOR DEVICE AT'''.<br />
# Set the Destination Address Low (DL) to FFFF.<br />
# Set the PAN ID to any number, must be the same as the pan id of the end device (aircraft).<br />
# Set the Node Identifier (NI) to PPRZ_GROUND or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Setup ===<br />
<br />
For the ZigBee ZNet 2.5 and ZB modules to work one of the modules has to be flashed with the coordinator firmware. All the others in the same PAN can either run as routers or end-devices.<br />
* Flash one module (ground station) with the coordinator AT firmware<br />
* Flash aircraft module with router or end-device AT firmware<br />
To allow modules to join any PAN set the PAN ID to zero (default setting). Then the coordinator will generate a random PAN ID and routers and end-devices will join the first PAN they find.<br />
<br />
If you operate in an environment with multiple zigbee PANs it is recommended to set the PAN ID explicitly:<br />
* Set PAN ID to some unique (but same) ID on both modules<br />
* Set a Node Identifier for each module (e.g. ground, aircraft)<br />
<br />
=== Reviving a non-responding Xbee Pro ===<br />
<br />
To bring an apparently dead XBee Pro Series 2 back to life, do the following:<br />
<br />
#Connect the USB device that holds the XBee to your laptop/desktop (without the XBee connected).<br />
#Open X-CTU.<br />
#In the tab used to program the device, select the proper modem (normally you would do a READ to get the values).<br />
#Choose the option you want to program (i.e., "END DEVICE" or "COORDINATOR") as if you were programming it.<br />
#With the XBee not in the device, click "WRITE". It will hang, timeout, and bring up a dialog box.<br />
#Before you click OK to the dialog box, plug in the XBee module (carefully).<br />
#Click OK to clear the message and it should start programming automatically.<br />
<br />
=== Other tutorials ===<br />
<br />
[http://pixhawk.ethz.ch/tutorials/how_to_configure_xbee PixHawk: HowTo configure XBee]<br />
<br />
[http://wiki.openpilot.org/display/Doc/XBee+RF+modems openpilot: XBee RF modems]<br />
<br />
== XBee Pro DigiMesh / 802.15.4 ("Series 1") ==<br />
<br />
== XBee Pro 868 MHZ ==<br />
<br />
=== Getting Them Working ===<br />
Even with the xbee868.xml telemetry file, XBee868s will not last over 6 minutes. There is a special 868 build flag (in slayer1.xml), and matching option for the datalink but I could not get this to work. Eventually, I got them to work for about 20 minutes, which happily is the flight endurance of a heavily overloaded GWS Formosa.<br />
<br />
I did this using a command window, but you could use X-CTU if you are a wuss or have Windows handy.<br />
<br />
#Attach Xbee and start serial comm program (I use <code>screen /dev/ttyUSB0 &lt;baud rate, just a number, no angled brackets&gt;</code>, you can also use pico- or microcom)<br />
#Type AT and enter. You should get an OK back.<br />
#ATMT and enter. You should get a number&mdash;this represents the number of extra times each packet will be broadcast. We now need to change this to zero.<br />
#ATMT0 and enter => OK<br />
#ATRR and enter. This number is the number of retries that will be sent if an ACK is not received. Disabling this will also have the side effect of disabling ACKs, giving us more packets to play with.<br />
#ATRR0 and enter => OK<br />
#Type ATWR to store the new stuff in the firmware. You should get an OK.<br />
#Set the datalink to transparent mode both in your airframe file and on the datalink.<br />
<br />
You may also want to drop the power level to 1mW for testing, or it won't actually work - they are just too damn powerful to talk to each other at a range of a couple of feet. I also used 1mW for flying - never lost the link, even after a mile. Didn't get round to range testing them though. <br />
<br />
You probably want to do this to both XBees (at least I did). I personally had the baud rate at 57600 for legacy reasons, but it should work just as well at any other baud rate. '''Thanks to CheBuzz for this info''', and for helping me work all this out at 11pm the night before EMAV09.<br />
<br />
== XBee Pro XSC (900MHZ) ==<br />
<br />
== Configuring XBee API mode (xbee protocol) ==<br />
<br />
[[Category:Hardware]] [[Category:User_Documentation]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=Modems&diff=9380Modems2011-05-23T18:42:06Z<p>Aerovista: /* Digi XBee Pro ZB / ZNet 2.5 ("Series 2") */</p>
<hr />
<div>The Paparazzi autopilot features a 5V tolerant 3V TTL serial port to interface with any common radio modem. The bidirectional link provides real-time telemetry and in-flight tuning and navigation commands. The system is also capable overlaying the appropriate protocols to communicate thru non-transparent devices such as the Coronis Wavecard or Maxstream API-enabled products, allowing for hardware addressing for multiple aircraft or future enhancements such as data-relaying, inter-aircraft communication, RSSI signal monitoring and automatic in-flight modem power adjustment. Below is a list of some of the common modems used with Paparazzi, for details on configuring your modem see the [[Airframe_Configuration#Telemetry_.28Modem.29|Airframe Configuration]] and [[XBee_configuration|XBee Configuration]] pages.<br />
<br />
== Digi XBee modules ==<br />
<br />
Digi (formerly Maxstream) offers an increasing variety of Zigbee protocol modems well suited for Paparazzi in 2.4 GHz, 900MHz and 868Mhz frequencies. The "Pro" series are long range, up to 40km! Standard series are slightly smaller/lighter/lower power consumption and very short range. All versions are all pin compatible and weigh around 2 grams with wire antennas. All Digi modems can be operated in transparent mode (as a serial line replacement) or in "API mode" with hardware addressing, managed networking, and RSSI (signal strength) data with the Paparazzi "Xbee" option. Three antenna options are offered: the SMA version is ideal for ground modems, wire antennas for aircraft, and chip antennas for those with very limited space.<br />
<br />
* XBee (PRO) ZB (the current series)<br />
* XBee (PRO) ZNet 2.5 (formerly Series 2) (only legacy -> use XBee-PRO ZB)<br />
The XBee & XBee-PRO ZB share hardware (ember stack) with XBee & XBee-PRO ZNet 2.5. As a result, modules can be "converted" from one platform to another by loading different firmware onto a given module.<br />
<br />
These two also share the same hardware and can be converted from one to another by flashing a different firmware:<br />
* XBee-PRO 802.15.4 (formerly Series 1)<br />
* XBee-PRO DigiMesh 2.4<br />
<br />
'''Note: Modules based on Freescale chipset (formerly Series 1) are not compatible with Ember chipset based modules (Series 2).'''<br />
Also see the [http://www.jsjf.demon.co.uk/xbee/faq.htm| unofficial XBee FAQ] for this.<br />
<br />
See the [[XBee_configuration|XBee Configuration]] page. This [http://pixhawk.ethz.ch/tutorials/how_to_configure_xbee tutorial] is also good to configure and get started with XBee Pro.<br />
<br />
=== Module Comparison ===<br />
{|border="1"<br />
|-valign="top"<br />
||'''Module'''||'''Point-to-Multipoint'''||'''ZigBee/Mesh'''||'''Chipset'''|||'''Software stack'''||'''Frequency'''||'''TX Power normal/PRO'''||'''Notes'''<br />
|-<br />
|'''XBee ZB'''<br />
|<br />
|yes<br />
|Ember<br />
|EmberZNet PRO 3.1 (ZigBee 2007)<br />
|2.4 GHz<br />
|2mW/50mW<br />
|coordinator needed<br />
|-<br />
|'''XBee ZNet 2.5'''<br />
|<br />
|yes<br />
|Ember<br />
|EmberZNet 2.5 ZigBee<br />
|2.4 GHz<br />
|2mW/50mW<br />
|(only legacy -> use XBee-PRO ZB) coordinator needed<br />
|-<br />
|'''XBee DigiMesh 2.4'''<br />
|<br />
|yes<br />
|Freescale<br />
|<br />
|2.4 GHz<br />
|<br />
|all nodes equal (no special coordinators/routers/end-devices)<br />
|-<br />
|'''XBee 802.15.4'''<br />
|yes<br />
|<br />
|Freescale<br />
|<br />
|2.4 GHz<br />
|<br />
|<br />
|-<br />
|'''XBee-PRO 868'''<br />
|yes<br />
|<br />
|?<br />
|<br />
|868 MHz<br />
|500mW<br />
|Only High Power Frequency allowed in the UK. 2.4GHz limited to 10mW<br />
|}<br />
<br />
<br />
==== Comparison Conclusion ====<br />
<br />
(Copied from DIGI manual)<br />
<br />
''If the application strictly needs to communicate in a point-to-point or a point-to-multipoint <br />
fashion, 802.15.4 will be able handle all the communications between your devices and will <br />
be simpler to implement than trying to use a module with ZigBee firmware to accomplish the <br />
same goal. ZigBee is necessary if you need to use repeating or the mesh networking <br />
functionality.'' <br />
<br />
-Interpretation for paparazzi: if inter-aircraft communication is required one should go for the zigbee ZB series 2 modules. <br />
<br />
==== Pinout ====<br />
<br />
[[Image:Maxstream_Xbee_pinout.jpg|left|thumb|Maxstream XBee pinout]]<br />
<br style="clear:both"><br />
<br />
{|border="1"<br />
|-valign="top"<br />
||''Xbee 20-pin Header''||''Name''||''Notes''||''Suggested Color''||<br />
|-<br />
|1<br />
| +3.3v<br />
| Power<br />
|Red<br />
|-<br />
|2<br />
|DOUT<br />
|Tx output - connect to Autopilot Rx<br />
|Green<br />
|-<br />
|3<br />
|DIN<br />
|Rx input - connect to Autopilot Tx<br />
|Blue<br />
|-<br />
|10<br />
|GND<br />
| Ground<br />
|Black<br />
|}<br />
<br />
The image view is from above, top, thus NOT at the side where the connector pins come out<br />
<br />
Note : DTR and RTS need to be wired for upgrading firmware<br />
<br />
=== GCS Adaptation ===<br />
<br />
There are several vendors of hardware to connect the ground XBee radio modem to the GCS computer.<br />
<br />
====Adafruit====<br />
<br />
[[Image:xbeeadapter_LRG.jpg|thumb|left|Adafruit XBee adapter board]][[Image:xbeeadapterftdi_LRG.jpg|thumb|Adafruit XBee adapter with FTDI cable]]<br />
[http://www.adafruit.com/index.php?main_page=product_info&cPath=29&products_id=126 Adafruit] (yes, that really is their name) offers a great adapter board kit for the Xbee modules that includes a 5-3.3V voltage regulator, power and activity LEDs, and pins to connect directly to your FTDI cable for $10! Some assembly required.<br />
<br />
<br style="clear:both"><br />
<br />
====Droids====<br />
<br />
[[Image:XBee_Simple_Board.jpg|thumb|left|XBee Simple Board]]<br />
<br />
[[Image:XBee_USB_Board.jpg|thumb|left|XBee USB Board]]<br />
<br />
[http://www.droids.it/cmsvb4/content.php?143-990.001-XBee-Simple-Board XBee Simple Board]<br />
<br />
Simpler, lighter, smaller footprint, bit more expensive, comes assembled and tested. --GR<br />
<br />
<br />
[http://www.droids.it/cmsvb4/content.php?152-990.002-XBee-USB-Board XBee USB Board]<br />
<br />
For direct connection to USB (no FTDI cable required)<br />
<br />
<br style="clear:both"><br />
<br />
====PPZUAV====<br />
<br />
[[Image:FTDI_Utility_Board.jpg|thumb|left|FTDI Utility Board 1.0]]<br />
<br />
[https://mini.ppzuav.com/osc/product_info.php?cPath=13&products_id=111 ppzuav.com]<br />
<br />
FTDI Utility Board 1.0 (no FTDI cable required)<br />
<br />
<br style="clear:both"><br />
<br />
====Sparkfun====<br />
<br />
[[Image:XBee_Explorer_USB.jpg|thumb|left|XBee Explorer USB]]<br />
<br />
[http://www.sparkfun.com/products/8687 sparkfun.com]<br />
<br />
XBee Explorer USB (no FTDI cable required)<br />
<br />
<br style="clear:both"><br />
<br />
=== Digi XBee Pro DigiMesh / 802.15.4 ("Series 1") ===<br />
*Note: Products based on XBee ZNet 2.5 (formerly Series 2) modules do not communicate with products based on XBee DigiMesh / 802.15.4 (formerly Series 1) modules.<br />
<br />
These relatively cheap and light modules implement the [http://www.zigbee.org/en/index.asp ZigBee/IEEE 802.15.4] norm. They allow up to 1.6km (1 mile) range (Paparazzi tested to 2.5km (1.5 miles)). The main drawback of using such 2.4Ghz modules for datalink is that it will interfere with the 2.4Ghz analog video transmitters and a inevitable decrease in range when in proximity to any wifi devices. For the plane, get the whip antenna version if you are not planning to build a custom antenna.<br />
<br />
{|<br />
|-valign="top"<br />
|[[Image:Xbee_Pro_USB_RF_Modem.jpg|thumb|left|XBee Pro USB Stand-alone Modem (XBP24-PKC-001-UA)]]<br />
|<br />
* Frequency Band 2.4Ghz<br />
* Output Power 100mW (Xbee Pro)<br />
* Sensitivity -100 dBm <br />
* RF Data Rate Up to 250 Kbps<br />
* Interface data rate Up to 115.2 Kbps<br />
* Power Draw (typical) 214 mA TX / 55 mA RX <br />
* Supply Voltage 3.3v<br />
* Range (typical, depends on antenna & environment) Up to 1500m line-of-sight <br />
* Dimensions 24 x 33mm<br />
* Weight 4 grams<br />
* Interface 20-pin mini connector <br />
* Chip antenna, ¼ monopole integrated whip antenna or a U.FL antenna connector (3 versions)<br />
* Price: Approximately $32<br />
|<br />
[[Image:XBee_pro.jpg|thumb|left|XBee Pro OEM Modem]]<br />
|}<br />
Mouser: [http://au.mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMtJacPDJcUJYzVn8vIv7g2fIpf5DCzJqko%3d 888-XBP24-PKC-001-UA]<br><br />
NOTE: If you wish to use this unit with another XBee type other than the 802.15.4 (i.e. XBee-PRO ZB) then purchase a modem with the U.fl connector.<br />
<br />
==== Documentation ====<br />
<br />
* [http://www.maxstream.net/products/xbee/xbee-pro-oem-rf-module-zigbee.php product page]<br />
* [http://www.maxstream.net/products/xbee/datasheet_XBee_OEM_RF-Modules.pdf datasheet]<br />
* [http://www.maxstream.net/products/xbee/product-manual_XBee_OEM_RF-Modules.pdf user manual]<br />
* To program your Xbee you need X-CTU you can download it [http://www.digi.com/support/productdetl.jsp?pid=3352&osvid=57&tp=5&s=316 here]. (only windows)<br />
* explanation on X-CTU [http://www.ladyada.net/make/xbee/configure.html here].<br />
* [http://ftp1.digi.com/support/firmware/update/xbee/ Drivers for XB24 and XBP24 modules]<br />
<br />
=== Digi XBee Pro ZB / ZNet 2.5 ("Series 2") ===<br />
<br />
The low-power XBee ZB and extended-range XBee-PRO ZB use the ZigBee PRO Feature Set for advanced mesh networking.<br />
<br />
{|<br />
|-valign="top"<br />
|[[Image:XBee_Pro_2SB.jpg|thumb|left|Digi XBee Pro ZB]]<br />
|<br />
* Low-cost, low-power mesh networking<br />
* Interoperability with ZigBee PRO Feature Set devices from other vendors*<br />
* Support for larger, more dense mesh networks<br />
* 128-bit AES encryption<br />
* Frequency agility<br />
* Over-the-air firmware updates (change firmware remotely)<br />
* ISM 2.4 GHz operating frequency<br />
* XBee: 2 mW (+3 dBm) power output (up to 400 ft RF LOS range)<br />
* XBee-PRO: 50 mW (+17 dBm) power output (up to 1 mile RF LOS range)<br />
* RPSMA connector, U.FL connector, Chip antenna, or Wired Whip antenna<br />
* price : ~34 USD<br />
|<br />
|}<br />
These are available from Mouser:<br><br />
[http://au.mouser.com/Search/Refine.aspx?Keyword=888-XBP24-Z7WIT-004 888-XBP24-Z7WIT-004] XBee-PRO ZB with whip antenna<br><br />
[http://au.mouser.com/Search/Refine.aspx?Keyword=XBP24-Z7SIT-004 888-XBP24-Z7SIT-004] XBee-PRO ZB with RPSMA<br />
<br />
See [[XBee_configuration|XBee Configuration]] for setup.<br />
<br />
==== Documentation ====<br />
* [http://www.digi.com/products/wireless/zigbee-mesh/xbee-zb-module.jsp http://www.digi.com/products/wireless/zigbee-mesh/xbee-zb-module.jsp]<br />
<br />
=== Digi XBee Pro 868 ===<br />
<br />
'''WARNING - THESE MODEMS HAVE A 10% DUTY CYCLE, AND CURRENTLY HAVE SEVERE ISSUES WITH PAPARAZZI'''<br />
<br />
868MHz is a limited band. Please read the [[868MHz Issues]]<br />
<br />
XBee-PRO 868 modules are long range embedded RF modules for European applications. Purpose-built for exceptional RF performance, XBee-PRO 868 modules are ideal for applications with challenging RF environments, such as urban deployments, or where devices are several kilometers apart.<br />
<br />
<br />
{|<br />
|-valign="top"<br />
|[[Image:xbeeproxsc-rpsma.jpg|thumb|left|Maxstream XBee Pro 868]]<br />
|<br />
* 868 MHz short range device (SRD) G3 band for Europe<br />
* Software selectable Transmit Power<br />
* 40 km RF LOS w/ dipole antennas<br />
* 80 km RF LOS w/ high gain antennas (TX Power reduced)<br />
* Simple to use peer-to-peer/point-to-mulitpoint topology<br />
* 128-bit AES encryption<br />
* 500 mW EIRP<br />
* 24 kbps RF data rate<br />
* price : ~70 USD<br />
|<br />
|}<br />
<br />
See [[XBee_configuration#XBee_Pro_868_MHZ|XBee Configuration]] for setup.<br />
<br />
==== Documentation ====<br />
* [http://www.digi.com/products/wireless/point-multipoint/xbee-pro-868.jsp http://www.digi.com/products/wireless/point-multipoint/xbee-pro-868.jsp]<br />
<br />
=== Digi XBee Pro XSC 900MHz ===<br />
<br />
Maxstream has recently announced a promising new line of modems combining the small size and low cost of their popular Xbee line with the long range and 2.4 GHz video compatibility of their high end 900 MHz models. Sounds like the perfect modem for anyone who can use 900 MHz. Give them a try and post your results here!<br />
{|<br />
|-valign="top"<br />
|[[Image:xbeeproxsc-rpsma.jpg|thumb|left|Maxstream XBee Pro XSC]]<br />
|<br />
* Frequency Band 900 MHz<br />
* Output Power 100 mW (+20 dBm)<br />
* Sensitivity -100 dBm <br />
* Data Rate: 9600 bps<br />
* Range (typical, depends on antenna & environment) Up to 24km (15 miles) line-of-sight <br />
* Interface 20-pin mini connector (Xbee compatible pinout)<br />
* RPSMA, integrated whip antenna or U.FL antenna connector (3 versions)<br />
* price : ~75 USD<br />
|<br />
|}<br />
<br />
==== Documentation ====<br />
* [http://www.digi.com/products/wireless/point-multipoint/xbee-pro-xsc.jsp http://www.digi.com/products/wireless/point-multipoint/xbee-pro-xsc.jsp]<br />
==== Trials ====<br />
Tested one today and it worked great. Going to try a multiUAV test with it soon<br />
--Danstah<br />
<br><br />
<br><br />
MultiUAV tests concluded this is probably not the best module to use. Even though it says you can change the baudrate inside x-ctu that is not the case, it is fixed at 9600 bps. This is a great modem however for single UAV's and I do recommend.<br />
--Danstah<br />
<br><br />
<br><br />
Why would the European (868 MHz) be good to 24kbps and this only to 9600? When I was altering my XBees (2.4Ghz Pro's) I had this problem altering baud rates until I read you have to send a "commit and reboot" type command after setting the baud rate. Could this be the case? --GR<br />
<br />
== Maxstream 9XTend ==<br />
<br />
These larger units have been tested on the 900Mhz band, but are also available in 2.4Ghz. They are a bit on the heavy side, about 20 grams, but give good performance at range. They have adjustable transmit power settings from 100mW to 1W. Testing has shown range up to 5.6km (3.5 Miles) with XTend set to 100mW with small 3.1dB dipole antenna.<br />
<br />
{|<br />
|-valign="top"<br />
|<br />
[[Image:XTend_USB_RF_Modem.jpg|frame|left|9XTend USB Modem]]<br />
|<br />
* Frequency Band 900Mhz and 2.4Ghz (2 versions)<br />
* Output Power 1mW to 1W software selectable<br />
* Sensitivity -110 dBm (@ 9600 bps)<br />
* RF Data Rate 9.6 or 115.2 Kbps<br />
* Interface data rate up to 230.4 Kbps<br />
* Power Draw (typical) 730 mA TX / 80 mA RX <br />
* Supply Voltage 2.8 to 5.5v<br />
* Range (typical, depends on antenna & environment) Up to 64km line-of-sight <br />
* Dimensions 36 x 60 x 5mm<br />
* Weight 18 grams<br />
* Interface 20-pin mini connector <br />
* RF connector RPSMA (Reverse-polarity SMA) or MMCX (2 versions)<br />
* price : ~179 USD<br />
|<br />
[[Image:Xtend_module.jpg|frame|left|9XTend OEM Modem]]<br />
|}<br />
<br />
=== Pinout ===<br />
<br />
[[Image:Maxstream_9XTend_Pinout.gif|thumb|left|Maxstream 9XTend Pinout]]<br />
<br />
{| border="1"<br />
|-valign="top"<br />
||'''''9XTend 20-pin Header'''''||'''''Name'''''||'''''Tiny Serial-1 Header'''''||'''''Notes'''''<br />
|-<br />
||1||GND||1 (GND)||Ground <br />
|-<br />
||2||VCC||2 (5V)||5V power (150mA - 730mA Supplied from servo bus or other 5V source)<br />
|-<br />
||5||RX||8 (TX)||3-5V TTL data input - connect to Tiny TX<br />
|-<br />
||6||TX||7 (RX)||5V TTL data output - connect to Tiny RX<br />
|-<br />
||7||Shutdown||2||This pin must be connected to the 5V bus for normal operation<br />
|}<br />
Notes:<br><br />
* 9XTend can run on voltages as low as 2.8V but users are strongly advised against connecting any modem (especially high power models) to the sensitive 3.3V bus supplying the autopilot processor and sensors.<br />
<br style="clear:both"><br />
<br />
=== Documentation ===<br />
<br />
* [http://www.maxstream.net/products/xtend/oem-rf-module.php product page]<br />
* [http://www.maxstream.net/products/xtend/datasheet_XTend_OEM_RF-Module.pdf datasheet]<br />
* [http://www.maxstream.net/products/xtend/product-manual_XTend_OEM_RF-Module.pdf user manual]<br />
<br />
== Aerocomm ==<br />
Aerocomm's API mode is already implemented but some system integration is required. Full API more with addressed packets works well and was tested with AC4790-1x1 5mW low power modules. Maximim range achieved with a whip quater-wave antenna was 1Km.<br />
<br />
How to use this modem on ground station side? [http://paparazzi.enac.fr/wiki/index.php/User:SilaS#SDK-AC4868-250_ground_modem_part]<br />
<br />
See folder paparazzi3 / trunk / sw / aerocomm. It has all the required files to use this modem on the airborne and ground station side. The link.ml file is a direct replacement of the "main" link.ml file of the ground sttaion and will be merged into it in the future.. or you can do it as well.<br />
<br />
<br />
{|<br />
|<br />
=== AC4868-250 ===<br />
* Frequency Band 868MHz (For Europe). 868MHz is a limited band. Please read the [[868MHz Issues]]<br />
* Output Power (w/ 2dBi antenna) 250 mW <br />
* Sensitivity (@ full RF data rate) -103 dB <br />
* RF Data Rate Up to 28.8 Kbps <br />
* INterface Data Rate Up to 57.6 Kbps <br />
* Power Draw (typical) 240 mA TX / 36 mA RX <br />
* Supply Voltage 3.3v & 5V or 3.3v only<br />
* Range (typical, depends on antenna & environment) Up to 15 kilometers line-of-sight <br />
* Dimensions 49 x 42 x 5mm <br />
* Weight < 21 grams<br />
* Interface 20-pin mini connector <br />
* Antenna MMCX jack Connector <br />
* price : ~80$<br />
|<br />
[[Image:ConnexLink_USB_RF_Modem.jpg|thumb|Aerocomm USB Stand-alone Modem]]<br />
|-<br />
|<br />
<br />
=== AC4790-200 ===<br />
* Frequency 902-928MHz (North America, Australia, etc).<br />
* Output Power 5-200mW<br />
* Sensitivity (@ full RF data rate) -110dB<br />
* RF Data Rate up to 76.8 Kbps<br />
* INterface Data Rate Up to Up to 115.2 Kbps <br />
* Power Draw (typical) 68 mA<br />
* Supply Voltage 3.3v & 5.5V<br />
* Range (typical, depends on antenna & environment) Up to 6.4 kilometers line-of-sight <br />
* Dimensions 42 x 48 x 5mm <br />
* Weight < 20 grams<br />
* Interface 20-pin mini connector <br />
* Antenna MMCX jack Connector or internal<br />
* price : ~80$<br />
|<br />
[[Image:ac4868_transceiver.jpg|thumb|left|AC4868 OEM Modem]]<br />
|<br />
|-<br />
|<br />
<br />
=== AC4790-1000 ===<br />
* Frequency 902-928MHz (North America, Australia, etc).<br />
* Output Power 5-1000mW<br />
* Sensitivity (@ full RF data rate) -99dB<br />
* RF Data Rate up to 76.8 Kbps<br />
* INterface Data Rate Up to Up to 115.2 Kbps <br />
* Power Draw (typical) 650 mA<br />
* Supply Voltage 3.3V only<br />
* Range (typical, depends on antenna & environment) Up to 32 kilometers with high-gain antenna<br />
* Dimensions 42 x 48 x 5mm <br />
* Weight < 20 grams<br />
* Interface 20-pin mini connector <br />
* Antenna MMCX jack Connector<br />
* price : ~80$<br />
|}<br />
<br />
=== Pinout ===<br />
<br />
[[Image:Aerocomm_AC4868_pinout.jpg|thumb|left|Aerocomm AC4868 modem pinout]]<br />
[[Image:Aerocomm_AC4490-200_wired.jpg|thumb|left|Aerocomm AC4490 wiring example]]<br />
<br style="clear:both"><br />
<br />
{| border="1"<br />
|+ Wiring the Aerocomm AC4868 to the Tiny<br />
|-valign="top"<br />
||'''''AC4868 20-pin Header'''''||'''''Name'''''||'''''Color'''''||'''''Tiny v1.1 Serial-1'''''||'''''Tiny v2.11 Serial'''''||'''''Notes'''''<br />
|-<br />
||2||Tx||green||7||7||''(Note 1)''<br />
|-<br />
||3||Rx||blue||8||8||''(Note 1)''<br />
|-<br />
||5||GND||black||1||1|| -<br />
|-<br />
||10+11||VCC||red||2||3||+3.3v<br />
|-<br />
||17||C/D||white||3||?||Low = Command High = Data<br />
|}<br />
''Note 1 : names are specified with respect to the AEROCOMM module''<br />
<br />
=== Documentation ===<br />
* [http://www.aerocomm.com/rf_transceiver_modules/ac4790_mesh-ready_transceiver.htm AC4790 product page]<br />
* [http://www.aerocomm.com/docs/Datasheet_AC4790_HI.pdf AC4790 Datasheet]<br />
* [http://www.aerocomm.com/docs/User_Manual_AC4790.pdf AC4790 Manual]<br />
* [http://www.aerocomm.com/rf_transceiver_modules/ac4868_868mhz_rf_transceiver.htm AC4848 product page]<br />
* [http://www.aerocomm.com/docs/Datasheet_AC4868_HI.pdf AC4868 Datasheet]<br />
* [http://www.aerocomm.com/docs/User_Manual_AC4868.pdf AC4868 user manual]<br />
<br />
== Radiotronix ==<br />
These Radiotronix modems are used in transparent mode. Use the WI232EUR Evaluation Software for configuring the modems for the set speed. Connect /CMD and CTS for programming. The DTS version for the US market might cause severe interference with GPS reception, it is not recommended. For a nice ground station modem just add a FTDI232 USB->serial cable, a 3.3V regulator with 100nF capacitors from supplies to ground, solder a SMA cable/connector and put it in a nice case. Make sure you only connect RTS to /CMD if you want to reprogram the modem with the Evaluation software (see the open jumper connection in the picture, green wire) and leave it floating otherwise as connected RTS/CTS sporadically leads to a reprogramming of the modem. The ANT-GXD105-FME/F from [http://www.roundsolutions.com Roundsolutions] was used as a ground station antenna at many competitions. Note that a 1/2 wave dipole antenna works best on-board as it doesn't require a ground-plane and has a reasonably omnidirectional radiation pattern.<br />
{|<br />
|<br />
=== WI232EUR ===<br />
* Frequency Band: 868 MHz (for Europe)<br />
* Output Power: 32 mW <br />
* RF Data Rate: Up to 76.8 kbps <br />
* Interface Data Rate: up to 115.2 kbps <br />
* Power Draw (typical): 65 mA TX / 20 mA RX <br />
* Supply Voltage: 3.3v<br />
* Range (typical, depends on antenna & environment): 500 meters line-of-sight <br />
* Dimensions: 24 x 21 x 4mm <br />
* Weight: ~2 grams<br />
* Interface: solder connector <br />
* Antenna: solder connector <br />
* Price: ~25$<br />
|<br />
[[Image:Wi232eur_wiring.jpg|thumb|WI232EUR Modem (picture shows connection to Tiny 1.1)]]<br />
|-<br />
|<br />
<br />
=== Pinout ===<br />
<br />
<br style="clear:both"><br />
<br />
{| border="1"<br />
|+ Wiring the WI232EUR to the Tiny v1.1<br />
|-valign="top"<br />
||'''''WI232 pins'''''||'''''Name'''''||'''''Tiny Serial-1'''''||'''''Notes'''''<br />
|-<br />
||6||TxD||7||''(Note 1)''<br />
|-<br />
||5||RxD||8||''(Note 1)''<br />
|-<br />
||15-18||GND||1|| - <br />
|-<br />
||19||VCC||2||+3.3v<br />
|-<br />
||4||/CMD||-||''(Note 2)''<br />
|-<br />
||7||CTS||-||''(Note 3)''<br />
|}<br />
''Note 1 : names are specified with respect to the Radiotronix module''<br />
<br />
''Note 2 : connect to RTS to program device with Evaluation software''<br />
<br />
''Note 3 : connect to CTS to program device with Evaluation software''<br />
<br />
|<br />
[[Image:Wi232eur_bopla.jpg|thumb|WI232EUR Modem in BOPLA case]]<br />
|-<br />
|<br />
|}<br />
=== Documentation ===<br />
* [http://www.radiotronix.com/datasheets/new/eur_um.pdf WI232EUR data sheet]<br />
* [http://www.radiotronix.com/datasheets/new/rk-eur_um.pdf WI232EUR user's manual]<br />
* [http://www.radiotronix.com/downloads/software/EUR/setup.exe Evaluation software]<br />
<br />
== Bluetooth ==<br />
These modems do not give you a great range but Bluetooth can be found in a lot of recent laptops built-in. Maybe not useful for fixed wing aircrafts it might be used for in-the-shop testing or quadcopters. Make sure you get a recent Class 1 EDR 2.0 stick if you buy one for your computer.<br />
{|<br />
|<br />
=== "Sparkfun" Roving Networks (WRL-08497) ===<br />
* Frequency Band 2.4GHz<br />
* Output Power 32 mW <br />
* RF Data Rate up to ~300 kbps in SPP<br />
* Interface Data Rate up to 921 kbps <br />
* Power Draw (typical) 50 mA TX / 40 mA RX <br />
* Supply Voltage 3.3v<br />
* Range (typical, depends on antenna & environment) 100 meters line-of-sight <br />
* Dimensions 26 x 13 x 2mm <br />
* Weight ~1.5 grams<br />
* Interface solder connector <br />
* price : ~45$<br />
|<br />
[[Image:roving_nw_wiring.jpg|thumb|Roving Networks modem wiring]]<br />
|-<br />
|<br />
<br />
To connect to it, get the MAC address of the bluetooth modem<br />
<br />
me@mybox:~$ hcitool scan<br />
Scanning ...<br />
00:06:66:00:53:AD FireFly-53AD<br />
<br />
either make a virtual connection to a Bluetooth serial port each time you connect<br />
<br />
sudo rfcomm bind 0 00:06:66:00:53:AD<br />
<br />
or configure it once in /etc/bluetooth/rfcomm.conf<br />
<br />
rfcomm0 {<br />
bind yes;<br />
device 00:06:66:00:53:AD;<br />
}<br />
<br />
now you can use Bluetooth as '''/dev/rfcomm0''' with the Paparazzi 'link'. You might need to restart 'link' in case you get out of range and it disconnects (tbd). Set the Tiny serial speed to 115200 as the modules come preconfigured to that.<br />
|}<br />
<br />
== Coronis WaveCard ==<br />
<br />
These relatively inexpensive and light modules implement a Coronis proprietary protocol. Low power consumption - high latency - I would not recommend these modules mostly because of the low quality of the distribution and support. The documentation is rather poor and not easily available.<br />
<br />
'''Suport for these modems has been removed from the airborne code on Dec 10th, 2007.'''<br />
{|<br />
|-valign="top"<br />
|<br />
* Frequency Band 400MHz, 868Mhz and 915MHz (3 versions)<br />
* Output Power 25mW and 500mW (2 versions)<br />
* Sensitivity -110 dBm (@ 9600 bps)<br />
* Data Rate 100 Kbps<br />
* Power Draw (typical) 45mA (25mW), 450mA (500mW) TX / 15 mA RX <br />
* Supply Voltage ...<br />
* Range (typical, depends on antenna & environment) Up to 1km (25mW) , 5km (500mW) line-of-sight <br />
* Dimensions 30 x 28 x 7mm (25mW), 37 x 30 x 7mm (500mW)<br />
* 50 ohm RF port for antenna connection<br />
|<br />
[[Image:wavecard.jpg|Coronis Wavecard]]<br />
|}<br />
<br />
=== Documentation ===<br />
<br />
* [http://www.coronis-systems.com/produit.php?lang=EN&id=WCA www.coronis-systems.com]<br />
* [[Media:CS-COM-SPRD-WAVECARD-E03B.pdf|Wavecard datasheet]]<br />
<br />
== Telemetry via Video Transmitter==<br />
<br />
[[Image:video_tx_small.jpg|thumb|2.4GHz Video Transmitter]]<br />
In order for the UAV to transmit video from an onboard camera, an analog video transmitter can be used. These vary in power, and thus range, and run normally on 2.4Ghz. Small UAVs can get about 600m of range from the 50mW version, and extended range can be achieved using units up to 1W. Weight for these units varies from a couple grams to about 30 for the 1W with shielding. Please check for your countries regulations on 2.4Ghz transmission, as each is different. <br />
<br />
It is possible to use the audio channel to send simple telemetry data to the groundstation. Uploading telemetry not possible via analog audio transmitter only.<br />
<br style="clear:both"><br />
<br />
== Antennas ==<br />
<br />
Here are some examples of lightweight and efficient 868MHz antennas developped by the RF laboratory at ENAC.<br />
[[Image:868mhz_twinstar_antenna_1.jpg|thumb|left|868MHz copper foil antenna attached to the aircraft tail]] <br />
[[Image:868mhz_twinstar_antenna_2.jpg|thumb|left|868MHz copper foil antenna bottom view]] <br />
[[Image:868mhz_ground_antenna.jpg|thumb|left|868MHz ground antenna]] <br />
<br style="clear:both"><br />
<br />
This wiki page might give some ideas about antennas: http://en.wikipedia.org/wiki/Dipole_antenna<br />
<br />
[[Category:Hardware]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=Modems&diff=9379Modems2011-05-23T18:40:39Z<p>Aerovista: /* GCS Adaptation */</p>
<hr />
<div>The Paparazzi autopilot features a 5V tolerant 3V TTL serial port to interface with any common radio modem. The bidirectional link provides real-time telemetry and in-flight tuning and navigation commands. The system is also capable overlaying the appropriate protocols to communicate thru non-transparent devices such as the Coronis Wavecard or Maxstream API-enabled products, allowing for hardware addressing for multiple aircraft or future enhancements such as data-relaying, inter-aircraft communication, RSSI signal monitoring and automatic in-flight modem power adjustment. Below is a list of some of the common modems used with Paparazzi, for details on configuring your modem see the [[Airframe_Configuration#Telemetry_.28Modem.29|Airframe Configuration]] and [[XBee_configuration|XBee Configuration]] pages.<br />
<br />
== Digi XBee modules ==<br />
<br />
Digi (formerly Maxstream) offers an increasing variety of Zigbee protocol modems well suited for Paparazzi in 2.4 GHz, 900MHz and 868Mhz frequencies. The "Pro" series are long range, up to 40km! Standard series are slightly smaller/lighter/lower power consumption and very short range. All versions are all pin compatible and weigh around 2 grams with wire antennas. All Digi modems can be operated in transparent mode (as a serial line replacement) or in "API mode" with hardware addressing, managed networking, and RSSI (signal strength) data with the Paparazzi "Xbee" option. Three antenna options are offered: the SMA version is ideal for ground modems, wire antennas for aircraft, and chip antennas for those with very limited space.<br />
<br />
* XBee (PRO) ZB (the current series)<br />
* XBee (PRO) ZNet 2.5 (formerly Series 2) (only legacy -> use XBee-PRO ZB)<br />
The XBee & XBee-PRO ZB share hardware (ember stack) with XBee & XBee-PRO ZNet 2.5. As a result, modules can be "converted" from one platform to another by loading different firmware onto a given module.<br />
<br />
These two also share the same hardware and can be converted from one to another by flashing a different firmware:<br />
* XBee-PRO 802.15.4 (formerly Series 1)<br />
* XBee-PRO DigiMesh 2.4<br />
<br />
'''Note: Modules based on Freescale chipset (formerly Series 1) are not compatible with Ember chipset based modules (Series 2).'''<br />
Also see the [http://www.jsjf.demon.co.uk/xbee/faq.htm| unofficial XBee FAQ] for this.<br />
<br />
See the [[XBee_configuration|XBee Configuration]] page. This [http://pixhawk.ethz.ch/tutorials/how_to_configure_xbee tutorial] is also good to configure and get started with XBee Pro.<br />
<br />
=== Module Comparison ===<br />
{|border="1"<br />
|-valign="top"<br />
||'''Module'''||'''Point-to-Multipoint'''||'''ZigBee/Mesh'''||'''Chipset'''|||'''Software stack'''||'''Frequency'''||'''TX Power normal/PRO'''||'''Notes'''<br />
|-<br />
|'''XBee ZB'''<br />
|<br />
|yes<br />
|Ember<br />
|EmberZNet PRO 3.1 (ZigBee 2007)<br />
|2.4 GHz<br />
|2mW/50mW<br />
|coordinator needed<br />
|-<br />
|'''XBee ZNet 2.5'''<br />
|<br />
|yes<br />
|Ember<br />
|EmberZNet 2.5 ZigBee<br />
|2.4 GHz<br />
|2mW/50mW<br />
|(only legacy -> use XBee-PRO ZB) coordinator needed<br />
|-<br />
|'''XBee DigiMesh 2.4'''<br />
|<br />
|yes<br />
|Freescale<br />
|<br />
|2.4 GHz<br />
|<br />
|all nodes equal (no special coordinators/routers/end-devices)<br />
|-<br />
|'''XBee 802.15.4'''<br />
|yes<br />
|<br />
|Freescale<br />
|<br />
|2.4 GHz<br />
|<br />
|<br />
|-<br />
|'''XBee-PRO 868'''<br />
|yes<br />
|<br />
|?<br />
|<br />
|868 MHz<br />
|500mW<br />
|Only High Power Frequency allowed in the UK. 2.4GHz limited to 10mW<br />
|}<br />
<br />
<br />
==== Comparison Conclusion ====<br />
<br />
(Copied from DIGI manual)<br />
<br />
''If the application strictly needs to communicate in a point-to-point or a point-to-multipoint <br />
fashion, 802.15.4 will be able handle all the communications between your devices and will <br />
be simpler to implement than trying to use a module with ZigBee firmware to accomplish the <br />
same goal. ZigBee is necessary if you need to use repeating or the mesh networking <br />
functionality.'' <br />
<br />
-Interpretation for paparazzi: if inter-aircraft communication is required one should go for the zigbee ZB series 2 modules. <br />
<br />
==== Pinout ====<br />
<br />
[[Image:Maxstream_Xbee_pinout.jpg|left|thumb|Maxstream XBee pinout]]<br />
<br style="clear:both"><br />
<br />
{|border="1"<br />
|-valign="top"<br />
||''Xbee 20-pin Header''||''Name''||''Notes''||''Suggested Color''||<br />
|-<br />
|1<br />
| +3.3v<br />
| Power<br />
|Red<br />
|-<br />
|2<br />
|DOUT<br />
|Tx output - connect to Autopilot Rx<br />
|Green<br />
|-<br />
|3<br />
|DIN<br />
|Rx input - connect to Autopilot Tx<br />
|Blue<br />
|-<br />
|10<br />
|GND<br />
| Ground<br />
|Black<br />
|}<br />
<br />
The image view is from above, top, thus NOT at the side where the connector pins come out<br />
<br />
Note : DTR and RTS need to be wired for upgrading firmware<br />
<br />
=== GCS Adaptation ===<br />
<br />
There are several vendors of hardware to connect the ground XBee radio modem to the GCS computer.<br />
<br />
====Adafruit====<br />
<br />
[[Image:xbeeadapter_LRG.jpg|thumb|left|Adafruit XBee adapter board]][[Image:xbeeadapterftdi_LRG.jpg|thumb|Adafruit XBee adapter with FTDI cable]]<br />
[http://www.adafruit.com/index.php?main_page=product_info&cPath=29&products_id=126 Adafruit] (yes, that really is their name) offers a great adapter board kit for the Xbee modules that includes a 5-3.3V voltage regulator, power and activity LEDs, and pins to connect directly to your FTDI cable for $10! Some assembly required.<br />
<br />
<br style="clear:both"><br />
<br />
====Droids====<br />
<br />
[[Image:XBee_Simple_Board.jpg|thumb|left|XBee Simple Board]]<br />
<br />
[[Image:XBee_USB_Board.jpg|thumb|left|XBee USB Board]]<br />
<br />
[http://www.droids.it/cmsvb4/content.php?143-990.001-XBee-Simple-Board XBee Simple Board]<br />
<br />
Simpler, lighter, smaller footprint, bit more expensive, comes assembled and tested. --GR<br />
<br />
<br />
[http://www.droids.it/cmsvb4/content.php?152-990.002-XBee-USB-Board XBee USB Board]<br />
<br />
For direct connection to USB (no FTDI cable required)<br />
<br />
<br style="clear:both"><br />
<br />
====PPZUAV====<br />
<br />
[[Image:FTDI_Utility_Board.jpg|thumb|left|FTDI Utility Board 1.0]]<br />
<br />
[https://mini.ppzuav.com/osc/product_info.php?cPath=13&products_id=111 ppzuav.com]<br />
<br />
FTDI Utility Board 1.0 (no FTDI cable required)<br />
<br />
<br style="clear:both"><br />
<br />
====Sparkfun====<br />
<br />
[[Image:XBee_Explorer_USB.jpg|thumb|left|XBee Explorer USB]]<br />
<br />
[http://www.sparkfun.com/products/8687 sparkfun.com]<br />
<br />
XBee Explorer USB (no FTDI cable required)<br />
<br />
<br style="clear:both"><br />
<br />
=== Digi XBee Pro DigiMesh / 802.15.4 ("Series 1") ===<br />
*Note: Products based on XBee ZNet 2.5 (formerly Series 2) modules do not communicate with products based on XBee DigiMesh / 802.15.4 (formerly Series 1) modules.<br />
<br />
These relatively cheap and light modules implement the [http://www.zigbee.org/en/index.asp ZigBee/IEEE 802.15.4] norm. They allow up to 1.6km (1 mile) range (Paparazzi tested to 2.5km (1.5 miles)). The main drawback of using such 2.4Ghz modules for datalink is that it will interfere with the 2.4Ghz analog video transmitters and a inevitable decrease in range when in proximity to any wifi devices. For the plane, get the whip antenna version if you are not planning to build a custom antenna.<br />
<br />
{|<br />
|-valign="top"<br />
|[[Image:Xbee_Pro_USB_RF_Modem.jpg|thumb|left|XBee Pro USB Stand-alone Modem (XBP24-PKC-001-UA)]]<br />
|<br />
* Frequency Band 2.4Ghz<br />
* Output Power 100mW (Xbee Pro)<br />
* Sensitivity -100 dBm <br />
* RF Data Rate Up to 250 Kbps<br />
* Interface data rate Up to 115.2 Kbps<br />
* Power Draw (typical) 214 mA TX / 55 mA RX <br />
* Supply Voltage 3.3v<br />
* Range (typical, depends on antenna & environment) Up to 1500m line-of-sight <br />
* Dimensions 24 x 33mm<br />
* Weight 4 grams<br />
* Interface 20-pin mini connector <br />
* Chip antenna, ¼ monopole integrated whip antenna or a U.FL antenna connector (3 versions)<br />
* Price: Approximately $32<br />
|<br />
[[Image:XBee_pro.jpg|thumb|left|XBee Pro OEM Modem]]<br />
|}<br />
Mouser: [http://au.mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMtJacPDJcUJYzVn8vIv7g2fIpf5DCzJqko%3d 888-XBP24-PKC-001-UA]<br><br />
NOTE: If you wish to use this unit with another XBee type other than the 802.15.4 (i.e. XBee-PRO ZB) then purchase a modem with the U.fl connector.<br />
<br />
==== Documentation ====<br />
<br />
* [http://www.maxstream.net/products/xbee/xbee-pro-oem-rf-module-zigbee.php product page]<br />
* [http://www.maxstream.net/products/xbee/datasheet_XBee_OEM_RF-Modules.pdf datasheet]<br />
* [http://www.maxstream.net/products/xbee/product-manual_XBee_OEM_RF-Modules.pdf user manual]<br />
* To program your Xbee you need X-CTU you can download it [http://www.digi.com/support/productdetl.jsp?pid=3352&osvid=57&tp=5&s=316 here]. (only windows)<br />
* explanation on X-CTU [http://www.ladyada.net/make/xbee/configure.html here].<br />
* [http://ftp1.digi.com/support/firmware/update/xbee/ Drivers for XB24 and XBP24 modules]<br />
<br />
=== Digi XBee Pro ZB / ZNet 2.5 ("Series 2") ===<br />
<br />
The low-power XBee ZB and extended-range XBee-PRO ZB use the ZigBee PRO Feature Set for advanced mesh networking.<br />
<br />
{|<br />
|-valign="top"<br />
|[[Image:XBee_Pro_2SB.jpg|thumb|left|Digi XBee Pro ZB]]<br />
|<br />
* Low-cost, low-power mesh networking<br />
* Interoperability with ZigBee PRO Feature Set devices from other vendors*<br />
* Support for larger, more dense mesh networks<br />
* 128-bit AES encryption<br />
* Frequency agility<br />
* Over-the-air firmware updates (change firmware remotely)<br />
* ISM 2.4 GHz operating frequency<br />
* XBee: 2 mW (+3 dBm) power output (up to 400 ft RF LOS range)<br />
* XBee-PRO: 50 mW (+17 dBm) power output (up to 1 mile RF LOS range)<br />
* RPSMA connector, U.FL connector, Chip antenna, or Wired Whip antenna<br />
* price : ~34 USD<br />
|<br />
|}<br />
These are available from Mouser:<br><br />
[http://au.mouser.com/Search/Refine.aspx?Keyword=888-XBP24-Z7WIT-004 888-XBP24-Z7WIT-004] XBee-PRO ZB with whip antenna<br><br />
[http://au.mouser.com/Search/Refine.aspx?Keyword=XBP24-Z7SIT-004 888-XBP24-Z7SIT-004] XBee-PRO ZB with RPSMA<br />
<br />
See [[XBee_configuration|XBee Configuration]] for setup.<br />
<br />
==== Documentation ====<br />
* [http://www.digi.com/products/wireless/zigbee-mesh/xbee-zb-module.jsp http://www.digi.com/products/wireless/zigbee-mesh/xbee-zb-module.jsp]<br />
<br />
=== Digi XBee Pro 868 ===<br />
<br />
'''WARNING - THESE MODEMS HAVE A 10% DUTY CYCLE, AND CURRENTLY HAVE SEVERE ISSUES WITH PAPARAZZI'''<br />
<br />
868MHz is a limited band. Please read the [[868MHz Issues]]<br />
<br />
XBee-PRO 868 modules are long range embedded RF modules for European applications. Purpose-built for exceptional RF performance, XBee-PRO 868 modules are ideal for applications with challenging RF environments, such as urban deployments, or where devices are several kilometers apart.<br />
<br />
<br />
{|<br />
|-valign="top"<br />
|[[Image:xbeeproxsc-rpsma.jpg|thumb|left|Maxstream XBee Pro 868]]<br />
|<br />
* 868 MHz short range device (SRD) G3 band for Europe<br />
* Software selectable Transmit Power<br />
* 40 km RF LOS w/ dipole antennas<br />
* 80 km RF LOS w/ high gain antennas (TX Power reduced)<br />
* Simple to use peer-to-peer/point-to-mulitpoint topology<br />
* 128-bit AES encryption<br />
* 500 mW EIRP<br />
* 24 kbps RF data rate<br />
* price : ~70 USD<br />
|<br />
|}<br />
<br />
See [[XBee_configuration#XBee_Pro_868_MHZ|XBee Configuration]] for setup.<br />
<br />
==== Documentation ====<br />
* [http://www.digi.com/products/wireless/point-multipoint/xbee-pro-868.jsp http://www.digi.com/products/wireless/point-multipoint/xbee-pro-868.jsp]<br />
<br />
=== Digi XBee Pro XSC 900MHz ===<br />
<br />
Maxstream has recently announced a promising new line of modems combining the small size and low cost of their popular Xbee line with the long range and 2.4 GHz video compatibility of their high end 900 MHz models. Sounds like the perfect modem for anyone who can use 900 MHz. Give them a try and post your results here!<br />
{|<br />
|-valign="top"<br />
|[[Image:xbeeproxsc-rpsma.jpg|thumb|left|Maxstream XBee Pro XSC]]<br />
|<br />
* Frequency Band 900 MHz<br />
* Output Power 100 mW (+20 dBm)<br />
* Sensitivity -100 dBm <br />
* Data Rate: 9600 bps<br />
* Range (typical, depends on antenna & environment) Up to 24km (15 miles) line-of-sight <br />
* Interface 20-pin mini connector (Xbee compatible pinout)<br />
* RPSMA, integrated whip antenna or U.FL antenna connector (3 versions)<br />
* price : ~75 USD<br />
|<br />
|}<br />
<br />
==== Documentation ====<br />
* [http://www.digi.com/products/wireless/point-multipoint/xbee-pro-xsc.jsp http://www.digi.com/products/wireless/point-multipoint/xbee-pro-xsc.jsp]<br />
==== Trials ====<br />
Tested one today and it worked great. Going to try a multiUAV test with it soon<br />
--Danstah<br />
<br><br />
<br><br />
MultiUAV tests concluded this is probably not the best module to use. Even though it says you can change the baudrate inside x-ctu that is not the case, it is fixed at 9600 bps. This is a great modem however for single UAV's and I do recommend.<br />
--Danstah<br />
<br><br />
<br><br />
Why would the European (868 MHz) be good to 24kbps and this only to 9600? When I was altering my XBees (2.4Ghz Pro's) I had this problem altering baud rates until I read you have to send a "commit and reboot" type command after setting the baud rate. Could this be the case? --GR<br />
<br />
== Maxstream 9XTend ==<br />
<br />
These larger units have been tested on the 900Mhz band, but are also available in 2.4Ghz. They are a bit on the heavy side, about 20 grams, but give good performance at range. They have adjustable transmit power settings from 100mW to 1W. Testing has shown range up to 5.6km (3.5 Miles) with XTend set to 100mW with small 3.1dB dipole antenna.<br />
<br />
{|<br />
|-valign="top"<br />
|<br />
[[Image:XTend_USB_RF_Modem.jpg|frame|left|9XTend USB Modem]]<br />
|<br />
* Frequency Band 900Mhz and 2.4Ghz (2 versions)<br />
* Output Power 1mW to 1W software selectable<br />
* Sensitivity -110 dBm (@ 9600 bps)<br />
* RF Data Rate 9.6 or 115.2 Kbps<br />
* Interface data rate up to 230.4 Kbps<br />
* Power Draw (typical) 730 mA TX / 80 mA RX <br />
* Supply Voltage 2.8 to 5.5v<br />
* Range (typical, depends on antenna & environment) Up to 64km line-of-sight <br />
* Dimensions 36 x 60 x 5mm<br />
* Weight 18 grams<br />
* Interface 20-pin mini connector <br />
* RF connector RPSMA (Reverse-polarity SMA) or MMCX (2 versions)<br />
* price : ~179 USD<br />
|<br />
[[Image:Xtend_module.jpg|frame|left|9XTend OEM Modem]]<br />
|}<br />
<br />
=== Pinout ===<br />
<br />
[[Image:Maxstream_9XTend_Pinout.gif|thumb|left|Maxstream 9XTend Pinout]]<br />
<br />
{| border="1"<br />
|-valign="top"<br />
||'''''9XTend 20-pin Header'''''||'''''Name'''''||'''''Tiny Serial-1 Header'''''||'''''Notes'''''<br />
|-<br />
||1||GND||1 (GND)||Ground <br />
|-<br />
||2||VCC||2 (5V)||5V power (150mA - 730mA Supplied from servo bus or other 5V source)<br />
|-<br />
||5||RX||8 (TX)||3-5V TTL data input - connect to Tiny TX<br />
|-<br />
||6||TX||7 (RX)||5V TTL data output - connect to Tiny RX<br />
|-<br />
||7||Shutdown||2||This pin must be connected to the 5V bus for normal operation<br />
|}<br />
Notes:<br><br />
* 9XTend can run on voltages as low as 2.8V but users are strongly advised against connecting any modem (especially high power models) to the sensitive 3.3V bus supplying the autopilot processor and sensors.<br />
<br style="clear:both"><br />
<br />
=== Documentation ===<br />
<br />
* [http://www.maxstream.net/products/xtend/oem-rf-module.php product page]<br />
* [http://www.maxstream.net/products/xtend/datasheet_XTend_OEM_RF-Module.pdf datasheet]<br />
* [http://www.maxstream.net/products/xtend/product-manual_XTend_OEM_RF-Module.pdf user manual]<br />
<br />
== Aerocomm ==<br />
Aerocomm's API mode is already implemented but some system integration is required. Full API more with addressed packets works well and was tested with AC4790-1x1 5mW low power modules. Maximim range achieved with a whip quater-wave antenna was 1Km.<br />
<br />
How to use this modem on ground station side? [http://paparazzi.enac.fr/wiki/index.php/User:SilaS#SDK-AC4868-250_ground_modem_part]<br />
<br />
See folder paparazzi3 / trunk / sw / aerocomm. It has all the required files to use this modem on the airborne and ground station side. The link.ml file is a direct replacement of the "main" link.ml file of the ground sttaion and will be merged into it in the future.. or you can do it as well.<br />
<br />
<br />
{|<br />
|<br />
=== AC4868-250 ===<br />
* Frequency Band 868MHz (For Europe). 868MHz is a limited band. Please read the [[868MHz Issues]]<br />
* Output Power (w/ 2dBi antenna) 250 mW <br />
* Sensitivity (@ full RF data rate) -103 dB <br />
* RF Data Rate Up to 28.8 Kbps <br />
* INterface Data Rate Up to 57.6 Kbps <br />
* Power Draw (typical) 240 mA TX / 36 mA RX <br />
* Supply Voltage 3.3v & 5V or 3.3v only<br />
* Range (typical, depends on antenna & environment) Up to 15 kilometers line-of-sight <br />
* Dimensions 49 x 42 x 5mm <br />
* Weight < 21 grams<br />
* Interface 20-pin mini connector <br />
* Antenna MMCX jack Connector <br />
* price : ~80$<br />
|<br />
[[Image:ConnexLink_USB_RF_Modem.jpg|thumb|Aerocomm USB Stand-alone Modem]]<br />
|-<br />
|<br />
<br />
=== AC4790-200 ===<br />
* Frequency 902-928MHz (North America, Australia, etc).<br />
* Output Power 5-200mW<br />
* Sensitivity (@ full RF data rate) -110dB<br />
* RF Data Rate up to 76.8 Kbps<br />
* INterface Data Rate Up to Up to 115.2 Kbps <br />
* Power Draw (typical) 68 mA<br />
* Supply Voltage 3.3v & 5.5V<br />
* Range (typical, depends on antenna & environment) Up to 6.4 kilometers line-of-sight <br />
* Dimensions 42 x 48 x 5mm <br />
* Weight < 20 grams<br />
* Interface 20-pin mini connector <br />
* Antenna MMCX jack Connector or internal<br />
* price : ~80$<br />
|<br />
[[Image:ac4868_transceiver.jpg|thumb|left|AC4868 OEM Modem]]<br />
|<br />
|-<br />
|<br />
<br />
=== AC4790-1000 ===<br />
* Frequency 902-928MHz (North America, Australia, etc).<br />
* Output Power 5-1000mW<br />
* Sensitivity (@ full RF data rate) -99dB<br />
* RF Data Rate up to 76.8 Kbps<br />
* INterface Data Rate Up to Up to 115.2 Kbps <br />
* Power Draw (typical) 650 mA<br />
* Supply Voltage 3.3V only<br />
* Range (typical, depends on antenna & environment) Up to 32 kilometers with high-gain antenna<br />
* Dimensions 42 x 48 x 5mm <br />
* Weight < 20 grams<br />
* Interface 20-pin mini connector <br />
* Antenna MMCX jack Connector<br />
* price : ~80$<br />
|}<br />
<br />
=== Pinout ===<br />
<br />
[[Image:Aerocomm_AC4868_pinout.jpg|thumb|left|Aerocomm AC4868 modem pinout]]<br />
[[Image:Aerocomm_AC4490-200_wired.jpg|thumb|left|Aerocomm AC4490 wiring example]]<br />
<br style="clear:both"><br />
<br />
{| border="1"<br />
|+ Wiring the Aerocomm AC4868 to the Tiny<br />
|-valign="top"<br />
||'''''AC4868 20-pin Header'''''||'''''Name'''''||'''''Color'''''||'''''Tiny v1.1 Serial-1'''''||'''''Tiny v2.11 Serial'''''||'''''Notes'''''<br />
|-<br />
||2||Tx||green||7||7||''(Note 1)''<br />
|-<br />
||3||Rx||blue||8||8||''(Note 1)''<br />
|-<br />
||5||GND||black||1||1|| -<br />
|-<br />
||10+11||VCC||red||2||3||+3.3v<br />
|-<br />
||17||C/D||white||3||?||Low = Command High = Data<br />
|}<br />
''Note 1 : names are specified with respect to the AEROCOMM module''<br />
<br />
=== Documentation ===<br />
* [http://www.aerocomm.com/rf_transceiver_modules/ac4790_mesh-ready_transceiver.htm AC4790 product page]<br />
* [http://www.aerocomm.com/docs/Datasheet_AC4790_HI.pdf AC4790 Datasheet]<br />
* [http://www.aerocomm.com/docs/User_Manual_AC4790.pdf AC4790 Manual]<br />
* [http://www.aerocomm.com/rf_transceiver_modules/ac4868_868mhz_rf_transceiver.htm AC4848 product page]<br />
* [http://www.aerocomm.com/docs/Datasheet_AC4868_HI.pdf AC4868 Datasheet]<br />
* [http://www.aerocomm.com/docs/User_Manual_AC4868.pdf AC4868 user manual]<br />
<br />
== Radiotronix ==<br />
These Radiotronix modems are used in transparent mode. Use the WI232EUR Evaluation Software for configuring the modems for the set speed. Connect /CMD and CTS for programming. The DTS version for the US market might cause severe interference with GPS reception, it is not recommended. For a nice ground station modem just add a FTDI232 USB->serial cable, a 3.3V regulator with 100nF capacitors from supplies to ground, solder a SMA cable/connector and put it in a nice case. Make sure you only connect RTS to /CMD if you want to reprogram the modem with the Evaluation software (see the open jumper connection in the picture, green wire) and leave it floating otherwise as connected RTS/CTS sporadically leads to a reprogramming of the modem. The ANT-GXD105-FME/F from [http://www.roundsolutions.com Roundsolutions] was used as a ground station antenna at many competitions. Note that a 1/2 wave dipole antenna works best on-board as it doesn't require a ground-plane and has a reasonably omnidirectional radiation pattern.<br />
{|<br />
|<br />
=== WI232EUR ===<br />
* Frequency Band: 868 MHz (for Europe)<br />
* Output Power: 32 mW <br />
* RF Data Rate: Up to 76.8 kbps <br />
* Interface Data Rate: up to 115.2 kbps <br />
* Power Draw (typical): 65 mA TX / 20 mA RX <br />
* Supply Voltage: 3.3v<br />
* Range (typical, depends on antenna & environment): 500 meters line-of-sight <br />
* Dimensions: 24 x 21 x 4mm <br />
* Weight: ~2 grams<br />
* Interface: solder connector <br />
* Antenna: solder connector <br />
* Price: ~25$<br />
|<br />
[[Image:Wi232eur_wiring.jpg|thumb|WI232EUR Modem (picture shows connection to Tiny 1.1)]]<br />
|-<br />
|<br />
<br />
=== Pinout ===<br />
<br />
<br style="clear:both"><br />
<br />
{| border="1"<br />
|+ Wiring the WI232EUR to the Tiny v1.1<br />
|-valign="top"<br />
||'''''WI232 pins'''''||'''''Name'''''||'''''Tiny Serial-1'''''||'''''Notes'''''<br />
|-<br />
||6||TxD||7||''(Note 1)''<br />
|-<br />
||5||RxD||8||''(Note 1)''<br />
|-<br />
||15-18||GND||1|| - <br />
|-<br />
||19||VCC||2||+3.3v<br />
|-<br />
||4||/CMD||-||''(Note 2)''<br />
|-<br />
||7||CTS||-||''(Note 3)''<br />
|}<br />
''Note 1 : names are specified with respect to the Radiotronix module''<br />
<br />
''Note 2 : connect to RTS to program device with Evaluation software''<br />
<br />
''Note 3 : connect to CTS to program device with Evaluation software''<br />
<br />
|<br />
[[Image:Wi232eur_bopla.jpg|thumb|WI232EUR Modem in BOPLA case]]<br />
|-<br />
|<br />
|}<br />
=== Documentation ===<br />
* [http://www.radiotronix.com/datasheets/new/eur_um.pdf WI232EUR data sheet]<br />
* [http://www.radiotronix.com/datasheets/new/rk-eur_um.pdf WI232EUR user's manual]<br />
* [http://www.radiotronix.com/downloads/software/EUR/setup.exe Evaluation software]<br />
<br />
== Bluetooth ==<br />
These modems do not give you a great range but Bluetooth can be found in a lot of recent laptops built-in. Maybe not useful for fixed wing aircrafts it might be used for in-the-shop testing or quadcopters. Make sure you get a recent Class 1 EDR 2.0 stick if you buy one for your computer.<br />
{|<br />
|<br />
=== "Sparkfun" Roving Networks (WRL-08497) ===<br />
* Frequency Band 2.4GHz<br />
* Output Power 32 mW <br />
* RF Data Rate up to ~300 kbps in SPP<br />
* Interface Data Rate up to 921 kbps <br />
* Power Draw (typical) 50 mA TX / 40 mA RX <br />
* Supply Voltage 3.3v<br />
* Range (typical, depends on antenna & environment) 100 meters line-of-sight <br />
* Dimensions 26 x 13 x 2mm <br />
* Weight ~1.5 grams<br />
* Interface solder connector <br />
* price : ~45$<br />
|<br />
[[Image:roving_nw_wiring.jpg|thumb|Roving Networks modem wiring]]<br />
|-<br />
|<br />
<br />
To connect to it, get the MAC address of the bluetooth modem<br />
<br />
me@mybox:~$ hcitool scan<br />
Scanning ...<br />
00:06:66:00:53:AD FireFly-53AD<br />
<br />
either make a virtual connection to a Bluetooth serial port each time you connect<br />
<br />
sudo rfcomm bind 0 00:06:66:00:53:AD<br />
<br />
or configure it once in /etc/bluetooth/rfcomm.conf<br />
<br />
rfcomm0 {<br />
bind yes;<br />
device 00:06:66:00:53:AD;<br />
}<br />
<br />
now you can use Bluetooth as '''/dev/rfcomm0''' with the Paparazzi 'link'. You might need to restart 'link' in case you get out of range and it disconnects (tbd). Set the Tiny serial speed to 115200 as the modules come preconfigured to that.<br />
|}<br />
<br />
== Coronis WaveCard ==<br />
<br />
These relatively inexpensive and light modules implement a Coronis proprietary protocol. Low power consumption - high latency - I would not recommend these modules mostly because of the low quality of the distribution and support. The documentation is rather poor and not easily available.<br />
<br />
'''Suport for these modems has been removed from the airborne code on Dec 10th, 2007.'''<br />
{|<br />
|-valign="top"<br />
|<br />
* Frequency Band 400MHz, 868Mhz and 915MHz (3 versions)<br />
* Output Power 25mW and 500mW (2 versions)<br />
* Sensitivity -110 dBm (@ 9600 bps)<br />
* Data Rate 100 Kbps<br />
* Power Draw (typical) 45mA (25mW), 450mA (500mW) TX / 15 mA RX <br />
* Supply Voltage ...<br />
* Range (typical, depends on antenna & environment) Up to 1km (25mW) , 5km (500mW) line-of-sight <br />
* Dimensions 30 x 28 x 7mm (25mW), 37 x 30 x 7mm (500mW)<br />
* 50 ohm RF port for antenna connection<br />
|<br />
[[Image:wavecard.jpg|Coronis Wavecard]]<br />
|}<br />
<br />
=== Documentation ===<br />
<br />
* [http://www.coronis-systems.com/produit.php?lang=EN&id=WCA www.coronis-systems.com]<br />
* [[Media:CS-COM-SPRD-WAVECARD-E03B.pdf|Wavecard datasheet]]<br />
<br />
== Telemetry via Video Transmitter==<br />
<br />
[[Image:video_tx_small.jpg|thumb|2.4GHz Video Transmitter]]<br />
In order for the UAV to transmit video from an onboard camera, an analog video transmitter can be used. These vary in power, and thus range, and run normally on 2.4Ghz. Small UAVs can get about 600m of range from the 50mW version, and extended range can be achieved using units up to 1W. Weight for these units varies from a couple grams to about 30 for the 1W with shielding. Please check for your countries regulations on 2.4Ghz transmission, as each is different. <br />
<br />
It is possible to use the audio channel to send simple telemetry data to the groundstation. Uploading telemetry not possible via analog audio transmitter only.<br />
<br style="clear:both"><br />
<br />
== Antennas ==<br />
<br />
Here are some examples of lightweight and efficient 868MHz antennas developped by the RF laboratory at ENAC.<br />
[[Image:868mhz_twinstar_antenna_1.jpg|thumb|left|868MHz copper foil antenna attached to the aircraft tail]] <br />
[[Image:868mhz_twinstar_antenna_2.jpg|thumb|left|868MHz copper foil antenna bottom view]] <br />
[[Image:868mhz_ground_antenna.jpg|thumb|left|868MHz ground antenna]] <br />
<br style="clear:both"><br />
<br />
This wiki page might give some ideas about antennas: http://en.wikipedia.org/wiki/Dipole_antenna<br />
<br />
[[Category:Hardware]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=XBee_configuration&diff=9377XBee configuration2011-05-22T13:15:30Z<p>Aerovista: /* XBee Pro 802.15.4 (AT command set) */</p>
<hr />
<div>Paparazzi supports the following modem protocols:<br />
* Standard transparent serial (pprz protocol, AT mode) - this is compatible with all modems and can be used to connect the autopilot directly to a PC for testing without a modem.<br />
* Digi (formerly Maxstream) API protocol (xbee) - compatible with all Digi modems including the 9XTend and Zigbee. This protocol enables hardware addressing through API mode, allowing multiple aircraft to be managed from a single ground modem.<br />
<br/><br />
<br />
== Introduction ==<br />
<br />
=== Installation of X-CTU ===<br />
The simples way to configure the XBee modems is to use the [http://www.digi.com/support/kbase/kbaseresultdetl.jsp?kb=125 X-CTU] software from Digi. It runs under Windows or under Wine.<br />
<br />
Under Wine make sure you have the USB serial link connecting to XBee mapped to a com port:<br />
<br />
sudo ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com4<br />
<br />
=== Configuring XBee AT mode using X-CTU ===<br />
This is the recommended way to start. With this firmware the modems basically act as a serial link replacement and don't do any mesh networking. The pprz protocol is based on this mode.<br />
<br/><br />
Basic approach:<br />
# Connect your XBee to your PC. There are several vendors of [[Modems#GCS_Adaptation|USB boards]].<br />
# Start the X-CTU programm and go to the modem configuration.<br />
# Click on READ<br />
# Select the appropriate function set with AT command set.<br />
# set PAN ID, etc... depending on which XBee you use<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly. At a higher baudrate setting, transmission can only be done in one direction.<br />
# Then write the firmware to the module.<br />
<br />
=== Configuring XBee using minicom ===<br />
<br />
Alternatively you can use the text-based modem control and terminal emulation program [http://en.wikipedia.org/wiki/Minicom minicom] instead of X-CTU to configure your XBee:<br />
<br />
# Connect XBee to your computer<br />
# Setup minicom (by default XBee modems come set up for 9600 baud)<br />
# Type Ctrl-A A in minicom this will set it up to add linefeeds to the stream<br />
# Type three '+' in quick succession resulting in "+++" string (you have 10s to type your next command otherwise the modem will revert back to transparent mode)<br />
#* you get a confirmation: 'OK'<br />
# Type "AT<enter>"<br />
#* you get a confirmation: 'OK'<br />
# Type "ATBD<enter>"<br />
#* you get the baudrate code: '3'<br />
# To set another baudrate select one of the following by typing "ATBD <baud code><enter>"<br />
#* 0 = 1200<br />
#* 1 = 2400<br />
#* 2 = 4800<br />
#* 3 = 9600<br />
#* 4 = 19200to connect the ground XBee radio modem to the GCS computer<br />
#* 5 = 38400<br />
#* 6 = 57600<br />
#* 7 = 115200<br />
# To store the new baudrate in the rom type "ATWR<enter>"<br />
# Now you can close minicom<br />
# Reconnect modem<br />
# Restart minicom with the new baudrate<br />
# Test that the modem is setup correctly by tiping "+++" and getting "OK" confirmation<br />
<br />
== XBee Pro ZB (AT command set) ==<br />
This 2.4GHz modem uses ZigBee PRO Feature Set and is compatible with devices from other vendors using the ZigBee PRO Feature Set.<br />
<br />
=== Flashing the airborne module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZIGBEE END DEVICE AT''' (or ZIGBEE ROUTER AT).<br />
# Set the PAN ID to any number, must be the same as the pan id of the coordinator (Ground Station).<br />
# Set the Node Identifier (NI) to your aircraft name or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Flashing the ground station module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZIGBEE COORDINATOR AT'''.<br />
# Set the PAN ID to any number, must be the same as the pan id of the end device (aircraft).<br />
# Set the Node Identifier (NI) to PPRZ_GROUND or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
== XBee Pro ZNet 2.5 (AT command set) ==<br />
These are legacy modems and not recommended/sold by Digi anymore.<br />
It is recommended to upgrade these to XBee Pro ZB with the [ftp://ftp1.digi.com/support/images/ZNet%202.5%20to%20ZB%20Conversion%20Kit.zip ZNet 2.5 to ZB Conversion Kit] from Digi.<br />
<br/><br />
If you want to use ZNet 2.5 feature set nevertheless, here is how to configure it:<br />
<br />
=== Flashing the airborne module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZNET 2.5 ROUTER/END DEVICE AT'''.<br />
# Set the PAN ID to any number, must be the same as the pan id of the coordinator (Ground Station).<br />
# Set the Node Identifier (NI) to your aircraft name or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Flashing the ground station module ===<br />
# Connect your XBee, start X-CTU, click READ<br />
# Select the function set '''ZNET 2.5 COORDINATOR DEVICE AT'''.<br />
# Set the Destination Address Low (DL) to FFFF.<br />
# Set the PAN ID to any number, must be the same as the pan id of the end device (aircraft).<br />
# Set the Node Identifier (NI) to PPRZ_GROUND or any other appropriate name.<br />
# Set the baudrate you want to use. 57600 is the maximum baudrate setting for bidirectional transfers to work correctly.<br />
# Then write the firmware to the module.<br />
<br />
=== Setup ===<br />
<br />
For the ZigBee ZNet 2.5 and ZB modules to work one of the modules has to be flashed with the coordinator firmware. All the others in the same PAN can either run as routers or end-devices.<br />
* Flash one module (ground station) with the coordinator AT firmware<br />
* Flash aircraft module with router or end-device AT firmware<br />
To allow modules to join any PAN set the PAN ID to zero (default setting). Then the coordinator will generate a random PAN ID and routers and end-devices will join the first PAN they find.<br />
<br />
If you operate in an environment with multiple zigbee PANs it is recommended to set the PAN ID explicitly:<br />
* Set PAN ID to some unique (but same) ID on both modules<br />
* Set a Node Identifier for each module (e.g. ground, aircraft)<br />
<br />
=== Reviving a non-responding Xbee Pro ===<br />
<br />
To bring an apparently dead XBee Pro Series 2 back to life, do the following:<br />
<br />
#Connect the USB device that holds the XBee to your laptop/desktop (without the XBee connected).<br />
#Open X-CTU.<br />
#In the tab used to program the device, select the proper modem (normally you would do a READ to get the values).<br />
#Choose the option you want to program (i.e., "END DEVICE" or "COORDINATOR") as if you were programming it.<br />
#With the XBee not in the device, click "WRITE". It will hang, timeout, and bring up a dialog box.<br />
#Before you click OK to the dialog box, plug in the XBee module (carefully).<br />
#Click OK to clear the message and it should start programming automatically.<br />
<br />
=== Other tutorials ===<br />
<br />
[http://pixhawk.ethz.ch/tutorials/how_to_configure_xbee PixHawk: HowTo configure XBee]<br />
<br />
[http://wiki.openpilot.org/display/Doc/XBee+RF+modems openpilot: XBee RF modems]<br />
<br />
== XBee Pro DigiMesh / 802.15.4 ("Series 1") ==<br />
<br />
== XBee Pro 868 MHZ ==<br />
<br />
=== Getting Them Working ===<br />
Even with the xbee868.xml telemetry file, XBee868s will not last over 6 minutes. There is a special 868 build flag (in slayer1.xml), and matching option for the datalink but I could not get this to work. Eventually, I got them to work for about 20 minutes, which happily is the flight endurance of a heavily overloaded GWS Formosa.<br />
<br />
I did this using a command window, but you could use X-CTU if you are a wuss or have Windows handy.<br />
<br />
#Attach Xbee and start serial comm program (I use <code>screen /dev/ttyUSB0 &lt;baud rate, just a number, no angled brackets&gt;</code>, you can also use pico- or microcom)<br />
#Type AT and enter. You should get an OK back.<br />
#ATMT and enter. You should get a number&mdash;this represents the number of extra times each packet will be broadcast. We now need to change this to zero.<br />
#ATMT0 and enter => OK<br />
#ATRR and enter. This number is the number of retries that will be sent if an ACK is not received. Disabling this will also have the side effect of disabling ACKs, giving us more packets to play with.<br />
#ATRR0 and enter => OK<br />
#Type ATWR to store the new stuff in the firmware. You should get an OK.<br />
#Set the datalink to transparent mode both in your airframe file and on the datalink.<br />
<br />
You may also want to drop the power level to 1mW for testing, or it won't actually work - they are just too damn powerful to talk to each other at a range of a couple of feet. I also used 1mW for flying - never lost the link, even after a mile. Didn't get round to range testing them though. <br />
<br />
You probably want to do this to both XBees (at least I did). I personally had the baud rate at 57600 for legacy reasons, but it should work just as well at any other baud rate. '''Thanks to CheBuzz for this info''', and for helping me work all this out at 11pm the night before EMAV09.<br />
<br />
== XBee Pro XSC (900MHZ) ==<br />
<br />
== Configuring XBee API mode (xbee protocol) ==<br />
<br />
[[Category:Hardware]] [[Category:User_Documentation]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=Modems&diff=9376Modems2011-05-22T13:13:31Z<p>Aerovista: /* Digi XBee Pro ZB / ZNet 2.5 ("Series 2") */</p>
<hr />
<div>The Paparazzi autopilot features a 5V tolerant 3V TTL serial port to interface with any common radio modem. The bidirectional link provides real-time telemetry and in-flight tuning and navigation commands. The system is also capable overlaying the appropriate protocols to communicate thru non-transparent devices such as the Coronis Wavecard or Maxstream API-enabled products, allowing for hardware addressing for multiple aircraft or future enhancements such as data-relaying, inter-aircraft communication, RSSI signal monitoring and automatic in-flight modem power adjustment. Below is a list of some of the common modems used with Paparazzi, for details on configuring your modem see the [[Airframe_Configuration#Telemetry_.28Modem.29|Airframe Configuration]] and [[XBee_configuration|XBee Configuration]] pages.<br />
<br />
== Digi XBee modules ==<br />
<br />
Digi (formerly Maxstream) offers an increasing variety of Zigbee protocol modems well suited for Paparazzi in 2.4 GHz, 900MHz and 868Mhz frequencies. The "Pro" series are long range, up to 40km! Standard series are slightly smaller/lighter/lower power consumption and very short range. All versions are all pin compatible and weigh around 2 grams with wire antennas. All Digi modems can be operated in transparent mode (as a serial line replacement) or in "API mode" with hardware addressing, managed networking, and RSSI (signal strength) data with the Paparazzi "Xbee" option. Three antenna options are offered: the SMA version is ideal for ground modems, wire antennas for aircraft, and chip antennas for those with very limited space.<br />
<br />
* XBee (PRO) ZB (the current series)<br />
* XBee (PRO) ZNet 2.5 (formerly Series 2) (only legacy -> use XBee-PRO ZB)<br />
The XBee & XBee-PRO ZB share hardware (ember stack) with XBee & XBee-PRO ZNet 2.5. As a result, modules can be "converted" from one platform to another by loading different firmware onto a given module.<br />
<br />
These two also share the same hardware and can be converted from one to another by flashing a different firmware:<br />
* XBee-PRO 802.15.4 (formerly Series 1)<br />
* XBee-PRO DigiMesh 2.4<br />
<br />
'''Note: Modules based on Freescale chipset (formerly Series 1) are not compatible with Ember chipset based modules (Series 2).'''<br />
Also see the [http://www.jsjf.demon.co.uk/xbee/faq.htm| unofficial XBee FAQ] for this.<br />
<br />
See the [[XBee_configuration|XBee Configuration]] page. This [http://pixhawk.ethz.ch/tutorials/how_to_configure_xbee tutorial] is also good to configure and get started with XBee Pro.<br />
<br />
=== Module Comparison ===<br />
{|border="1"<br />
|-valign="top"<br />
||'''Module'''||'''Point-to-Multipoint'''||'''ZigBee/Mesh'''||'''Chipset'''|||'''Software stack'''||'''Frequency'''||'''TX Power normal/PRO'''||'''Notes'''<br />
|-<br />
|'''XBee ZB'''<br />
|<br />
|yes<br />
|Ember<br />
|EmberZNet PRO 3.1 (ZigBee 2007)<br />
|2.4 GHz<br />
|2mW/50mW<br />
|coordinator needed<br />
|-<br />
|'''XBee ZNet 2.5'''<br />
|<br />
|yes<br />
|Ember<br />
|EmberZNet 2.5 ZigBee<br />
|2.4 GHz<br />
|2mW/50mW<br />
|(only legacy -> use XBee-PRO ZB) coordinator needed<br />
|-<br />
|'''XBee DigiMesh 2.4'''<br />
|<br />
|yes<br />
|Freescale<br />
|<br />
|2.4 GHz<br />
|<br />
|all nodes equal (no special coordinators/routers/end-devices)<br />
|-<br />
|'''XBee 802.15.4'''<br />
|yes<br />
|<br />
|Freescale<br />
|<br />
|2.4 GHz<br />
|<br />
|<br />
|-<br />
|'''XBee-PRO 868'''<br />
|yes<br />
|<br />
|?<br />
|<br />
|868 MHz<br />
|500mW<br />
|Only High Power Frequency allowed in the UK. 2.4GHz limited to 10mW<br />
|}<br />
<br />
<br />
==== Comparison Conclusion ====<br />
<br />
(Copied from DIGI manual)<br />
<br />
''If the application strictly needs to communicate in a point-to-point or a point-to-multipoint <br />
fashion, 802.15.4 will be able handle all the communications between your devices and will <br />
be simpler to implement than trying to use a module with ZigBee firmware to accomplish the <br />
same goal. ZigBee is necessary if you need to use repeating or the mesh networking <br />
functionality.'' <br />
<br />
-Interpretation for paparazzi: if inter-aircraft communication is required one should go for the zigbee ZB series 2 modules. <br />
<br />
==== Pinout ====<br />
<br />
[[Image:Maxstream_Xbee_pinout.jpg|left|thumb|Maxstream XBee pinout]]<br />
<br style="clear:both"><br />
<br />
{|border="1"<br />
|-valign="top"<br />
||''Xbee 20-pin Header''||''Name''||''Notes''||''Suggested Color''||<br />
|-<br />
|1<br />
| +3.3v<br />
| Power<br />
|Red<br />
|-<br />
|2<br />
|DOUT<br />
|Tx output - connect to Autopilot Rx<br />
|Green<br />
|-<br />
|3<br />
|DIN<br />
|Rx input - connect to Autopilot Tx<br />
|Blue<br />
|-<br />
|10<br />
|GND<br />
| Ground<br />
|Black<br />
|}<br />
<br />
The image view is from above, top, thus NOT at the side where the connector pins come out<br />
<br />
Note : DTR and RTS need to be wired for upgrading firmware<br />
<br />
=== GCS Adaptation ===<br />
<br />
There are several vendors of hardware to connect the ground XBee radio modem to the GCS computer.<br />
<br />
====Adafruit====<br />
<br />
[[Image:xbeeadapter_LRG.jpg|thumb|left|Adafruit XBee adapter board]][[Image:xbeeadapterftdi_LRG.jpg|thumb|Adafruit XBee adapter with FTDI cable]]<br />
[http://www.adafruit.com/index.php?main_page=product_info&cPath=29&products_id=126 Adafruit] (yes, that really is their name) offers a great adapter board kit for the Xbee modules that includes a 5-3.3V voltage regulator, power and activity LEDs, and pins to connect directly to your FTDI cable for $10! Some assembly required.<br />
<br />
<br style="clear:both"><br />
<br />
====Droids====<br />
<br />
[[Image:XBee_Simple_Board.jpg|thumb|left|XBee Simple Board]]<br />
<br />
[[Image:XBee_USB_Board.jpg|thumb|left|XBee USB Board]]<br />
<br />
[http://www.droids.it/cmsvb4/content.php?143-990.001-XBee-Simple-Board XBee Simple Board]<br />
<br />
Simpler, lighter, smaller footprint, bit more expensive, comes assembled and tested. --GR<br />
<br />
<br />
[http://www.droids.it/cmsvb4/content.php?152-990.002-XBee-USB-Board XBee USB Board]<br />
<br />
For direct connection to USB (no FTDI cable required)<br />
<br />
<br style="clear:both"><br />
<br />
====PPZUAV====<br />
<br />
[[Image:FTDI_Utility_Board.jpg|thumb|left|FTDI Utility Board 1.0]]<br />
<br />
[https://mini.ppzuav.com/osc/product_info.php?cPath=13&products_id=111 ppzuav.com]<br />
<br />
FTDI Utility Board 1.0 (no FTDI cable required)<br />
<br />
<br style="clear:both"><br />
<br />
====Sparkfun====<br />
<br />
[[Image:XBee_Explorer_USB.jpg|thumb|left|XBee Explorer USB]]<br />
<br />
[http://www.sparkfun.com/products/8687 sparkfun.com]<br />
<br />
XBee Explorer USB (no FTDI cable required)<br />
<br />
<br style="clear:both"><br />
<br />
=== Digi XBee Pro DigiMesh / 802.15.4 ("Series 1") ===<br />
*Note: Products based on XBee ZNet 2.5 (formerly Series 2) modules do not communicate with products based on XBee DigiMesh / 802.15.4 (formerly Series 1) modules.<br />
<br />
These relatively cheap and light modules implement the [http://www.zigbee.org/en/index.asp ZigBee/IEEE 802.15.4] norm. They allow up to 1.6km (1 mile) range (Paparazzi tested to 2.5km (1.5 miles)). The main drawback of using such 2.4Ghz modules for datalink is that it will interfere with the 2.4Ghz analog video transmitters and a inevitable decrease in range when in proximity to any wifi devices. For the plane, get the whip antenna version if you are not planning to build a custom antenna.<br />
<br />
{|<br />
|-valign="top"<br />
|[[Image:Xbee_Pro_USB_RF_Modem.jpg|thumb|left|XBee Pro USB Stand-alone Modem (XBP24-PKC-001-UA)]]<br />
|<br />
* Frequency Band 2.4Ghz<br />
* Output Power 100mW (Xbee Pro)<br />
* Sensitivity -100 dBm <br />
* RF Data Rate Up to 250 Kbps<br />
* Interface data rate Up to 115.2 Kbps<br />
* Power Draw (typical) 214 mA TX / 55 mA RX <br />
* Supply Voltage 3.3v<br />
* Range (typical, depends on antenna & environment) Up to 1500m line-of-sight <br />
* Dimensions 24 x 33mm<br />
* Weight 4 grams<br />
* Interface 20-pin mini connector <br />
* Chip antenna, ¼ monopole integrated whip antenna or a U.FL antenna connector (3 versions)<br />
* Price: Approximately $32<br />
|<br />
[[Image:XBee_pro.jpg|thumb|left|XBee Pro OEM Modem]]<br />
|}<br />
Mouser: [http://au.mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMtJacPDJcUJYzVn8vIv7g2fIpf5DCzJqko%3d 888-XBP24-PKC-001-UA]<br><br />
NOTE: If you wish to use this unit with another XBee type other than the 802.15.4 (i.e. XBee-PRO ZB) then purchase a modem with the U.fl connector.<br />
<br />
==== Documentation ====<br />
<br />
* [http://www.maxstream.net/products/xbee/xbee-pro-oem-rf-module-zigbee.php product page]<br />
* [http://www.maxstream.net/products/xbee/datasheet_XBee_OEM_RF-Modules.pdf datasheet]<br />
* [http://www.maxstream.net/products/xbee/product-manual_XBee_OEM_RF-Modules.pdf user manual]<br />
* To program your Xbee you need X-CTU you can download it [http://www.digi.com/support/productdetl.jsp?pid=3352&osvid=57&tp=5&s=316 here]. (only windows)<br />
* explanation on X-CTU [http://www.ladyada.net/make/xbee/configure.html here].<br />
* [http://ftp1.digi.com/support/firmware/update/xbee/ Drivers for XB24 and XBP24 modules]<br />
<br />
=== Digi XBee Pro ZB / ZNet 2.5 ("Series 2") ===<br />
<br />
The low-power XBee ZB and extended-range XBee-PRO ZB use the ZigBee PRO Feature Set for advanced mesh networking.<br />
<br />
{|<br />
|-valign="top"<br />
|[[Image:XBee_Pro_2SB.jpg|thumb|left|Digi XBee Pro ZB]]<br />
|<br />
* Low-cost, low-power mesh networking<br />
* Interoperability with ZigBee PRO Feature Set devices from other vendors*<br />
* Support for larger, more dense mesh networks<br />
* 128-bit AES encryption<br />
* Frequency agility<br />
* Over-the-air firmware updates (change firmware remotely)<br />
* ISM 2.4 GHz operating frequency<br />
* XBee: 2 mW (+3 dBm) power output (up to 400 ft RF LOS range)<br />
* XBee-PRO: 50 mW (+17 dBm) power output (up to 1 mile RF LOS range)<br />
* RPSMA connector, U.FL connector, Chip antenna, or Wired Whip antenna<br />
* price : ~34 USD<br />
|<br />
|}<br />
These are available from Mouser:<br><br />
[http://au.mouser.com/Search/Refine.aspx?Keyword=888-XBP24-Z7WIT-004 888-XBP24-Z7WIT-004] XBee-PRO ZB with whip antenna<br><br />
[http://au.mouser.com/Search/Refine.aspx?Keyword=XBP24-Z7SIT-004 888-XBP24-Z7SIT-004] XBee-PRO ZB with RPSMA<br />
<br />
See [[XBee_configuration|XBee Configuration]] for setup.<br />
<br />
==== Documentation ====<br />
* [http://www.digi.com/products/wireless/zigbee-mesh/xbee-zb-module.jsp http://www.digi.com/products/wireless/zigbee-mesh/xbee-zb-module.jsp]<br />
<br />
=== Digi XBee Pro 868 ===<br />
<br />
'''WARNING - THESE MODEMS HAVE A 10% DUTY CYCLE, AND CURRENTLY HAVE SEVERE ISSUES WITH PAPARAZZI'''<br />
<br />
868MHz is a limited band. Please read the [[868MHz Issues]]<br />
<br />
XBee-PRO 868 modules are long range embedded RF modules for European applications. Purpose-built for exceptional RF performance, XBee-PRO 868 modules are ideal for applications with challenging RF environments, such as urban deployments, or where devices are several kilometers apart.<br />
<br />
<br />
{|<br />
|-valign="top"<br />
|[[Image:xbeeproxsc-rpsma.jpg|thumb|left|Maxstream XBee Pro 868]]<br />
|<br />
* 868 MHz short range device (SRD) G3 band for Europe<br />
* Software selectable Transmit Power<br />
* 40 km RF LOS w/ dipole antennas<br />
* 80 km RF LOS w/ high gain antennas (TX Power reduced)<br />
* Simple to use peer-to-peer/point-to-mulitpoint topology<br />
* 128-bit AES encryption<br />
* 500 mW EIRP<br />
* 24 kbps RF data rate<br />
* price : ~70 USD<br />
|<br />
|}<br />
<br />
See [[XBee_configuration#XBee_Pro_868_MHZ|XBee Configuration]] for setup.<br />
<br />
==== Documentation ====<br />
* [http://www.digi.com/products/wireless/point-multipoint/xbee-pro-868.jsp http://www.digi.com/products/wireless/point-multipoint/xbee-pro-868.jsp]<br />
<br />
=== Digi XBee Pro XSC 900MHz ===<br />
<br />
Maxstream has recently announced a promising new line of modems combining the small size and low cost of their popular Xbee line with the long range and 2.4 GHz video compatibility of their high end 900 MHz models. Sounds like the perfect modem for anyone who can use 900 MHz. Give them a try and post your results here!<br />
{|<br />
|-valign="top"<br />
|[[Image:xbeeproxsc-rpsma.jpg|thumb|left|Maxstream XBee Pro XSC]]<br />
|<br />
* Frequency Band 900 MHz<br />
* Output Power 100 mW (+20 dBm)<br />
* Sensitivity -100 dBm <br />
* Data Rate: 9600 bps<br />
* Range (typical, depends on antenna & environment) Up to 24km (15 miles) line-of-sight <br />
* Interface 20-pin mini connector (Xbee compatible pinout)<br />
* RPSMA, integrated whip antenna or U.FL antenna connector (3 versions)<br />
* price : ~75 USD<br />
|<br />
|}<br />
<br />
==== Documentation ====<br />
* [http://www.digi.com/products/wireless/point-multipoint/xbee-pro-xsc.jsp http://www.digi.com/products/wireless/point-multipoint/xbee-pro-xsc.jsp]<br />
==== Trials ====<br />
Tested one today and it worked great. Going to try a multiUAV test with it soon<br />
--Danstah<br />
<br><br />
<br><br />
MultiUAV tests concluded this is probably not the best module to use. Even though it says you can change the baudrate inside x-ctu that is not the case, it is fixed at 9600 bps. This is a great modem however for single UAV's and I do recommend.<br />
--Danstah<br />
<br><br />
<br><br />
Why would the European (868 MHz) be good to 24kbps and this only to 9600? When I was altering my XBees (2.4Ghz Pro's) I had this problem altering baud rates until I read you have to send a "commit and reboot" type command after setting the baud rate. Could this be the case? --GR<br />
<br />
== Maxstream 9XTend ==<br />
<br />
These larger units have been tested on the 900Mhz band, but are also available in 2.4Ghz. They are a bit on the heavy side, about 20 grams, but give good performance at range. They have adjustable transmit power settings from 100mW to 1W. Testing has shown range up to 5.6km (3.5 Miles) with XTend set to 100mW with small 3.1dB dipole antenna.<br />
<br />
{|<br />
|-valign="top"<br />
|<br />
[[Image:XTend_USB_RF_Modem.jpg|frame|left|9XTend USB Modem]]<br />
|<br />
* Frequency Band 900Mhz and 2.4Ghz (2 versions)<br />
* Output Power 1mW to 1W software selectable<br />
* Sensitivity -110 dBm (@ 9600 bps)<br />
* RF Data Rate 9.6 or 115.2 Kbps<br />
* Interface data rate up to 230.4 Kbps<br />
* Power Draw (typical) 730 mA TX / 80 mA RX <br />
* Supply Voltage 2.8 to 5.5v<br />
* Range (typical, depends on antenna & environment) Up to 64km line-of-sight <br />
* Dimensions 36 x 60 x 5mm<br />
* Weight 18 grams<br />
* Interface 20-pin mini connector <br />
* RF connector RPSMA (Reverse-polarity SMA) or MMCX (2 versions)<br />
* price : ~179 USD<br />
|<br />
[[Image:Xtend_module.jpg|frame|left|9XTend OEM Modem]]<br />
|}<br />
<br />
=== Pinout ===<br />
<br />
[[Image:Maxstream_9XTend_Pinout.gif|thumb|left|Maxstream 9XTend Pinout]]<br />
<br />
{| border="1"<br />
|-valign="top"<br />
||'''''9XTend 20-pin Header'''''||'''''Name'''''||'''''Tiny Serial-1 Header'''''||'''''Notes'''''<br />
|-<br />
||1||GND||1 (GND)||Ground <br />
|-<br />
||2||VCC||2 (5V)||5V power (150mA - 730mA Supplied from servo bus or other 5V source)<br />
|-<br />
||5||RX||8 (TX)||3-5V TTL data input - connect to Tiny TX<br />
|-<br />
||6||TX||7 (RX)||5V TTL data output - connect to Tiny RX<br />
|-<br />
||7||Shutdown||2||This pin must be connected to the 5V bus for normal operation<br />
|}<br />
Notes:<br><br />
* 9XTend can run on voltages as low as 2.8V but users are strongly advised against connecting any modem (especially high power models) to the sensitive 3.3V bus supplying the autopilot processor and sensors.<br />
<br style="clear:both"><br />
<br />
=== Documentation ===<br />
<br />
* [http://www.maxstream.net/products/xtend/oem-rf-module.php product page]<br />
* [http://www.maxstream.net/products/xtend/datasheet_XTend_OEM_RF-Module.pdf datasheet]<br />
* [http://www.maxstream.net/products/xtend/product-manual_XTend_OEM_RF-Module.pdf user manual]<br />
<br />
== Aerocomm ==<br />
Aerocomm's API mode is already implemented but some system integration is required. Full API more with addressed packets works well and was tested with AC4790-1x1 5mW low power modules. Maximim range achieved with a whip quater-wave antenna was 1Km.<br />
<br />
How to use this modem on ground station side? [http://paparazzi.enac.fr/wiki/index.php/User:SilaS#SDK-AC4868-250_ground_modem_part]<br />
<br />
See folder paparazzi3 / trunk / sw / aerocomm. It has all the required files to use this modem on the airborne and ground station side. The link.ml file is a direct replacement of the "main" link.ml file of the ground sttaion and will be merged into it in the future.. or you can do it as well.<br />
<br />
<br />
{|<br />
|<br />
=== AC4868-250 ===<br />
* Frequency Band 868MHz (For Europe). 868MHz is a limited band. Please read the [[868MHz Issues]]<br />
* Output Power (w/ 2dBi antenna) 250 mW <br />
* Sensitivity (@ full RF data rate) -103 dB <br />
* RF Data Rate Up to 28.8 Kbps <br />
* INterface Data Rate Up to 57.6 Kbps <br />
* Power Draw (typical) 240 mA TX / 36 mA RX <br />
* Supply Voltage 3.3v & 5V or 3.3v only<br />
* Range (typical, depends on antenna & environment) Up to 15 kilometers line-of-sight <br />
* Dimensions 49 x 42 x 5mm <br />
* Weight < 21 grams<br />
* Interface 20-pin mini connector <br />
* Antenna MMCX jack Connector <br />
* price : ~80$<br />
|<br />
[[Image:ConnexLink_USB_RF_Modem.jpg|thumb|Aerocomm USB Stand-alone Modem]]<br />
|-<br />
|<br />
<br />
=== AC4790-200 ===<br />
* Frequency 902-928MHz (North America, Australia, etc).<br />
* Output Power 5-200mW<br />
* Sensitivity (@ full RF data rate) -110dB<br />
* RF Data Rate up to 76.8 Kbps<br />
* INterface Data Rate Up to Up to 115.2 Kbps <br />
* Power Draw (typical) 68 mA<br />
* Supply Voltage 3.3v & 5.5V<br />
* Range (typical, depends on antenna & environment) Up to 6.4 kilometers line-of-sight <br />
* Dimensions 42 x 48 x 5mm <br />
* Weight < 20 grams<br />
* Interface 20-pin mini connector <br />
* Antenna MMCX jack Connector or internal<br />
* price : ~80$<br />
|<br />
[[Image:ac4868_transceiver.jpg|thumb|left|AC4868 OEM Modem]]<br />
|<br />
|-<br />
|<br />
<br />
=== AC4790-1000 ===<br />
* Frequency 902-928MHz (North America, Australia, etc).<br />
* Output Power 5-1000mW<br />
* Sensitivity (@ full RF data rate) -99dB<br />
* RF Data Rate up to 76.8 Kbps<br />
* INterface Data Rate Up to Up to 115.2 Kbps <br />
* Power Draw (typical) 650 mA<br />
* Supply Voltage 3.3V only<br />
* Range (typical, depends on antenna & environment) Up to 32 kilometers with high-gain antenna<br />
* Dimensions 42 x 48 x 5mm <br />
* Weight < 20 grams<br />
* Interface 20-pin mini connector <br />
* Antenna MMCX jack Connector<br />
* price : ~80$<br />
|}<br />
<br />
=== Pinout ===<br />
<br />
[[Image:Aerocomm_AC4868_pinout.jpg|thumb|left|Aerocomm AC4868 modem pinout]]<br />
[[Image:Aerocomm_AC4490-200_wired.jpg|thumb|left|Aerocomm AC4490 wiring example]]<br />
<br style="clear:both"><br />
<br />
{| border="1"<br />
|+ Wiring the Aerocomm AC4868 to the Tiny<br />
|-valign="top"<br />
||'''''AC4868 20-pin Header'''''||'''''Name'''''||'''''Color'''''||'''''Tiny v1.1 Serial-1'''''||'''''Tiny v2.11 Serial'''''||'''''Notes'''''<br />
|-<br />
||2||Tx||green||7||7||''(Note 1)''<br />
|-<br />
||3||Rx||blue||8||8||''(Note 1)''<br />
|-<br />
||5||GND||black||1||1|| -<br />
|-<br />
||10+11||VCC||red||2||3||+3.3v<br />
|-<br />
||17||C/D||white||3||?||Low = Command High = Data<br />
|}<br />
''Note 1 : names are specified with respect to the AEROCOMM module''<br />
<br />
=== Documentation ===<br />
* [http://www.aerocomm.com/rf_transceiver_modules/ac4790_mesh-ready_transceiver.htm AC4790 product page]<br />
* [http://www.aerocomm.com/docs/Datasheet_AC4790_HI.pdf AC4790 Datasheet]<br />
* [http://www.aerocomm.com/docs/User_Manual_AC4790.pdf AC4790 Manual]<br />
* [http://www.aerocomm.com/rf_transceiver_modules/ac4868_868mhz_rf_transceiver.htm AC4848 product page]<br />
* [http://www.aerocomm.com/docs/Datasheet_AC4868_HI.pdf AC4868 Datasheet]<br />
* [http://www.aerocomm.com/docs/User_Manual_AC4868.pdf AC4868 user manual]<br />
<br />
== Radiotronix ==<br />
These Radiotronix modems are used in transparent mode. Use the WI232EUR Evaluation Software for configuring the modems for the set speed. Connect /CMD and CTS for programming. The DTS version for the US market might cause severe interference with GPS reception, it is not recommended. For a nice ground station modem just add a FTDI232 USB->serial cable, a 3.3V regulator with 100nF capacitors from supplies to ground, solder a SMA cable/connector and put it in a nice case. Make sure you only connect RTS to /CMD if you want to reprogram the modem with the Evaluation software (see the open jumper connection in the picture, green wire) and leave it floating otherwise as connected RTS/CTS sporadically leads to a reprogramming of the modem. The ANT-GXD105-FME/F from [http://www.roundsolutions.com Roundsolutions] was used as a ground station antenna at many competitions. Note that a 1/2 wave dipole antenna works best on-board as it doesn't require a ground-plane and has a reasonably omnidirectional radiation pattern.<br />
{|<br />
|<br />
=== WI232EUR ===<br />
* Frequency Band: 868 MHz (for Europe)<br />
* Output Power: 32 mW <br />
* RF Data Rate: Up to 76.8 kbps <br />
* Interface Data Rate: up to 115.2 kbps <br />
* Power Draw (typical): 65 mA TX / 20 mA RX <br />
* Supply Voltage: 3.3v<br />
* Range (typical, depends on antenna & environment): 500 meters line-of-sight <br />
* Dimensions: 24 x 21 x 4mm <br />
* Weight: ~2 grams<br />
* Interface: solder connector <br />
* Antenna: solder connector <br />
* Price: ~25$<br />
|<br />
[[Image:Wi232eur_wiring.jpg|thumb|WI232EUR Modem (picture shows connection to Tiny 1.1)]]<br />
|-<br />
|<br />
<br />
=== Pinout ===<br />
<br />
<br style="clear:both"><br />
<br />
{| border="1"<br />
|+ Wiring the WI232EUR to the Tiny v1.1<br />
|-valign="top"<br />
||'''''WI232 pins'''''||'''''Name'''''||'''''Tiny Serial-1'''''||'''''Notes'''''<br />
|-<br />
||6||TxD||7||''(Note 1)''<br />
|-<br />
||5||RxD||8||''(Note 1)''<br />
|-<br />
||15-18||GND||1|| - <br />
|-<br />
||19||VCC||2||+3.3v<br />
|-<br />
||4||/CMD||-||''(Note 2)''<br />
|-<br />
||7||CTS||-||''(Note 3)''<br />
|}<br />
''Note 1 : names are specified with respect to the Radiotronix module''<br />
<br />
''Note 2 : connect to RTS to program device with Evaluation software''<br />
<br />
''Note 3 : connect to CTS to program device with Evaluation software''<br />
<br />
|<br />
[[Image:Wi232eur_bopla.jpg|thumb|WI232EUR Modem in BOPLA case]]<br />
|-<br />
|<br />
|}<br />
=== Documentation ===<br />
* [http://www.radiotronix.com/datasheets/new/eur_um.pdf WI232EUR data sheet]<br />
* [http://www.radiotronix.com/datasheets/new/rk-eur_um.pdf WI232EUR user's manual]<br />
* [http://www.radiotronix.com/downloads/software/EUR/setup.exe Evaluation software]<br />
<br />
== Bluetooth ==<br />
These modems do not give you a great range but Bluetooth can be found in a lot of recent laptops built-in. Maybe not useful for fixed wing aircrafts it might be used for in-the-shop testing or quadcopters. Make sure you get a recent Class 1 EDR 2.0 stick if you buy one for your computer.<br />
{|<br />
|<br />
=== "Sparkfun" Roving Networks (WRL-08497) ===<br />
* Frequency Band 2.4GHz<br />
* Output Power 32 mW <br />
* RF Data Rate up to ~300 kbps in SPP<br />
* Interface Data Rate up to 921 kbps <br />
* Power Draw (typical) 50 mA TX / 40 mA RX <br />
* Supply Voltage 3.3v<br />
* Range (typical, depends on antenna & environment) 100 meters line-of-sight <br />
* Dimensions 26 x 13 x 2mm <br />
* Weight ~1.5 grams<br />
* Interface solder connector <br />
* price : ~45$<br />
|<br />
[[Image:roving_nw_wiring.jpg|thumb|Roving Networks modem wiring]]<br />
|-<br />
|<br />
<br />
To connect to it, get the MAC address of the bluetooth modem<br />
<br />
me@mybox:~$ hcitool scan<br />
Scanning ...<br />
00:06:66:00:53:AD FireFly-53AD<br />
<br />
either make a virtual connection to a Bluetooth serial port each time you connect<br />
<br />
sudo rfcomm bind 0 00:06:66:00:53:AD<br />
<br />
or configure it once in /etc/bluetooth/rfcomm.conf<br />
<br />
rfcomm0 {<br />
bind yes;<br />
device 00:06:66:00:53:AD;<br />
}<br />
<br />
now you can use Bluetooth as '''/dev/rfcomm0''' with the Paparazzi 'link'. You might need to restart 'link' in case you get out of range and it disconnects (tbd). Set the Tiny serial speed to 115200 as the modules come preconfigured to that.<br />
|}<br />
<br />
== Coronis WaveCard ==<br />
<br />
These relatively inexpensive and light modules implement a Coronis proprietary protocol. Low power consumption - high latency - I would not recommend these modules mostly because of the low quality of the distribution and support. The documentation is rather poor and not easily available.<br />
<br />
'''Suport for these modems has been removed from the airborne code on Dec 10th, 2007.'''<br />
{|<br />
|-valign="top"<br />
|<br />
* Frequency Band 400MHz, 868Mhz and 915MHz (3 versions)<br />
* Output Power 25mW and 500mW (2 versions)<br />
* Sensitivity -110 dBm (@ 9600 bps)<br />
* Data Rate 100 Kbps<br />
* Power Draw (typical) 45mA (25mW), 450mA (500mW) TX / 15 mA RX <br />
* Supply Voltage ...<br />
* Range (typical, depends on antenna & environment) Up to 1km (25mW) , 5km (500mW) line-of-sight <br />
* Dimensions 30 x 28 x 7mm (25mW), 37 x 30 x 7mm (500mW)<br />
* 50 ohm RF port for antenna connection<br />
|<br />
[[Image:wavecard.jpg|Coronis Wavecard]]<br />
|}<br />
<br />
=== Documentation ===<br />
<br />
* [http://www.coronis-systems.com/produit.php?lang=EN&id=WCA www.coronis-systems.com]<br />
* [[Media:CS-COM-SPRD-WAVECARD-E03B.pdf|Wavecard datasheet]]<br />
<br />
== Telemetry via Video Transmitter==<br />
<br />
[[Image:video_tx_small.jpg|thumb|2.4GHz Video Transmitter]]<br />
In order for the UAV to transmit video from an onboard camera, an analog video transmitter can be used. These vary in power, and thus range, and run normally on 2.4Ghz. Small UAVs can get about 600m of range from the 50mW version, and extended range can be achieved using units up to 1W. Weight for these units varies from a couple grams to about 30 for the 1W with shielding. Please check for your countries regulations on 2.4Ghz transmission, as each is different. <br />
<br />
It is possible to use the audio channel to send simple telemetry data to the groundstation. Uploading telemetry not possible via analog audio transmitter only.<br />
<br style="clear:both"><br />
<br />
== Antennas ==<br />
<br />
Here are some examples of lightweight and efficient 868MHz antennas developped by the RF laboratory at ENAC.<br />
[[Image:868mhz_twinstar_antenna_1.jpg|thumb|left|868MHz copper foil antenna attached to the aircraft tail]] <br />
[[Image:868mhz_twinstar_antenna_2.jpg|thumb|left|868MHz copper foil antenna bottom view]] <br />
[[Image:868mhz_ground_antenna.jpg|thumb|left|868MHz ground antenna]] <br />
<br style="clear:both"><br />
<br />
This wiki page might give some ideas about antennas: http://en.wikipedia.org/wiki/Dipole_antenna<br />
<br />
[[Category:Hardware]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=Modems&diff=9375Modems2011-05-22T13:09:34Z<p>Aerovista: /* Digi XBee Pro ZB ("Series 2") */</p>
<hr />
<div>The Paparazzi autopilot features a 5V tolerant 3V TTL serial port to interface with any common radio modem. The bidirectional link provides real-time telemetry and in-flight tuning and navigation commands. The system is also capable overlaying the appropriate protocols to communicate thru non-transparent devices such as the Coronis Wavecard or Maxstream API-enabled products, allowing for hardware addressing for multiple aircraft or future enhancements such as data-relaying, inter-aircraft communication, RSSI signal monitoring and automatic in-flight modem power adjustment. Below is a list of some of the common modems used with Paparazzi, for details on configuring your modem see the [[Airframe_Configuration#Telemetry_.28Modem.29|Airframe Configuration]] and [[XBee_configuration|XBee Configuration]] pages.<br />
<br />
== Digi XBee modules ==<br />
<br />
Digi (formerly Maxstream) offers an increasing variety of Zigbee protocol modems well suited for Paparazzi in 2.4 GHz, 900MHz and 868Mhz frequencies. The "Pro" series are long range, up to 40km! Standard series are slightly smaller/lighter/lower power consumption and very short range. All versions are all pin compatible and weigh around 2 grams with wire antennas. All Digi modems can be operated in transparent mode (as a serial line replacement) or in "API mode" with hardware addressing, managed networking, and RSSI (signal strength) data with the Paparazzi "Xbee" option. Three antenna options are offered: the SMA version is ideal for ground modems, wire antennas for aircraft, and chip antennas for those with very limited space.<br />
<br />
* XBee (PRO) ZB (the current series)<br />
* XBee (PRO) ZNet 2.5 (formerly Series 2) (only legacy -> use XBee-PRO ZB)<br />
The XBee & XBee-PRO ZB share hardware (ember stack) with XBee & XBee-PRO ZNet 2.5. As a result, modules can be "converted" from one platform to another by loading different firmware onto a given module.<br />
<br />
These two also share the same hardware and can be converted from one to another by flashing a different firmware:<br />
* XBee-PRO 802.15.4 (formerly Series 1)<br />
* XBee-PRO DigiMesh 2.4<br />
<br />
'''Note: Modules based on Freescale chipset (formerly Series 1) are not compatible with Ember chipset based modules (Series 2).'''<br />
Also see the [http://www.jsjf.demon.co.uk/xbee/faq.htm| unofficial XBee FAQ] for this.<br />
<br />
See the [[XBee_configuration|XBee Configuration]] page. This [http://pixhawk.ethz.ch/tutorials/how_to_configure_xbee tutorial] is also good to configure and get started with XBee Pro.<br />
<br />
=== Module Comparison ===<br />
{|border="1"<br />
|-valign="top"<br />
||'''Module'''||'''Point-to-Multipoint'''||'''ZigBee/Mesh'''||'''Chipset'''|||'''Software stack'''||'''Frequency'''||'''TX Power normal/PRO'''||'''Notes'''<br />
|-<br />
|'''XBee ZB'''<br />
|<br />
|yes<br />
|Ember<br />
|EmberZNet PRO 3.1 (ZigBee 2007)<br />
|2.4 GHz<br />
|2mW/50mW<br />
|coordinator needed<br />
|-<br />
|'''XBee ZNet 2.5'''<br />
|<br />
|yes<br />
|Ember<br />
|EmberZNet 2.5 ZigBee<br />
|2.4 GHz<br />
|2mW/50mW<br />
|(only legacy -> use XBee-PRO ZB) coordinator needed<br />
|-<br />
|'''XBee DigiMesh 2.4'''<br />
|<br />
|yes<br />
|Freescale<br />
|<br />
|2.4 GHz<br />
|<br />
|all nodes equal (no special coordinators/routers/end-devices)<br />
|-<br />
|'''XBee 802.15.4'''<br />
|yes<br />
|<br />
|Freescale<br />
|<br />
|2.4 GHz<br />
|<br />
|<br />
|-<br />
|'''XBee-PRO 868'''<br />
|yes<br />
|<br />
|?<br />
|<br />
|868 MHz<br />
|500mW<br />
|Only High Power Frequency allowed in the UK. 2.4GHz limited to 10mW<br />
|}<br />
<br />
<br />
==== Comparison Conclusion ====<br />
<br />
(Copied from DIGI manual)<br />
<br />
''If the application strictly needs to communicate in a point-to-point or a point-to-multipoint <br />
fashion, 802.15.4 will be able handle all the communications between your devices and will <br />
be simpler to implement than trying to use a module with ZigBee firmware to accomplish the <br />
same goal. ZigBee is necessary if you need to use repeating or the mesh networking <br />
functionality.'' <br />
<br />
-Interpretation for paparazzi: if inter-aircraft communication is required one should go for the zigbee ZB series 2 modules. <br />
<br />
==== Pinout ====<br />
<br />
[[Image:Maxstream_Xbee_pinout.jpg|left|thumb|Maxstream XBee pinout]]<br />
<br style="clear:both"><br />
<br />
{|border="1"<br />
|-valign="top"<br />
||''Xbee 20-pin Header''||''Name''||''Notes''||''Suggested Color''||<br />
|-<br />
|1<br />
| +3.3v<br />
| Power<br />
|Red<br />
|-<br />
|2<br />
|DOUT<br />
|Tx output - connect to Autopilot Rx<br />
|Green<br />
|-<br />
|3<br />
|DIN<br />
|Rx input - connect to Autopilot Tx<br />
|Blue<br />
|-<br />
|10<br />
|GND<br />
| Ground<br />
|Black<br />
|}<br />
<br />
The image view is from above, top, thus NOT at the side where the connector pins come out<br />
<br />
Note : DTR and RTS need to be wired for upgrading firmware<br />
<br />
=== GCS Adaptation ===<br />
<br />
There are several vendors of hardware to connect the ground XBee radio modem to the GCS computer.<br />
<br />
====Adafruit====<br />
<br />
[[Image:xbeeadapter_LRG.jpg|thumb|left|Adafruit XBee adapter board]][[Image:xbeeadapterftdi_LRG.jpg|thumb|Adafruit XBee adapter with FTDI cable]]<br />
[http://www.adafruit.com/index.php?main_page=product_info&cPath=29&products_id=126 Adafruit] (yes, that really is their name) offers a great adapter board kit for the Xbee modules that includes a 5-3.3V voltage regulator, power and activity LEDs, and pins to connect directly to your FTDI cable for $10! Some assembly required.<br />
<br />
<br style="clear:both"><br />
<br />
====Droids====<br />
<br />
[[Image:XBee_Simple_Board.jpg|thumb|left|XBee Simple Board]]<br />
<br />
[[Image:XBee_USB_Board.jpg|thumb|left|XBee USB Board]]<br />
<br />
[http://www.droids.it/cmsvb4/content.php?143-990.001-XBee-Simple-Board XBee Simple Board]<br />
<br />
Simpler, lighter, smaller footprint, bit more expensive, comes assembled and tested. --GR<br />
<br />
<br />
[http://www.droids.it/cmsvb4/content.php?152-990.002-XBee-USB-Board XBee USB Board]<br />
<br />
For direct connection to USB (no FTDI cable required)<br />
<br />
<br style="clear:both"><br />
<br />
====PPZUAV====<br />
<br />
[[Image:FTDI_Utility_Board.jpg|thumb|left|FTDI Utility Board 1.0]]<br />
<br />
[https://mini.ppzuav.com/osc/product_info.php?cPath=13&products_id=111 ppzuav.com]<br />
<br />
FTDI Utility Board 1.0 (no FTDI cable required)<br />
<br />
<br style="clear:both"><br />
<br />
====Sparkfun====<br />
<br />
[[Image:XBee_Explorer_USB.jpg|thumb|left|XBee Explorer USB]]<br />
<br />
[http://www.sparkfun.com/products/8687 sparkfun.com]<br />
<br />
XBee Explorer USB (no FTDI cable required)<br />
<br />
<br style="clear:both"><br />
<br />
=== Digi XBee Pro DigiMesh / 802.15.4 ("Series 1") ===<br />
*Note: Products based on XBee ZNet 2.5 (formerly Series 2) modules do not communicate with products based on XBee DigiMesh / 802.15.4 (formerly Series 1) modules.<br />
<br />
These relatively cheap and light modules implement the [http://www.zigbee.org/en/index.asp ZigBee/IEEE 802.15.4] norm. They allow up to 1.6km (1 mile) range (Paparazzi tested to 2.5km (1.5 miles)). The main drawback of using such 2.4Ghz modules for datalink is that it will interfere with the 2.4Ghz analog video transmitters and a inevitable decrease in range when in proximity to any wifi devices. For the plane, get the whip antenna version if you are not planning to build a custom antenna.<br />
<br />
{|<br />
|-valign="top"<br />
|[[Image:Xbee_Pro_USB_RF_Modem.jpg|thumb|left|XBee Pro USB Stand-alone Modem (XBP24-PKC-001-UA)]]<br />
|<br />
* Frequency Band 2.4Ghz<br />
* Output Power 100mW (Xbee Pro)<br />
* Sensitivity -100 dBm <br />
* RF Data Rate Up to 250 Kbps<br />
* Interface data rate Up to 115.2 Kbps<br />
* Power Draw (typical) 214 mA TX / 55 mA RX <br />
* Supply Voltage 3.3v<br />
* Range (typical, depends on antenna & environment) Up to 1500m line-of-sight <br />
* Dimensions 24 x 33mm<br />
* Weight 4 grams<br />
* Interface 20-pin mini connector <br />
* Chip antenna, ¼ monopole integrated whip antenna or a U.FL antenna connector (3 versions)<br />
* Price: Approximately $32<br />
|<br />
[[Image:XBee_pro.jpg|thumb|left|XBee Pro OEM Modem]]<br />
|}<br />
Mouser: [http://au.mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMtJacPDJcUJYzVn8vIv7g2fIpf5DCzJqko%3d 888-XBP24-PKC-001-UA]<br><br />
NOTE: If you wish to use this unit with another XBee type other than the 802.15.4 (i.e. XBee-PRO ZB) then purchase a modem with the U.fl connector.<br />
<br />
==== Documentation ====<br />
<br />
* [http://www.maxstream.net/products/xbee/xbee-pro-oem-rf-module-zigbee.php product page]<br />
* [http://www.maxstream.net/products/xbee/datasheet_XBee_OEM_RF-Modules.pdf datasheet]<br />
* [http://www.maxstream.net/products/xbee/product-manual_XBee_OEM_RF-Modules.pdf user manual]<br />
* To program your Xbee you need X-CTU you can download it [http://www.digi.com/support/productdetl.jsp?pid=3352&osvid=57&tp=5&s=316 here]. (only windows)<br />
* explanation on X-CTU [http://www.ladyada.net/make/xbee/configure.html here].<br />
* [http://ftp1.digi.com/support/firmware/update/xbee/ Drivers for XB24 and XBP24 modules]<br />
<br />
=== Digi XBee Pro ZB ("Series 2") ===<br />
<br />
The low-power XBee ZB and extended-range XBee-PRO ZB use the ZigBee PRO Feature Set for advanced mesh networking.<br />
<br />
{|<br />
|-valign="top"<br />
|[[Image:XBee_Pro_2SB.jpg|thumb|left|Digi XBee Pro ZB]]<br />
|<br />
* Low-cost, low-power mesh networking<br />
* Interoperability with ZigBee PRO Feature Set devices from other vendors*<br />
* Support for larger, more dense mesh networks<br />
* 128-bit AES encryption<br />
* Frequency agility<br />
* Over-the-air firmware updates (change firmware remotely)<br />
* ISM 2.4 GHz operating frequency<br />
* XBee: 2 mW (+3 dBm) power output (up to 400 ft RF LOS range)<br />
* XBee-PRO: 50 mW (+17 dBm) power output (up to 1 mile RF LOS range)<br />
* RPSMA connector, U.FL connector, Chip antenna, or Wired Whip antenna<br />
* price : ~34 USD<br />
|<br />
|}<br />
These are available from Mouser:<br><br />
[http://au.mouser.com/Search/Refine.aspx?Keyword=888-XBP24-Z7WIT-004 888-XBP24-Z7WIT-004] XBee-PRO ZB with whip antenna<br><br />
[http://au.mouser.com/Search/Refine.aspx?Keyword=XBP24-Z7SIT-004 888-XBP24-Z7SIT-004] XBee-PRO ZB with RPSMA<br />
<br />
See [[XBee_configuration|XBee Configuration]] for setup.<br />
<br />
==== Documentation ====<br />
* [http://www.digi.com/products/wireless/zigbee-mesh/xbee-zb-module.jsp http://www.digi.com/products/wireless/zigbee-mesh/xbee-zb-module.jsp]<br />
<br />
=== Digi XBee Pro 868 ===<br />
<br />
'''WARNING - THESE MODEMS HAVE A 10% DUTY CYCLE, AND CURRENTLY HAVE SEVERE ISSUES WITH PAPARAZZI'''<br />
<br />
868MHz is a limited band. Please read the [[868MHz Issues]]<br />
<br />
XBee-PRO 868 modules are long range embedded RF modules for European applications. Purpose-built for exceptional RF performance, XBee-PRO 868 modules are ideal for applications with challenging RF environments, such as urban deployments, or where devices are several kilometers apart.<br />
<br />
<br />
{|<br />
|-valign="top"<br />
|[[Image:xbeeproxsc-rpsma.jpg|thumb|left|Maxstream XBee Pro 868]]<br />
|<br />
* 868 MHz short range device (SRD) G3 band for Europe<br />
* Software selectable Transmit Power<br />
* 40 km RF LOS w/ dipole antennas<br />
* 80 km RF LOS w/ high gain antennas (TX Power reduced)<br />
* Simple to use peer-to-peer/point-to-mulitpoint topology<br />
* 128-bit AES encryption<br />
* 500 mW EIRP<br />
* 24 kbps RF data rate<br />
* price : ~70 USD<br />
|<br />
|}<br />
<br />
See [[XBee_configuration#XBee_Pro_868_MHZ|XBee Configuration]] for setup.<br />
<br />
==== Documentation ====<br />
* [http://www.digi.com/products/wireless/point-multipoint/xbee-pro-868.jsp http://www.digi.com/products/wireless/point-multipoint/xbee-pro-868.jsp]<br />
<br />
=== Digi XBee Pro XSC 900MHz ===<br />
<br />
Maxstream has recently announced a promising new line of modems combining the small size and low cost of their popular Xbee line with the long range and 2.4 GHz video compatibility of their high end 900 MHz models. Sounds like the perfect modem for anyone who can use 900 MHz. Give them a try and post your results here!<br />
{|<br />
|-valign="top"<br />
|[[Image:xbeeproxsc-rpsma.jpg|thumb|left|Maxstream XBee Pro XSC]]<br />
|<br />
* Frequency Band 900 MHz<br />
* Output Power 100 mW (+20 dBm)<br />
* Sensitivity -100 dBm <br />
* Data Rate: 9600 bps<br />
* Range (typical, depends on antenna & environment) Up to 24km (15 miles) line-of-sight <br />
* Interface 20-pin mini connector (Xbee compatible pinout)<br />
* RPSMA, integrated whip antenna or U.FL antenna connector (3 versions)<br />
* price : ~75 USD<br />
|<br />
|}<br />
<br />
==== Documentation ====<br />
* [http://www.digi.com/products/wireless/point-multipoint/xbee-pro-xsc.jsp http://www.digi.com/products/wireless/point-multipoint/xbee-pro-xsc.jsp]<br />
==== Trials ====<br />
Tested one today and it worked great. Going to try a multiUAV test with it soon<br />
--Danstah<br />
<br><br />
<br><br />
MultiUAV tests concluded this is probably not the best module to use. Even though it says you can change the baudrate inside x-ctu that is not the case, it is fixed at 9600 bps. This is a great modem however for single UAV's and I do recommend.<br />
--Danstah<br />
<br><br />
<br><br />
Why would the European (868 MHz) be good to 24kbps and this only to 9600? When I was altering my XBees (2.4Ghz Pro's) I had this problem altering baud rates until I read you have to send a "commit and reboot" type command after setting the baud rate. Could this be the case? --GR<br />
<br />
== Maxstream 9XTend ==<br />
<br />
These larger units have been tested on the 900Mhz band, but are also available in 2.4Ghz. They are a bit on the heavy side, about 20 grams, but give good performance at range. They have adjustable transmit power settings from 100mW to 1W. Testing has shown range up to 5.6km (3.5 Miles) with XTend set to 100mW with small 3.1dB dipole antenna.<br />
<br />
{|<br />
|-valign="top"<br />
|<br />
[[Image:XTend_USB_RF_Modem.jpg|frame|left|9XTend USB Modem]]<br />
|<br />
* Frequency Band 900Mhz and 2.4Ghz (2 versions)<br />
* Output Power 1mW to 1W software selectable<br />
* Sensitivity -110 dBm (@ 9600 bps)<br />
* RF Data Rate 9.6 or 115.2 Kbps<br />
* Interface data rate up to 230.4 Kbps<br />
* Power Draw (typical) 730 mA TX / 80 mA RX <br />
* Supply Voltage 2.8 to 5.5v<br />
* Range (typical, depends on antenna & environment) Up to 64km line-of-sight <br />
* Dimensions 36 x 60 x 5mm<br />
* Weight 18 grams<br />
* Interface 20-pin mini connector <br />
* RF connector RPSMA (Reverse-polarity SMA) or MMCX (2 versions)<br />
* price : ~179 USD<br />
|<br />
[[Image:Xtend_module.jpg|frame|left|9XTend OEM Modem]]<br />
|}<br />
<br />
=== Pinout ===<br />
<br />
[[Image:Maxstream_9XTend_Pinout.gif|thumb|left|Maxstream 9XTend Pinout]]<br />
<br />
{| border="1"<br />
|-valign="top"<br />
||'''''9XTend 20-pin Header'''''||'''''Name'''''||'''''Tiny Serial-1 Header'''''||'''''Notes'''''<br />
|-<br />
||1||GND||1 (GND)||Ground <br />
|-<br />
||2||VCC||2 (5V)||5V power (150mA - 730mA Supplied from servo bus or other 5V source)<br />
|-<br />
||5||RX||8 (TX)||3-5V TTL data input - connect to Tiny TX<br />
|-<br />
||6||TX||7 (RX)||5V TTL data output - connect to Tiny RX<br />
|-<br />
||7||Shutdown||2||This pin must be connected to the 5V bus for normal operation<br />
|}<br />
Notes:<br><br />
* 9XTend can run on voltages as low as 2.8V but users are strongly advised against connecting any modem (especially high power models) to the sensitive 3.3V bus supplying the autopilot processor and sensors.<br />
<br style="clear:both"><br />
<br />
=== Documentation ===<br />
<br />
* [http://www.maxstream.net/products/xtend/oem-rf-module.php product page]<br />
* [http://www.maxstream.net/products/xtend/datasheet_XTend_OEM_RF-Module.pdf datasheet]<br />
* [http://www.maxstream.net/products/xtend/product-manual_XTend_OEM_RF-Module.pdf user manual]<br />
<br />
== Aerocomm ==<br />
Aerocomm's API mode is already implemented but some system integration is required. Full API more with addressed packets works well and was tested with AC4790-1x1 5mW low power modules. Maximim range achieved with a whip quater-wave antenna was 1Km.<br />
<br />
How to use this modem on ground station side? [http://paparazzi.enac.fr/wiki/index.php/User:SilaS#SDK-AC4868-250_ground_modem_part]<br />
<br />
See folder paparazzi3 / trunk / sw / aerocomm. It has all the required files to use this modem on the airborne and ground station side. The link.ml file is a direct replacement of the "main" link.ml file of the ground sttaion and will be merged into it in the future.. or you can do it as well.<br />
<br />
<br />
{|<br />
|<br />
=== AC4868-250 ===<br />
* Frequency Band 868MHz (For Europe). 868MHz is a limited band. Please read the [[868MHz Issues]]<br />
* Output Power (w/ 2dBi antenna) 250 mW <br />
* Sensitivity (@ full RF data rate) -103 dB <br />
* RF Data Rate Up to 28.8 Kbps <br />
* INterface Data Rate Up to 57.6 Kbps <br />
* Power Draw (typical) 240 mA TX / 36 mA RX <br />
* Supply Voltage 3.3v & 5V or 3.3v only<br />
* Range (typical, depends on antenna & environment) Up to 15 kilometers line-of-sight <br />
* Dimensions 49 x 42 x 5mm <br />
* Weight < 21 grams<br />
* Interface 20-pin mini connector <br />
* Antenna MMCX jack Connector <br />
* price : ~80$<br />
|<br />
[[Image:ConnexLink_USB_RF_Modem.jpg|thumb|Aerocomm USB Stand-alone Modem]]<br />
|-<br />
|<br />
<br />
=== AC4790-200 ===<br />
* Frequency 902-928MHz (North America, Australia, etc).<br />
* Output Power 5-200mW<br />
* Sensitivity (@ full RF data rate) -110dB<br />
* RF Data Rate up to 76.8 Kbps<br />
* INterface Data Rate Up to Up to 115.2 Kbps <br />
* Power Draw (typical) 68 mA<br />
* Supply Voltage 3.3v & 5.5V<br />
* Range (typical, depends on antenna & environment) Up to 6.4 kilometers line-of-sight <br />
* Dimensions 42 x 48 x 5mm <br />
* Weight < 20 grams<br />
* Interface 20-pin mini connector <br />
* Antenna MMCX jack Connector or internal<br />
* price : ~80$<br />
|<br />
[[Image:ac4868_transceiver.jpg|thumb|left|AC4868 OEM Modem]]<br />
|<br />
|-<br />
|<br />
<br />
=== AC4790-1000 ===<br />
* Frequency 902-928MHz (North America, Australia, etc).<br />
* Output Power 5-1000mW<br />
* Sensitivity (@ full RF data rate) -99dB<br />
* RF Data Rate up to 76.8 Kbps<br />
* INterface Data Rate Up to Up to 115.2 Kbps <br />
* Power Draw (typical) 650 mA<br />
* Supply Voltage 3.3V only<br />
* Range (typical, depends on antenna & environment) Up to 32 kilometers with high-gain antenna<br />
* Dimensions 42 x 48 x 5mm <br />
* Weight < 20 grams<br />
* Interface 20-pin mini connector <br />
* Antenna MMCX jack Connector<br />
* price : ~80$<br />
|}<br />
<br />
=== Pinout ===<br />
<br />
[[Image:Aerocomm_AC4868_pinout.jpg|thumb|left|Aerocomm AC4868 modem pinout]]<br />
[[Image:Aerocomm_AC4490-200_wired.jpg|thumb|left|Aerocomm AC4490 wiring example]]<br />
<br style="clear:both"><br />
<br />
{| border="1"<br />
|+ Wiring the Aerocomm AC4868 to the Tiny<br />
|-valign="top"<br />
||'''''AC4868 20-pin Header'''''||'''''Name'''''||'''''Color'''''||'''''Tiny v1.1 Serial-1'''''||'''''Tiny v2.11 Serial'''''||'''''Notes'''''<br />
|-<br />
||2||Tx||green||7||7||''(Note 1)''<br />
|-<br />
||3||Rx||blue||8||8||''(Note 1)''<br />
|-<br />
||5||GND||black||1||1|| -<br />
|-<br />
||10+11||VCC||red||2||3||+3.3v<br />
|-<br />
||17||C/D||white||3||?||Low = Command High = Data<br />
|}<br />
''Note 1 : names are specified with respect to the AEROCOMM module''<br />
<br />
=== Documentation ===<br />
* [http://www.aerocomm.com/rf_transceiver_modules/ac4790_mesh-ready_transceiver.htm AC4790 product page]<br />
* [http://www.aerocomm.com/docs/Datasheet_AC4790_HI.pdf AC4790 Datasheet]<br />
* [http://www.aerocomm.com/docs/User_Manual_AC4790.pdf AC4790 Manual]<br />
* [http://www.aerocomm.com/rf_transceiver_modules/ac4868_868mhz_rf_transceiver.htm AC4848 product page]<br />
* [http://www.aerocomm.com/docs/Datasheet_AC4868_HI.pdf AC4868 Datasheet]<br />
* [http://www.aerocomm.com/docs/User_Manual_AC4868.pdf AC4868 user manual]<br />
<br />
== Radiotronix ==<br />
These Radiotronix modems are used in transparent mode. Use the WI232EUR Evaluation Software for configuring the modems for the set speed. Connect /CMD and CTS for programming. The DTS version for the US market might cause severe interference with GPS reception, it is not recommended. For a nice ground station modem just add a FTDI232 USB->serial cable, a 3.3V regulator with 100nF capacitors from supplies to ground, solder a SMA cable/connector and put it in a nice case. Make sure you only connect RTS to /CMD if you want to reprogram the modem with the Evaluation software (see the open jumper connection in the picture, green wire) and leave it floating otherwise as connected RTS/CTS sporadically leads to a reprogramming of the modem. The ANT-GXD105-FME/F from [http://www.roundsolutions.com Roundsolutions] was used as a ground station antenna at many competitions. Note that a 1/2 wave dipole antenna works best on-board as it doesn't require a ground-plane and has a reasonably omnidirectional radiation pattern.<br />
{|<br />
|<br />
=== WI232EUR ===<br />
* Frequency Band: 868 MHz (for Europe)<br />
* Output Power: 32 mW <br />
* RF Data Rate: Up to 76.8 kbps <br />
* Interface Data Rate: up to 115.2 kbps <br />
* Power Draw (typical): 65 mA TX / 20 mA RX <br />
* Supply Voltage: 3.3v<br />
* Range (typical, depends on antenna & environment): 500 meters line-of-sight <br />
* Dimensions: 24 x 21 x 4mm <br />
* Weight: ~2 grams<br />
* Interface: solder connector <br />
* Antenna: solder connector <br />
* Price: ~25$<br />
|<br />
[[Image:Wi232eur_wiring.jpg|thumb|WI232EUR Modem (picture shows connection to Tiny 1.1)]]<br />
|-<br />
|<br />
<br />
=== Pinout ===<br />
<br />
<br style="clear:both"><br />
<br />
{| border="1"<br />
|+ Wiring the WI232EUR to the Tiny v1.1<br />
|-valign="top"<br />
||'''''WI232 pins'''''||'''''Name'''''||'''''Tiny Serial-1'''''||'''''Notes'''''<br />
|-<br />
||6||TxD||7||''(Note 1)''<br />
|-<br />
||5||RxD||8||''(Note 1)''<br />
|-<br />
||15-18||GND||1|| - <br />
|-<br />
||19||VCC||2||+3.3v<br />
|-<br />
||4||/CMD||-||''(Note 2)''<br />
|-<br />
||7||CTS||-||''(Note 3)''<br />
|}<br />
''Note 1 : names are specified with respect to the Radiotronix module''<br />
<br />
''Note 2 : connect to RTS to program device with Evaluation software''<br />
<br />
''Note 3 : connect to CTS to program device with Evaluation software''<br />
<br />
|<br />
[[Image:Wi232eur_bopla.jpg|thumb|WI232EUR Modem in BOPLA case]]<br />
|-<br />
|<br />
|}<br />
=== Documentation ===<br />
* [http://www.radiotronix.com/datasheets/new/eur_um.pdf WI232EUR data sheet]<br />
* [http://www.radiotronix.com/datasheets/new/rk-eur_um.pdf WI232EUR user's manual]<br />
* [http://www.radiotronix.com/downloads/software/EUR/setup.exe Evaluation software]<br />
<br />
== Bluetooth ==<br />
These modems do not give you a great range but Bluetooth can be found in a lot of recent laptops built-in. Maybe not useful for fixed wing aircrafts it might be used for in-the-shop testing or quadcopters. Make sure you get a recent Class 1 EDR 2.0 stick if you buy one for your computer.<br />
{|<br />
|<br />
=== "Sparkfun" Roving Networks (WRL-08497) ===<br />
* Frequency Band 2.4GHz<br />
* Output Power 32 mW <br />
* RF Data Rate up to ~300 kbps in SPP<br />
* Interface Data Rate up to 921 kbps <br />
* Power Draw (typical) 50 mA TX / 40 mA RX <br />
* Supply Voltage 3.3v<br />
* Range (typical, depends on antenna & environment) 100 meters line-of-sight <br />
* Dimensions 26 x 13 x 2mm <br />
* Weight ~1.5 grams<br />
* Interface solder connector <br />
* price : ~45$<br />
|<br />
[[Image:roving_nw_wiring.jpg|thumb|Roving Networks modem wiring]]<br />
|-<br />
|<br />
<br />
To connect to it, get the MAC address of the bluetooth modem<br />
<br />
me@mybox:~$ hcitool scan<br />
Scanning ...<br />
00:06:66:00:53:AD FireFly-53AD<br />
<br />
either make a virtual connection to a Bluetooth serial port each time you connect<br />
<br />
sudo rfcomm bind 0 00:06:66:00:53:AD<br />
<br />
or configure it once in /etc/bluetooth/rfcomm.conf<br />
<br />
rfcomm0 {<br />
bind yes;<br />
device 00:06:66:00:53:AD;<br />
}<br />
<br />
now you can use Bluetooth as '''/dev/rfcomm0''' with the Paparazzi 'link'. You might need to restart 'link' in case you get out of range and it disconnects (tbd). Set the Tiny serial speed to 115200 as the modules come preconfigured to that.<br />
|}<br />
<br />
== Coronis WaveCard ==<br />
<br />
These relatively inexpensive and light modules implement a Coronis proprietary protocol. Low power consumption - high latency - I would not recommend these modules mostly because of the low quality of the distribution and support. The documentation is rather poor and not easily available.<br />
<br />
'''Suport for these modems has been removed from the airborne code on Dec 10th, 2007.'''<br />
{|<br />
|-valign="top"<br />
|<br />
* Frequency Band 400MHz, 868Mhz and 915MHz (3 versions)<br />
* Output Power 25mW and 500mW (2 versions)<br />
* Sensitivity -110 dBm (@ 9600 bps)<br />
* Data Rate 100 Kbps<br />
* Power Draw (typical) 45mA (25mW), 450mA (500mW) TX / 15 mA RX <br />
* Supply Voltage ...<br />
* Range (typical, depends on antenna & environment) Up to 1km (25mW) , 5km (500mW) line-of-sight <br />
* Dimensions 30 x 28 x 7mm (25mW), 37 x 30 x 7mm (500mW)<br />
* 50 ohm RF port for antenna connection<br />
|<br />
[[Image:wavecard.jpg|Coronis Wavecard]]<br />
|}<br />
<br />
=== Documentation ===<br />
<br />
* [http://www.coronis-systems.com/produit.php?lang=EN&id=WCA www.coronis-systems.com]<br />
* [[Media:CS-COM-SPRD-WAVECARD-E03B.pdf|Wavecard datasheet]]<br />
<br />
== Telemetry via Video Transmitter==<br />
<br />
[[Image:video_tx_small.jpg|thumb|2.4GHz Video Transmitter]]<br />
In order for the UAV to transmit video from an onboard camera, an analog video transmitter can be used. These vary in power, and thus range, and run normally on 2.4Ghz. Small UAVs can get about 600m of range from the 50mW version, and extended range can be achieved using units up to 1W. Weight for these units varies from a couple grams to about 30 for the 1W with shielding. Please check for your countries regulations on 2.4Ghz transmission, as each is different. <br />
<br />
It is possible to use the audio channel to send simple telemetry data to the groundstation. Uploading telemetry not possible via analog audio transmitter only.<br />
<br style="clear:both"><br />
<br />
== Antennas ==<br />
<br />
Here are some examples of lightweight and efficient 868MHz antennas developped by the RF laboratory at ENAC.<br />
[[Image:868mhz_twinstar_antenna_1.jpg|thumb|left|868MHz copper foil antenna attached to the aircraft tail]] <br />
[[Image:868mhz_twinstar_antenna_2.jpg|thumb|left|868MHz copper foil antenna bottom view]] <br />
[[Image:868mhz_ground_antenna.jpg|thumb|left|868MHz ground antenna]] <br />
<br style="clear:both"><br />
<br />
This wiki page might give some ideas about antennas: http://en.wikipedia.org/wiki/Dipole_antenna<br />
<br />
[[Category:Hardware]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=File:XBee_Pro_2SB.jpg&diff=9374File:XBee Pro 2SB.jpg2011-05-22T13:08:08Z<p>Aerovista: </p>
<hr />
<div></div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=Modems&diff=9373Modems2011-05-22T13:04:55Z<p>Aerovista: /* Digi XBee Pro ZB ("Series 2") */</p>
<hr />
<div>The Paparazzi autopilot features a 5V tolerant 3V TTL serial port to interface with any common radio modem. The bidirectional link provides real-time telemetry and in-flight tuning and navigation commands. The system is also capable overlaying the appropriate protocols to communicate thru non-transparent devices such as the Coronis Wavecard or Maxstream API-enabled products, allowing for hardware addressing for multiple aircraft or future enhancements such as data-relaying, inter-aircraft communication, RSSI signal monitoring and automatic in-flight modem power adjustment. Below is a list of some of the common modems used with Paparazzi, for details on configuring your modem see the [[Airframe_Configuration#Telemetry_.28Modem.29|Airframe Configuration]] and [[XBee_configuration|XBee Configuration]] pages.<br />
<br />
== Digi XBee modules ==<br />
<br />
Digi (formerly Maxstream) offers an increasing variety of Zigbee protocol modems well suited for Paparazzi in 2.4 GHz, 900MHz and 868Mhz frequencies. The "Pro" series are long range, up to 40km! Standard series are slightly smaller/lighter/lower power consumption and very short range. All versions are all pin compatible and weigh around 2 grams with wire antennas. All Digi modems can be operated in transparent mode (as a serial line replacement) or in "API mode" with hardware addressing, managed networking, and RSSI (signal strength) data with the Paparazzi "Xbee" option. Three antenna options are offered: the SMA version is ideal for ground modems, wire antennas for aircraft, and chip antennas for those with very limited space.<br />
<br />
* XBee (PRO) ZB (the current series)<br />
* XBee (PRO) ZNet 2.5 (formerly Series 2) (only legacy -> use XBee-PRO ZB)<br />
The XBee & XBee-PRO ZB share hardware (ember stack) with XBee & XBee-PRO ZNet 2.5. As a result, modules can be "converted" from one platform to another by loading different firmware onto a given module.<br />
<br />
These two also share the same hardware and can be converted from one to another by flashing a different firmware:<br />
* XBee-PRO 802.15.4 (formerly Series 1)<br />
* XBee-PRO DigiMesh 2.4<br />
<br />
'''Note: Modules based on Freescale chipset (formerly Series 1) are not compatible with Ember chipset based modules (Series 2).'''<br />
Also see the [http://www.jsjf.demon.co.uk/xbee/faq.htm| unofficial XBee FAQ] for this.<br />
<br />
See the [[XBee_configuration|XBee Configuration]] page. This [http://pixhawk.ethz.ch/tutorials/how_to_configure_xbee tutorial] is also good to configure and get started with XBee Pro.<br />
<br />
=== Module Comparison ===<br />
{|border="1"<br />
|-valign="top"<br />
||'''Module'''||'''Point-to-Multipoint'''||'''ZigBee/Mesh'''||'''Chipset'''|||'''Software stack'''||'''Frequency'''||'''TX Power normal/PRO'''||'''Notes'''<br />
|-<br />
|'''XBee ZB'''<br />
|<br />
|yes<br />
|Ember<br />
|EmberZNet PRO 3.1 (ZigBee 2007)<br />
|2.4 GHz<br />
|2mW/50mW<br />
|coordinator needed<br />
|-<br />
|'''XBee ZNet 2.5'''<br />
|<br />
|yes<br />
|Ember<br />
|EmberZNet 2.5 ZigBee<br />
|2.4 GHz<br />
|2mW/50mW<br />
|(only legacy -> use XBee-PRO ZB) coordinator needed<br />
|-<br />
|'''XBee DigiMesh 2.4'''<br />
|<br />
|yes<br />
|Freescale<br />
|<br />
|2.4 GHz<br />
|<br />
|all nodes equal (no special coordinators/routers/end-devices)<br />
|-<br />
|'''XBee 802.15.4'''<br />
|yes<br />
|<br />
|Freescale<br />
|<br />
|2.4 GHz<br />
|<br />
|<br />
|-<br />
|'''XBee-PRO 868'''<br />
|yes<br />
|<br />
|?<br />
|<br />
|868 MHz<br />
|500mW<br />
|Only High Power Frequency allowed in the UK. 2.4GHz limited to 10mW<br />
|}<br />
<br />
<br />
==== Comparison Conclusion ====<br />
<br />
(Copied from DIGI manual)<br />
<br />
''If the application strictly needs to communicate in a point-to-point or a point-to-multipoint <br />
fashion, 802.15.4 will be able handle all the communications between your devices and will <br />
be simpler to implement than trying to use a module with ZigBee firmware to accomplish the <br />
same goal. ZigBee is necessary if you need to use repeating or the mesh networking <br />
functionality.'' <br />
<br />
-Interpretation for paparazzi: if inter-aircraft communication is required one should go for the zigbee ZB series 2 modules. <br />
<br />
==== Pinout ====<br />
<br />
[[Image:Maxstream_Xbee_pinout.jpg|left|thumb|Maxstream XBee pinout]]<br />
<br style="clear:both"><br />
<br />
{|border="1"<br />
|-valign="top"<br />
||''Xbee 20-pin Header''||''Name''||''Notes''||''Suggested Color''||<br />
|-<br />
|1<br />
| +3.3v<br />
| Power<br />
|Red<br />
|-<br />
|2<br />
|DOUT<br />
|Tx output - connect to Autopilot Rx<br />
|Green<br />
|-<br />
|3<br />
|DIN<br />
|Rx input - connect to Autopilot Tx<br />
|Blue<br />
|-<br />
|10<br />
|GND<br />
| Ground<br />
|Black<br />
|}<br />
<br />
The image view is from above, top, thus NOT at the side where the connector pins come out<br />
<br />
Note : DTR and RTS need to be wired for upgrading firmware<br />
<br />
=== GCS Adaptation ===<br />
<br />
There are several vendors of hardware to connect the ground XBee radio modem to the GCS computer.<br />
<br />
====Adafruit====<br />
<br />
[[Image:xbeeadapter_LRG.jpg|thumb|left|Adafruit XBee adapter board]][[Image:xbeeadapterftdi_LRG.jpg|thumb|Adafruit XBee adapter with FTDI cable]]<br />
[http://www.adafruit.com/index.php?main_page=product_info&cPath=29&products_id=126 Adafruit] (yes, that really is their name) offers a great adapter board kit for the Xbee modules that includes a 5-3.3V voltage regulator, power and activity LEDs, and pins to connect directly to your FTDI cable for $10! Some assembly required.<br />
<br />
<br style="clear:both"><br />
<br />
====Droids====<br />
<br />
[[Image:XBee_Simple_Board.jpg|thumb|left|XBee Simple Board]]<br />
<br />
[[Image:XBee_USB_Board.jpg|thumb|left|XBee USB Board]]<br />
<br />
[http://www.droids.it/cmsvb4/content.php?143-990.001-XBee-Simple-Board XBee Simple Board]<br />
<br />
Simpler, lighter, smaller footprint, bit more expensive, comes assembled and tested. --GR<br />
<br />
<br />
[http://www.droids.it/cmsvb4/content.php?152-990.002-XBee-USB-Board XBee USB Board]<br />
<br />
For direct connection to USB (no FTDI cable required)<br />
<br />
<br style="clear:both"><br />
<br />
====PPZUAV====<br />
<br />
[[Image:FTDI_Utility_Board.jpg|thumb|left|FTDI Utility Board 1.0]]<br />
<br />
[https://mini.ppzuav.com/osc/product_info.php?cPath=13&products_id=111 ppzuav.com]<br />
<br />
FTDI Utility Board 1.0 (no FTDI cable required)<br />
<br />
<br style="clear:both"><br />
<br />
====Sparkfun====<br />
<br />
[[Image:XBee_Explorer_USB.jpg|thumb|left|XBee Explorer USB]]<br />
<br />
[http://www.sparkfun.com/products/8687 sparkfun.com]<br />
<br />
XBee Explorer USB (no FTDI cable required)<br />
<br />
<br style="clear:both"><br />
<br />
=== Digi XBee Pro DigiMesh / 802.15.4 ("Series 1") ===<br />
*Note: Products based on XBee ZNet 2.5 (formerly Series 2) modules do not communicate with products based on XBee DigiMesh / 802.15.4 (formerly Series 1) modules.<br />
<br />
These relatively cheap and light modules implement the [http://www.zigbee.org/en/index.asp ZigBee/IEEE 802.15.4] norm. They allow up to 1.6km (1 mile) range (Paparazzi tested to 2.5km (1.5 miles)). The main drawback of using such 2.4Ghz modules for datalink is that it will interfere with the 2.4Ghz analog video transmitters and a inevitable decrease in range when in proximity to any wifi devices. For the plane, get the whip antenna version if you are not planning to build a custom antenna.<br />
<br />
{|<br />
|-valign="top"<br />
|[[Image:Xbee_Pro_USB_RF_Modem.jpg|thumb|left|XBee Pro USB Stand-alone Modem (XBP24-PKC-001-UA)]]<br />
|<br />
* Frequency Band 2.4Ghz<br />
* Output Power 100mW (Xbee Pro)<br />
* Sensitivity -100 dBm <br />
* RF Data Rate Up to 250 Kbps<br />
* Interface data rate Up to 115.2 Kbps<br />
* Power Draw (typical) 214 mA TX / 55 mA RX <br />
* Supply Voltage 3.3v<br />
* Range (typical, depends on antenna & environment) Up to 1500m line-of-sight <br />
* Dimensions 24 x 33mm<br />
* Weight 4 grams<br />
* Interface 20-pin mini connector <br />
* Chip antenna, ¼ monopole integrated whip antenna or a U.FL antenna connector (3 versions)<br />
* Price: Approximately $32<br />
|<br />
[[Image:XBee_pro.jpg|thumb|left|XBee Pro OEM Modem]]<br />
|}<br />
Mouser: [http://au.mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMtJacPDJcUJYzVn8vIv7g2fIpf5DCzJqko%3d 888-XBP24-PKC-001-UA]<br><br />
NOTE: If you wish to use this unit with another XBee type other than the 802.15.4 (i.e. XBee-PRO ZB) then purchase a modem with the U.fl connector.<br />
<br />
==== Documentation ====<br />
<br />
* [http://www.maxstream.net/products/xbee/xbee-pro-oem-rf-module-zigbee.php product page]<br />
* [http://www.maxstream.net/products/xbee/datasheet_XBee_OEM_RF-Modules.pdf datasheet]<br />
* [http://www.maxstream.net/products/xbee/product-manual_XBee_OEM_RF-Modules.pdf user manual]<br />
* To program your Xbee you need X-CTU you can download it [http://www.digi.com/support/productdetl.jsp?pid=3352&osvid=57&tp=5&s=316 here]. (only windows)<br />
* explanation on X-CTU [http://www.ladyada.net/make/xbee/configure.html here].<br />
* [http://ftp1.digi.com/support/firmware/update/xbee/ Drivers for XB24 and XBP24 modules]<br />
<br />
=== Digi XBee Pro ZB ("Series 2") ===<br />
<br />
The low-power XBee ZB and extended-range XBee-PRO ZB use the ZigBee PRO Feature Set for advanced mesh networking.<br />
<br />
{|<br />
|-valign="top"<br />
|[[Image:Prd-xbeemoduleseries2.jpg|thumb|left|Maxstream XBee Pro ZB]]<br />
|<br />
* Low-cost, low-power mesh networking<br />
* Interoperability with ZigBee PRO Feature Set devices from other vendors*<br />
* Support for larger, more dense mesh networks<br />
* 128-bit AES encryption<br />
* Frequency agility<br />
* Over-the-air firmware updates (change firmware remotely)<br />
* ISM 2.4 GHz operating frequency<br />
* XBee: 2 mW (+3 dBm) power output (up to 400 ft RF LOS range)<br />
* XBee-PRO: 50 mW (+17 dBm) power output (up to 1 mile RF LOS range)<br />
* RPSMA connector, U.FL connector, Chip antenna, or Wired Whip antenna<br />
* price : ~34 USD<br />
|<br />
|}<br />
These are available from Mouser:<br><br />
[http://au.mouser.com/Search/Refine.aspx?Keyword=888-XBP24-Z7WIT-004 888-XBP24-Z7WIT-004] XBee-PRO ZB with whip antenna<br><br />
[http://au.mouser.com/Search/Refine.aspx?Keyword=XBP24-Z7SIT-004 888-XBP24-Z7SIT-004] XBee-PRO ZB with RPSMA<br />
<br />
See [[XBee_configuration|XBee Configuration]] for setup.<br />
<br />
==== Documentation ====<br />
* [http://www.digi.com/products/wireless/zigbee-mesh/xbee-zb-module.jsp http://www.digi.com/products/wireless/zigbee-mesh/xbee-zb-module.jsp]<br />
<br />
=== Digi XBee Pro 868 ===<br />
<br />
'''WARNING - THESE MODEMS HAVE A 10% DUTY CYCLE, AND CURRENTLY HAVE SEVERE ISSUES WITH PAPARAZZI'''<br />
<br />
868MHz is a limited band. Please read the [[868MHz Issues]]<br />
<br />
XBee-PRO 868 modules are long range embedded RF modules for European applications. Purpose-built for exceptional RF performance, XBee-PRO 868 modules are ideal for applications with challenging RF environments, such as urban deployments, or where devices are several kilometers apart.<br />
<br />
<br />
{|<br />
|-valign="top"<br />
|[[Image:xbeeproxsc-rpsma.jpg|thumb|left|Maxstream XBee Pro 868]]<br />
|<br />
* 868 MHz short range device (SRD) G3 band for Europe<br />
* Software selectable Transmit Power<br />
* 40 km RF LOS w/ dipole antennas<br />
* 80 km RF LOS w/ high gain antennas (TX Power reduced)<br />
* Simple to use peer-to-peer/point-to-mulitpoint topology<br />
* 128-bit AES encryption<br />
* 500 mW EIRP<br />
* 24 kbps RF data rate<br />
* price : ~70 USD<br />
|<br />
|}<br />
<br />
See [[XBee_configuration#XBee_Pro_868_MHZ|XBee Configuration]] for setup.<br />
<br />
==== Documentation ====<br />
* [http://www.digi.com/products/wireless/point-multipoint/xbee-pro-868.jsp http://www.digi.com/products/wireless/point-multipoint/xbee-pro-868.jsp]<br />
<br />
=== Digi XBee Pro XSC 900MHz ===<br />
<br />
Maxstream has recently announced a promising new line of modems combining the small size and low cost of their popular Xbee line with the long range and 2.4 GHz video compatibility of their high end 900 MHz models. Sounds like the perfect modem for anyone who can use 900 MHz. Give them a try and post your results here!<br />
{|<br />
|-valign="top"<br />
|[[Image:xbeeproxsc-rpsma.jpg|thumb|left|Maxstream XBee Pro XSC]]<br />
|<br />
* Frequency Band 900 MHz<br />
* Output Power 100 mW (+20 dBm)<br />
* Sensitivity -100 dBm <br />
* Data Rate: 9600 bps<br />
* Range (typical, depends on antenna & environment) Up to 24km (15 miles) line-of-sight <br />
* Interface 20-pin mini connector (Xbee compatible pinout)<br />
* RPSMA, integrated whip antenna or U.FL antenna connector (3 versions)<br />
* price : ~75 USD<br />
|<br />
|}<br />
<br />
==== Documentation ====<br />
* [http://www.digi.com/products/wireless/point-multipoint/xbee-pro-xsc.jsp http://www.digi.com/products/wireless/point-multipoint/xbee-pro-xsc.jsp]<br />
==== Trials ====<br />
Tested one today and it worked great. Going to try a multiUAV test with it soon<br />
--Danstah<br />
<br><br />
<br><br />
MultiUAV tests concluded this is probably not the best module to use. Even though it says you can change the baudrate inside x-ctu that is not the case, it is fixed at 9600 bps. This is a great modem however for single UAV's and I do recommend.<br />
--Danstah<br />
<br><br />
<br><br />
Why would the European (868 MHz) be good to 24kbps and this only to 9600? When I was altering my XBees (2.4Ghz Pro's) I had this problem altering baud rates until I read you have to send a "commit and reboot" type command after setting the baud rate. Could this be the case? --GR<br />
<br />
== Maxstream 9XTend ==<br />
<br />
These larger units have been tested on the 900Mhz band, but are also available in 2.4Ghz. They are a bit on the heavy side, about 20 grams, but give good performance at range. They have adjustable transmit power settings from 100mW to 1W. Testing has shown range up to 5.6km (3.5 Miles) with XTend set to 100mW with small 3.1dB dipole antenna.<br />
<br />
{|<br />
|-valign="top"<br />
|<br />
[[Image:XTend_USB_RF_Modem.jpg|frame|left|9XTend USB Modem]]<br />
|<br />
* Frequency Band 900Mhz and 2.4Ghz (2 versions)<br />
* Output Power 1mW to 1W software selectable<br />
* Sensitivity -110 dBm (@ 9600 bps)<br />
* RF Data Rate 9.6 or 115.2 Kbps<br />
* Interface data rate up to 230.4 Kbps<br />
* Power Draw (typical) 730 mA TX / 80 mA RX <br />
* Supply Voltage 2.8 to 5.5v<br />
* Range (typical, depends on antenna & environment) Up to 64km line-of-sight <br />
* Dimensions 36 x 60 x 5mm<br />
* Weight 18 grams<br />
* Interface 20-pin mini connector <br />
* RF connector RPSMA (Reverse-polarity SMA) or MMCX (2 versions)<br />
* price : ~179 USD<br />
|<br />
[[Image:Xtend_module.jpg|frame|left|9XTend OEM Modem]]<br />
|}<br />
<br />
=== Pinout ===<br />
<br />
[[Image:Maxstream_9XTend_Pinout.gif|thumb|left|Maxstream 9XTend Pinout]]<br />
<br />
{| border="1"<br />
|-valign="top"<br />
||'''''9XTend 20-pin Header'''''||'''''Name'''''||'''''Tiny Serial-1 Header'''''||'''''Notes'''''<br />
|-<br />
||1||GND||1 (GND)||Ground <br />
|-<br />
||2||VCC||2 (5V)||5V power (150mA - 730mA Supplied from servo bus or other 5V source)<br />
|-<br />
||5||RX||8 (TX)||3-5V TTL data input - connect to Tiny TX<br />
|-<br />
||6||TX||7 (RX)||5V TTL data output - connect to Tiny RX<br />
|-<br />
||7||Shutdown||2||This pin must be connected to the 5V bus for normal operation<br />
|}<br />
Notes:<br><br />
* 9XTend can run on voltages as low as 2.8V but users are strongly advised against connecting any modem (especially high power models) to the sensitive 3.3V bus supplying the autopilot processor and sensors.<br />
<br style="clear:both"><br />
<br />
=== Documentation ===<br />
<br />
* [http://www.maxstream.net/products/xtend/oem-rf-module.php product page]<br />
* [http://www.maxstream.net/products/xtend/datasheet_XTend_OEM_RF-Module.pdf datasheet]<br />
* [http://www.maxstream.net/products/xtend/product-manual_XTend_OEM_RF-Module.pdf user manual]<br />
<br />
== Aerocomm ==<br />
Aerocomm's API mode is already implemented but some system integration is required. Full API more with addressed packets works well and was tested with AC4790-1x1 5mW low power modules. Maximim range achieved with a whip quater-wave antenna was 1Km.<br />
<br />
How to use this modem on ground station side? [http://paparazzi.enac.fr/wiki/index.php/User:SilaS#SDK-AC4868-250_ground_modem_part]<br />
<br />
See folder paparazzi3 / trunk / sw / aerocomm. It has all the required files to use this modem on the airborne and ground station side. The link.ml file is a direct replacement of the "main" link.ml file of the ground sttaion and will be merged into it in the future.. or you can do it as well.<br />
<br />
<br />
{|<br />
|<br />
=== AC4868-250 ===<br />
* Frequency Band 868MHz (For Europe). 868MHz is a limited band. Please read the [[868MHz Issues]]<br />
* Output Power (w/ 2dBi antenna) 250 mW <br />
* Sensitivity (@ full RF data rate) -103 dB <br />
* RF Data Rate Up to 28.8 Kbps <br />
* INterface Data Rate Up to 57.6 Kbps <br />
* Power Draw (typical) 240 mA TX / 36 mA RX <br />
* Supply Voltage 3.3v & 5V or 3.3v only<br />
* Range (typical, depends on antenna & environment) Up to 15 kilometers line-of-sight <br />
* Dimensions 49 x 42 x 5mm <br />
* Weight < 21 grams<br />
* Interface 20-pin mini connector <br />
* Antenna MMCX jack Connector <br />
* price : ~80$<br />
|<br />
[[Image:ConnexLink_USB_RF_Modem.jpg|thumb|Aerocomm USB Stand-alone Modem]]<br />
|-<br />
|<br />
<br />
=== AC4790-200 ===<br />
* Frequency 902-928MHz (North America, Australia, etc).<br />
* Output Power 5-200mW<br />
* Sensitivity (@ full RF data rate) -110dB<br />
* RF Data Rate up to 76.8 Kbps<br />
* INterface Data Rate Up to Up to 115.2 Kbps <br />
* Power Draw (typical) 68 mA<br />
* Supply Voltage 3.3v & 5.5V<br />
* Range (typical, depends on antenna & environment) Up to 6.4 kilometers line-of-sight <br />
* Dimensions 42 x 48 x 5mm <br />
* Weight < 20 grams<br />
* Interface 20-pin mini connector <br />
* Antenna MMCX jack Connector or internal<br />
* price : ~80$<br />
|<br />
[[Image:ac4868_transceiver.jpg|thumb|left|AC4868 OEM Modem]]<br />
|<br />
|-<br />
|<br />
<br />
=== AC4790-1000 ===<br />
* Frequency 902-928MHz (North America, Australia, etc).<br />
* Output Power 5-1000mW<br />
* Sensitivity (@ full RF data rate) -99dB<br />
* RF Data Rate up to 76.8 Kbps<br />
* INterface Data Rate Up to Up to 115.2 Kbps <br />
* Power Draw (typical) 650 mA<br />
* Supply Voltage 3.3V only<br />
* Range (typical, depends on antenna & environment) Up to 32 kilometers with high-gain antenna<br />
* Dimensions 42 x 48 x 5mm <br />
* Weight < 20 grams<br />
* Interface 20-pin mini connector <br />
* Antenna MMCX jack Connector<br />
* price : ~80$<br />
|}<br />
<br />
=== Pinout ===<br />
<br />
[[Image:Aerocomm_AC4868_pinout.jpg|thumb|left|Aerocomm AC4868 modem pinout]]<br />
[[Image:Aerocomm_AC4490-200_wired.jpg|thumb|left|Aerocomm AC4490 wiring example]]<br />
<br style="clear:both"><br />
<br />
{| border="1"<br />
|+ Wiring the Aerocomm AC4868 to the Tiny<br />
|-valign="top"<br />
||'''''AC4868 20-pin Header'''''||'''''Name'''''||'''''Color'''''||'''''Tiny v1.1 Serial-1'''''||'''''Tiny v2.11 Serial'''''||'''''Notes'''''<br />
|-<br />
||2||Tx||green||7||7||''(Note 1)''<br />
|-<br />
||3||Rx||blue||8||8||''(Note 1)''<br />
|-<br />
||5||GND||black||1||1|| -<br />
|-<br />
||10+11||VCC||red||2||3||+3.3v<br />
|-<br />
||17||C/D||white||3||?||Low = Command High = Data<br />
|}<br />
''Note 1 : names are specified with respect to the AEROCOMM module''<br />
<br />
=== Documentation ===<br />
* [http://www.aerocomm.com/rf_transceiver_modules/ac4790_mesh-ready_transceiver.htm AC4790 product page]<br />
* [http://www.aerocomm.com/docs/Datasheet_AC4790_HI.pdf AC4790 Datasheet]<br />
* [http://www.aerocomm.com/docs/User_Manual_AC4790.pdf AC4790 Manual]<br />
* [http://www.aerocomm.com/rf_transceiver_modules/ac4868_868mhz_rf_transceiver.htm AC4848 product page]<br />
* [http://www.aerocomm.com/docs/Datasheet_AC4868_HI.pdf AC4868 Datasheet]<br />
* [http://www.aerocomm.com/docs/User_Manual_AC4868.pdf AC4868 user manual]<br />
<br />
== Radiotronix ==<br />
These Radiotronix modems are used in transparent mode. Use the WI232EUR Evaluation Software for configuring the modems for the set speed. Connect /CMD and CTS for programming. The DTS version for the US market might cause severe interference with GPS reception, it is not recommended. For a nice ground station modem just add a FTDI232 USB->serial cable, a 3.3V regulator with 100nF capacitors from supplies to ground, solder a SMA cable/connector and put it in a nice case. Make sure you only connect RTS to /CMD if you want to reprogram the modem with the Evaluation software (see the open jumper connection in the picture, green wire) and leave it floating otherwise as connected RTS/CTS sporadically leads to a reprogramming of the modem. The ANT-GXD105-FME/F from [http://www.roundsolutions.com Roundsolutions] was used as a ground station antenna at many competitions. Note that a 1/2 wave dipole antenna works best on-board as it doesn't require a ground-plane and has a reasonably omnidirectional radiation pattern.<br />
{|<br />
|<br />
=== WI232EUR ===<br />
* Frequency Band: 868 MHz (for Europe)<br />
* Output Power: 32 mW <br />
* RF Data Rate: Up to 76.8 kbps <br />
* Interface Data Rate: up to 115.2 kbps <br />
* Power Draw (typical): 65 mA TX / 20 mA RX <br />
* Supply Voltage: 3.3v<br />
* Range (typical, depends on antenna & environment): 500 meters line-of-sight <br />
* Dimensions: 24 x 21 x 4mm <br />
* Weight: ~2 grams<br />
* Interface: solder connector <br />
* Antenna: solder connector <br />
* Price: ~25$<br />
|<br />
[[Image:Wi232eur_wiring.jpg|thumb|WI232EUR Modem (picture shows connection to Tiny 1.1)]]<br />
|-<br />
|<br />
<br />
=== Pinout ===<br />
<br />
<br style="clear:both"><br />
<br />
{| border="1"<br />
|+ Wiring the WI232EUR to the Tiny v1.1<br />
|-valign="top"<br />
||'''''WI232 pins'''''||'''''Name'''''||'''''Tiny Serial-1'''''||'''''Notes'''''<br />
|-<br />
||6||TxD||7||''(Note 1)''<br />
|-<br />
||5||RxD||8||''(Note 1)''<br />
|-<br />
||15-18||GND||1|| - <br />
|-<br />
||19||VCC||2||+3.3v<br />
|-<br />
||4||/CMD||-||''(Note 2)''<br />
|-<br />
||7||CTS||-||''(Note 3)''<br />
|}<br />
''Note 1 : names are specified with respect to the Radiotronix module''<br />
<br />
''Note 2 : connect to RTS to program device with Evaluation software''<br />
<br />
''Note 3 : connect to CTS to program device with Evaluation software''<br />
<br />
|<br />
[[Image:Wi232eur_bopla.jpg|thumb|WI232EUR Modem in BOPLA case]]<br />
|-<br />
|<br />
|}<br />
=== Documentation ===<br />
* [http://www.radiotronix.com/datasheets/new/eur_um.pdf WI232EUR data sheet]<br />
* [http://www.radiotronix.com/datasheets/new/rk-eur_um.pdf WI232EUR user's manual]<br />
* [http://www.radiotronix.com/downloads/software/EUR/setup.exe Evaluation software]<br />
<br />
== Bluetooth ==<br />
These modems do not give you a great range but Bluetooth can be found in a lot of recent laptops built-in. Maybe not useful for fixed wing aircrafts it might be used for in-the-shop testing or quadcopters. Make sure you get a recent Class 1 EDR 2.0 stick if you buy one for your computer.<br />
{|<br />
|<br />
=== "Sparkfun" Roving Networks (WRL-08497) ===<br />
* Frequency Band 2.4GHz<br />
* Output Power 32 mW <br />
* RF Data Rate up to ~300 kbps in SPP<br />
* Interface Data Rate up to 921 kbps <br />
* Power Draw (typical) 50 mA TX / 40 mA RX <br />
* Supply Voltage 3.3v<br />
* Range (typical, depends on antenna & environment) 100 meters line-of-sight <br />
* Dimensions 26 x 13 x 2mm <br />
* Weight ~1.5 grams<br />
* Interface solder connector <br />
* price : ~45$<br />
|<br />
[[Image:roving_nw_wiring.jpg|thumb|Roving Networks modem wiring]]<br />
|-<br />
|<br />
<br />
To connect to it, get the MAC address of the bluetooth modem<br />
<br />
me@mybox:~$ hcitool scan<br />
Scanning ...<br />
00:06:66:00:53:AD FireFly-53AD<br />
<br />
either make a virtual connection to a Bluetooth serial port each time you connect<br />
<br />
sudo rfcomm bind 0 00:06:66:00:53:AD<br />
<br />
or configure it once in /etc/bluetooth/rfcomm.conf<br />
<br />
rfcomm0 {<br />
bind yes;<br />
device 00:06:66:00:53:AD;<br />
}<br />
<br />
now you can use Bluetooth as '''/dev/rfcomm0''' with the Paparazzi 'link'. You might need to restart 'link' in case you get out of range and it disconnects (tbd). Set the Tiny serial speed to 115200 as the modules come preconfigured to that.<br />
|}<br />
<br />
== Coronis WaveCard ==<br />
<br />
These relatively inexpensive and light modules implement a Coronis proprietary protocol. Low power consumption - high latency - I would not recommend these modules mostly because of the low quality of the distribution and support. The documentation is rather poor and not easily available.<br />
<br />
'''Suport for these modems has been removed from the airborne code on Dec 10th, 2007.'''<br />
{|<br />
|-valign="top"<br />
|<br />
* Frequency Band 400MHz, 868Mhz and 915MHz (3 versions)<br />
* Output Power 25mW and 500mW (2 versions)<br />
* Sensitivity -110 dBm (@ 9600 bps)<br />
* Data Rate 100 Kbps<br />
* Power Draw (typical) 45mA (25mW), 450mA (500mW) TX / 15 mA RX <br />
* Supply Voltage ...<br />
* Range (typical, depends on antenna & environment) Up to 1km (25mW) , 5km (500mW) line-of-sight <br />
* Dimensions 30 x 28 x 7mm (25mW), 37 x 30 x 7mm (500mW)<br />
* 50 ohm RF port for antenna connection<br />
|<br />
[[Image:wavecard.jpg|Coronis Wavecard]]<br />
|}<br />
<br />
=== Documentation ===<br />
<br />
* [http://www.coronis-systems.com/produit.php?lang=EN&id=WCA www.coronis-systems.com]<br />
* [[Media:CS-COM-SPRD-WAVECARD-E03B.pdf|Wavecard datasheet]]<br />
<br />
== Telemetry via Video Transmitter==<br />
<br />
[[Image:video_tx_small.jpg|thumb|2.4GHz Video Transmitter]]<br />
In order for the UAV to transmit video from an onboard camera, an analog video transmitter can be used. These vary in power, and thus range, and run normally on 2.4Ghz. Small UAVs can get about 600m of range from the 50mW version, and extended range can be achieved using units up to 1W. Weight for these units varies from a couple grams to about 30 for the 1W with shielding. Please check for your countries regulations on 2.4Ghz transmission, as each is different. <br />
<br />
It is possible to use the audio channel to send simple telemetry data to the groundstation. Uploading telemetry not possible via analog audio transmitter only.<br />
<br style="clear:both"><br />
<br />
== Antennas ==<br />
<br />
Here are some examples of lightweight and efficient 868MHz antennas developped by the RF laboratory at ENAC.<br />
[[Image:868mhz_twinstar_antenna_1.jpg|thumb|left|868MHz copper foil antenna attached to the aircraft tail]] <br />
[[Image:868mhz_twinstar_antenna_2.jpg|thumb|left|868MHz copper foil antenna bottom view]] <br />
[[Image:868mhz_ground_antenna.jpg|thumb|left|868MHz ground antenna]] <br />
<br style="clear:both"><br />
<br />
This wiki page might give some ideas about antennas: http://en.wikipedia.org/wiki/Dipole_antenna<br />
<br />
[[Category:Hardware]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=Modems&diff=9372Modems2011-05-22T13:03:40Z<p>Aerovista: /* Digi XBee Pro DigiMesh / 802.15.4 ("Series 1") */</p>
<hr />
<div>The Paparazzi autopilot features a 5V tolerant 3V TTL serial port to interface with any common radio modem. The bidirectional link provides real-time telemetry and in-flight tuning and navigation commands. The system is also capable overlaying the appropriate protocols to communicate thru non-transparent devices such as the Coronis Wavecard or Maxstream API-enabled products, allowing for hardware addressing for multiple aircraft or future enhancements such as data-relaying, inter-aircraft communication, RSSI signal monitoring and automatic in-flight modem power adjustment. Below is a list of some of the common modems used with Paparazzi, for details on configuring your modem see the [[Airframe_Configuration#Telemetry_.28Modem.29|Airframe Configuration]] and [[XBee_configuration|XBee Configuration]] pages.<br />
<br />
== Digi XBee modules ==<br />
<br />
Digi (formerly Maxstream) offers an increasing variety of Zigbee protocol modems well suited for Paparazzi in 2.4 GHz, 900MHz and 868Mhz frequencies. The "Pro" series are long range, up to 40km! Standard series are slightly smaller/lighter/lower power consumption and very short range. All versions are all pin compatible and weigh around 2 grams with wire antennas. All Digi modems can be operated in transparent mode (as a serial line replacement) or in "API mode" with hardware addressing, managed networking, and RSSI (signal strength) data with the Paparazzi "Xbee" option. Three antenna options are offered: the SMA version is ideal for ground modems, wire antennas for aircraft, and chip antennas for those with very limited space.<br />
<br />
* XBee (PRO) ZB (the current series)<br />
* XBee (PRO) ZNet 2.5 (formerly Series 2) (only legacy -> use XBee-PRO ZB)<br />
The XBee & XBee-PRO ZB share hardware (ember stack) with XBee & XBee-PRO ZNet 2.5. As a result, modules can be "converted" from one platform to another by loading different firmware onto a given module.<br />
<br />
These two also share the same hardware and can be converted from one to another by flashing a different firmware:<br />
* XBee-PRO 802.15.4 (formerly Series 1)<br />
* XBee-PRO DigiMesh 2.4<br />
<br />
'''Note: Modules based on Freescale chipset (formerly Series 1) are not compatible with Ember chipset based modules (Series 2).'''<br />
Also see the [http://www.jsjf.demon.co.uk/xbee/faq.htm| unofficial XBee FAQ] for this.<br />
<br />
See the [[XBee_configuration|XBee Configuration]] page. This [http://pixhawk.ethz.ch/tutorials/how_to_configure_xbee tutorial] is also good to configure and get started with XBee Pro.<br />
<br />
=== Module Comparison ===<br />
{|border="1"<br />
|-valign="top"<br />
||'''Module'''||'''Point-to-Multipoint'''||'''ZigBee/Mesh'''||'''Chipset'''|||'''Software stack'''||'''Frequency'''||'''TX Power normal/PRO'''||'''Notes'''<br />
|-<br />
|'''XBee ZB'''<br />
|<br />
|yes<br />
|Ember<br />
|EmberZNet PRO 3.1 (ZigBee 2007)<br />
|2.4 GHz<br />
|2mW/50mW<br />
|coordinator needed<br />
|-<br />
|'''XBee ZNet 2.5'''<br />
|<br />
|yes<br />
|Ember<br />
|EmberZNet 2.5 ZigBee<br />
|2.4 GHz<br />
|2mW/50mW<br />
|(only legacy -> use XBee-PRO ZB) coordinator needed<br />
|-<br />
|'''XBee DigiMesh 2.4'''<br />
|<br />
|yes<br />
|Freescale<br />
|<br />
|2.4 GHz<br />
|<br />
|all nodes equal (no special coordinators/routers/end-devices)<br />
|-<br />
|'''XBee 802.15.4'''<br />
|yes<br />
|<br />
|Freescale<br />
|<br />
|2.4 GHz<br />
|<br />
|<br />
|-<br />
|'''XBee-PRO 868'''<br />
|yes<br />
|<br />
|?<br />
|<br />
|868 MHz<br />
|500mW<br />
|Only High Power Frequency allowed in the UK. 2.4GHz limited to 10mW<br />
|}<br />
<br />
<br />
==== Comparison Conclusion ====<br />
<br />
(Copied from DIGI manual)<br />
<br />
''If the application strictly needs to communicate in a point-to-point or a point-to-multipoint <br />
fashion, 802.15.4 will be able handle all the communications between your devices and will <br />
be simpler to implement than trying to use a module with ZigBee firmware to accomplish the <br />
same goal. ZigBee is necessary if you need to use repeating or the mesh networking <br />
functionality.'' <br />
<br />
-Interpretation for paparazzi: if inter-aircraft communication is required one should go for the zigbee ZB series 2 modules. <br />
<br />
==== Pinout ====<br />
<br />
[[Image:Maxstream_Xbee_pinout.jpg|left|thumb|Maxstream XBee pinout]]<br />
<br style="clear:both"><br />
<br />
{|border="1"<br />
|-valign="top"<br />
||''Xbee 20-pin Header''||''Name''||''Notes''||''Suggested Color''||<br />
|-<br />
|1<br />
| +3.3v<br />
| Power<br />
|Red<br />
|-<br />
|2<br />
|DOUT<br />
|Tx output - connect to Autopilot Rx<br />
|Green<br />
|-<br />
|3<br />
|DIN<br />
|Rx input - connect to Autopilot Tx<br />
|Blue<br />
|-<br />
|10<br />
|GND<br />
| Ground<br />
|Black<br />
|}<br />
<br />
The image view is from above, top, thus NOT at the side where the connector pins come out<br />
<br />
Note : DTR and RTS need to be wired for upgrading firmware<br />
<br />
=== GCS Adaptation ===<br />
<br />
There are several vendors of hardware to connect the ground XBee radio modem to the GCS computer.<br />
<br />
====Adafruit====<br />
<br />
[[Image:xbeeadapter_LRG.jpg|thumb|left|Adafruit XBee adapter board]][[Image:xbeeadapterftdi_LRG.jpg|thumb|Adafruit XBee adapter with FTDI cable]]<br />
[http://www.adafruit.com/index.php?main_page=product_info&cPath=29&products_id=126 Adafruit] (yes, that really is their name) offers a great adapter board kit for the Xbee modules that includes a 5-3.3V voltage regulator, power and activity LEDs, and pins to connect directly to your FTDI cable for $10! Some assembly required.<br />
<br />
<br style="clear:both"><br />
<br />
====Droids====<br />
<br />
[[Image:XBee_Simple_Board.jpg|thumb|left|XBee Simple Board]]<br />
<br />
[[Image:XBee_USB_Board.jpg|thumb|left|XBee USB Board]]<br />
<br />
[http://www.droids.it/cmsvb4/content.php?143-990.001-XBee-Simple-Board XBee Simple Board]<br />
<br />
Simpler, lighter, smaller footprint, bit more expensive, comes assembled and tested. --GR<br />
<br />
<br />
[http://www.droids.it/cmsvb4/content.php?152-990.002-XBee-USB-Board XBee USB Board]<br />
<br />
For direct connection to USB (no FTDI cable required)<br />
<br />
<br style="clear:both"><br />
<br />
====PPZUAV====<br />
<br />
[[Image:FTDI_Utility_Board.jpg|thumb|left|FTDI Utility Board 1.0]]<br />
<br />
[https://mini.ppzuav.com/osc/product_info.php?cPath=13&products_id=111 ppzuav.com]<br />
<br />
FTDI Utility Board 1.0 (no FTDI cable required)<br />
<br />
<br style="clear:both"><br />
<br />
====Sparkfun====<br />
<br />
[[Image:XBee_Explorer_USB.jpg|thumb|left|XBee Explorer USB]]<br />
<br />
[http://www.sparkfun.com/products/8687 sparkfun.com]<br />
<br />
XBee Explorer USB (no FTDI cable required)<br />
<br />
<br style="clear:both"><br />
<br />
=== Digi XBee Pro DigiMesh / 802.15.4 ("Series 1") ===<br />
*Note: Products based on XBee ZNet 2.5 (formerly Series 2) modules do not communicate with products based on XBee DigiMesh / 802.15.4 (formerly Series 1) modules.<br />
<br />
These relatively cheap and light modules implement the [http://www.zigbee.org/en/index.asp ZigBee/IEEE 802.15.4] norm. They allow up to 1.6km (1 mile) range (Paparazzi tested to 2.5km (1.5 miles)). The main drawback of using such 2.4Ghz modules for datalink is that it will interfere with the 2.4Ghz analog video transmitters and a inevitable decrease in range when in proximity to any wifi devices. For the plane, get the whip antenna version if you are not planning to build a custom antenna.<br />
<br />
{|<br />
|-valign="top"<br />
|[[Image:Xbee_Pro_USB_RF_Modem.jpg|thumb|left|XBee Pro USB Stand-alone Modem (XBP24-PKC-001-UA)]]<br />
|<br />
* Frequency Band 2.4Ghz<br />
* Output Power 100mW (Xbee Pro)<br />
* Sensitivity -100 dBm <br />
* RF Data Rate Up to 250 Kbps<br />
* Interface data rate Up to 115.2 Kbps<br />
* Power Draw (typical) 214 mA TX / 55 mA RX <br />
* Supply Voltage 3.3v<br />
* Range (typical, depends on antenna & environment) Up to 1500m line-of-sight <br />
* Dimensions 24 x 33mm<br />
* Weight 4 grams<br />
* Interface 20-pin mini connector <br />
* Chip antenna, ¼ monopole integrated whip antenna or a U.FL antenna connector (3 versions)<br />
* Price: Approximately $32<br />
|<br />
[[Image:XBee_pro.jpg|thumb|left|XBee Pro OEM Modem]]<br />
|}<br />
Mouser: [http://au.mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMtJacPDJcUJYzVn8vIv7g2fIpf5DCzJqko%3d 888-XBP24-PKC-001-UA]<br><br />
NOTE: If you wish to use this unit with another XBee type other than the 802.15.4 (i.e. XBee-PRO ZB) then purchase a modem with the U.fl connector.<br />
<br />
==== Documentation ====<br />
<br />
* [http://www.maxstream.net/products/xbee/xbee-pro-oem-rf-module-zigbee.php product page]<br />
* [http://www.maxstream.net/products/xbee/datasheet_XBee_OEM_RF-Modules.pdf datasheet]<br />
* [http://www.maxstream.net/products/xbee/product-manual_XBee_OEM_RF-Modules.pdf user manual]<br />
* To program your Xbee you need X-CTU you can download it [http://www.digi.com/support/productdetl.jsp?pid=3352&osvid=57&tp=5&s=316 here]. (only windows)<br />
* explanation on X-CTU [http://www.ladyada.net/make/xbee/configure.html here].<br />
* [http://ftp1.digi.com/support/firmware/update/xbee/ Drivers for XB24 and XBP24 modules]<br />
<br />
=== Digi XBee Pro ZB ===<br />
<br />
The low-power XBee ZB and extended-range XBee-PRO ZB use the ZigBee PRO Feature Set for advanced mesh networking.<br />
<br />
{|<br />
|-valign="top"<br />
|[[Image:Prd-xbeemoduleseries2.jpg|thumb|left|Maxstream XBee Pro ZB]]<br />
|<br />
* Low-cost, low-power mesh networking<br />
* Interoperability with ZigBee PRO Feature Set devices from other vendors*<br />
* Support for larger, more dense mesh networks<br />
* 128-bit AES encryption<br />
* Frequency agility<br />
* Over-the-air firmware updates (change firmware remotely)<br />
* ISM 2.4 GHz operating frequency<br />
* XBee: 2 mW (+3 dBm) power output (up to 400 ft RF LOS range)<br />
* XBee-PRO: 50 mW (+17 dBm) power output (up to 1 mile RF LOS range)<br />
* RPSMA connector, U.FL connector, Chip antenna, or Wired Whip antenna<br />
* price : ~34 USD<br />
|<br />
|}<br />
These are available from Mouser:<br><br />
[http://au.mouser.com/Search/Refine.aspx?Keyword=888-XBP24-Z7WIT-004 888-XBP24-Z7WIT-004] XBee-PRO ZB with whip antenna<br><br />
[http://au.mouser.com/Search/Refine.aspx?Keyword=XBP24-Z7SIT-004 888-XBP24-Z7SIT-004] XBee-PRO ZB with RPSMA<br />
<br />
See [[XBee_configuration|XBee Configuration]] for setup.<br />
<br />
==== Documentation ====<br />
* [http://www.digi.com/products/wireless/zigbee-mesh/xbee-zb-module.jsp http://www.digi.com/products/wireless/zigbee-mesh/xbee-zb-module.jsp]<br />
<br />
=== Digi XBee Pro 868 ===<br />
<br />
'''WARNING - THESE MODEMS HAVE A 10% DUTY CYCLE, AND CURRENTLY HAVE SEVERE ISSUES WITH PAPARAZZI'''<br />
<br />
868MHz is a limited band. Please read the [[868MHz Issues]]<br />
<br />
XBee-PRO 868 modules are long range embedded RF modules for European applications. Purpose-built for exceptional RF performance, XBee-PRO 868 modules are ideal for applications with challenging RF environments, such as urban deployments, or where devices are several kilometers apart.<br />
<br />
<br />
{|<br />
|-valign="top"<br />
|[[Image:xbeeproxsc-rpsma.jpg|thumb|left|Maxstream XBee Pro 868]]<br />
|<br />
* 868 MHz short range device (SRD) G3 band for Europe<br />
* Software selectable Transmit Power<br />
* 40 km RF LOS w/ dipole antennas<br />
* 80 km RF LOS w/ high gain antennas (TX Power reduced)<br />
* Simple to use peer-to-peer/point-to-mulitpoint topology<br />
* 128-bit AES encryption<br />
* 500 mW EIRP<br />
* 24 kbps RF data rate<br />
* price : ~70 USD<br />
|<br />
|}<br />
<br />
See [[XBee_configuration#XBee_Pro_868_MHZ|XBee Configuration]] for setup.<br />
<br />
==== Documentation ====<br />
* [http://www.digi.com/products/wireless/point-multipoint/xbee-pro-868.jsp http://www.digi.com/products/wireless/point-multipoint/xbee-pro-868.jsp]<br />
<br />
=== Digi XBee Pro XSC 900MHz ===<br />
<br />
Maxstream has recently announced a promising new line of modems combining the small size and low cost of their popular Xbee line with the long range and 2.4 GHz video compatibility of their high end 900 MHz models. Sounds like the perfect modem for anyone who can use 900 MHz. Give them a try and post your results here!<br />
{|<br />
|-valign="top"<br />
|[[Image:xbeeproxsc-rpsma.jpg|thumb|left|Maxstream XBee Pro XSC]]<br />
|<br />
* Frequency Band 900 MHz<br />
* Output Power 100 mW (+20 dBm)<br />
* Sensitivity -100 dBm <br />
* Data Rate: 9600 bps<br />
* Range (typical, depends on antenna & environment) Up to 24km (15 miles) line-of-sight <br />
* Interface 20-pin mini connector (Xbee compatible pinout)<br />
* RPSMA, integrated whip antenna or U.FL antenna connector (3 versions)<br />
* price : ~75 USD<br />
|<br />
|}<br />
<br />
==== Documentation ====<br />
* [http://www.digi.com/products/wireless/point-multipoint/xbee-pro-xsc.jsp http://www.digi.com/products/wireless/point-multipoint/xbee-pro-xsc.jsp]<br />
==== Trials ====<br />
Tested one today and it worked great. Going to try a multiUAV test with it soon<br />
--Danstah<br />
<br><br />
<br><br />
MultiUAV tests concluded this is probably not the best module to use. Even though it says you can change the baudrate inside x-ctu that is not the case, it is fixed at 9600 bps. This is a great modem however for single UAV's and I do recommend.<br />
--Danstah<br />
<br><br />
<br><br />
Why would the European (868 MHz) be good to 24kbps and this only to 9600? When I was altering my XBees (2.4Ghz Pro's) I had this problem altering baud rates until I read you have to send a "commit and reboot" type command after setting the baud rate. Could this be the case? --GR<br />
<br />
== Maxstream 9XTend ==<br />
<br />
These larger units have been tested on the 900Mhz band, but are also available in 2.4Ghz. They are a bit on the heavy side, about 20 grams, but give good performance at range. They have adjustable transmit power settings from 100mW to 1W. Testing has shown range up to 5.6km (3.5 Miles) with XTend set to 100mW with small 3.1dB dipole antenna.<br />
<br />
{|<br />
|-valign="top"<br />
|<br />
[[Image:XTend_USB_RF_Modem.jpg|frame|left|9XTend USB Modem]]<br />
|<br />
* Frequency Band 900Mhz and 2.4Ghz (2 versions)<br />
* Output Power 1mW to 1W software selectable<br />
* Sensitivity -110 dBm (@ 9600 bps)<br />
* RF Data Rate 9.6 or 115.2 Kbps<br />
* Interface data rate up to 230.4 Kbps<br />
* Power Draw (typical) 730 mA TX / 80 mA RX <br />
* Supply Voltage 2.8 to 5.5v<br />
* Range (typical, depends on antenna & environment) Up to 64km line-of-sight <br />
* Dimensions 36 x 60 x 5mm<br />
* Weight 18 grams<br />
* Interface 20-pin mini connector <br />
* RF connector RPSMA (Reverse-polarity SMA) or MMCX (2 versions)<br />
* price : ~179 USD<br />
|<br />
[[Image:Xtend_module.jpg|frame|left|9XTend OEM Modem]]<br />
|}<br />
<br />
=== Pinout ===<br />
<br />
[[Image:Maxstream_9XTend_Pinout.gif|thumb|left|Maxstream 9XTend Pinout]]<br />
<br />
{| border="1"<br />
|-valign="top"<br />
||'''''9XTend 20-pin Header'''''||'''''Name'''''||'''''Tiny Serial-1 Header'''''||'''''Notes'''''<br />
|-<br />
||1||GND||1 (GND)||Ground <br />
|-<br />
||2||VCC||2 (5V)||5V power (150mA - 730mA Supplied from servo bus or other 5V source)<br />
|-<br />
||5||RX||8 (TX)||3-5V TTL data input - connect to Tiny TX<br />
|-<br />
||6||TX||7 (RX)||5V TTL data output - connect to Tiny RX<br />
|-<br />
||7||Shutdown||2||This pin must be connected to the 5V bus for normal operation<br />
|}<br />
Notes:<br><br />
* 9XTend can run on voltages as low as 2.8V but users are strongly advised against connecting any modem (especially high power models) to the sensitive 3.3V bus supplying the autopilot processor and sensors.<br />
<br style="clear:both"><br />
<br />
=== Documentation ===<br />
<br />
* [http://www.maxstream.net/products/xtend/oem-rf-module.php product page]<br />
* [http://www.maxstream.net/products/xtend/datasheet_XTend_OEM_RF-Module.pdf datasheet]<br />
* [http://www.maxstream.net/products/xtend/product-manual_XTend_OEM_RF-Module.pdf user manual]<br />
<br />
== Aerocomm ==<br />
Aerocomm's API mode is already implemented but some system integration is required. Full API more with addressed packets works well and was tested with AC4790-1x1 5mW low power modules. Maximim range achieved with a whip quater-wave antenna was 1Km.<br />
<br />
How to use this modem on ground station side? [http://paparazzi.enac.fr/wiki/index.php/User:SilaS#SDK-AC4868-250_ground_modem_part]<br />
<br />
See folder paparazzi3 / trunk / sw / aerocomm. It has all the required files to use this modem on the airborne and ground station side. The link.ml file is a direct replacement of the "main" link.ml file of the ground sttaion and will be merged into it in the future.. or you can do it as well.<br />
<br />
<br />
{|<br />
|<br />
=== AC4868-250 ===<br />
* Frequency Band 868MHz (For Europe). 868MHz is a limited band. Please read the [[868MHz Issues]]<br />
* Output Power (w/ 2dBi antenna) 250 mW <br />
* Sensitivity (@ full RF data rate) -103 dB <br />
* RF Data Rate Up to 28.8 Kbps <br />
* INterface Data Rate Up to 57.6 Kbps <br />
* Power Draw (typical) 240 mA TX / 36 mA RX <br />
* Supply Voltage 3.3v & 5V or 3.3v only<br />
* Range (typical, depends on antenna & environment) Up to 15 kilometers line-of-sight <br />
* Dimensions 49 x 42 x 5mm <br />
* Weight < 21 grams<br />
* Interface 20-pin mini connector <br />
* Antenna MMCX jack Connector <br />
* price : ~80$<br />
|<br />
[[Image:ConnexLink_USB_RF_Modem.jpg|thumb|Aerocomm USB Stand-alone Modem]]<br />
|-<br />
|<br />
<br />
=== AC4790-200 ===<br />
* Frequency 902-928MHz (North America, Australia, etc).<br />
* Output Power 5-200mW<br />
* Sensitivity (@ full RF data rate) -110dB<br />
* RF Data Rate up to 76.8 Kbps<br />
* INterface Data Rate Up to Up to 115.2 Kbps <br />
* Power Draw (typical) 68 mA<br />
* Supply Voltage 3.3v & 5.5V<br />
* Range (typical, depends on antenna & environment) Up to 6.4 kilometers line-of-sight <br />
* Dimensions 42 x 48 x 5mm <br />
* Weight < 20 grams<br />
* Interface 20-pin mini connector <br />
* Antenna MMCX jack Connector or internal<br />
* price : ~80$<br />
|<br />
[[Image:ac4868_transceiver.jpg|thumb|left|AC4868 OEM Modem]]<br />
|<br />
|-<br />
|<br />
<br />
=== AC4790-1000 ===<br />
* Frequency 902-928MHz (North America, Australia, etc).<br />
* Output Power 5-1000mW<br />
* Sensitivity (@ full RF data rate) -99dB<br />
* RF Data Rate up to 76.8 Kbps<br />
* INterface Data Rate Up to Up to 115.2 Kbps <br />
* Power Draw (typical) 650 mA<br />
* Supply Voltage 3.3V only<br />
* Range (typical, depends on antenna & environment) Up to 32 kilometers with high-gain antenna<br />
* Dimensions 42 x 48 x 5mm <br />
* Weight < 20 grams<br />
* Interface 20-pin mini connector <br />
* Antenna MMCX jack Connector<br />
* price : ~80$<br />
|}<br />
<br />
=== Pinout ===<br />
<br />
[[Image:Aerocomm_AC4868_pinout.jpg|thumb|left|Aerocomm AC4868 modem pinout]]<br />
[[Image:Aerocomm_AC4490-200_wired.jpg|thumb|left|Aerocomm AC4490 wiring example]]<br />
<br style="clear:both"><br />
<br />
{| border="1"<br />
|+ Wiring the Aerocomm AC4868 to the Tiny<br />
|-valign="top"<br />
||'''''AC4868 20-pin Header'''''||'''''Name'''''||'''''Color'''''||'''''Tiny v1.1 Serial-1'''''||'''''Tiny v2.11 Serial'''''||'''''Notes'''''<br />
|-<br />
||2||Tx||green||7||7||''(Note 1)''<br />
|-<br />
||3||Rx||blue||8||8||''(Note 1)''<br />
|-<br />
||5||GND||black||1||1|| -<br />
|-<br />
||10+11||VCC||red||2||3||+3.3v<br />
|-<br />
||17||C/D||white||3||?||Low = Command High = Data<br />
|}<br />
''Note 1 : names are specified with respect to the AEROCOMM module''<br />
<br />
=== Documentation ===<br />
* [http://www.aerocomm.com/rf_transceiver_modules/ac4790_mesh-ready_transceiver.htm AC4790 product page]<br />
* [http://www.aerocomm.com/docs/Datasheet_AC4790_HI.pdf AC4790 Datasheet]<br />
* [http://www.aerocomm.com/docs/User_Manual_AC4790.pdf AC4790 Manual]<br />
* [http://www.aerocomm.com/rf_transceiver_modules/ac4868_868mhz_rf_transceiver.htm AC4848 product page]<br />
* [http://www.aerocomm.com/docs/Datasheet_AC4868_HI.pdf AC4868 Datasheet]<br />
* [http://www.aerocomm.com/docs/User_Manual_AC4868.pdf AC4868 user manual]<br />
<br />
== Radiotronix ==<br />
These Radiotronix modems are used in transparent mode. Use the WI232EUR Evaluation Software for configuring the modems for the set speed. Connect /CMD and CTS for programming. The DTS version for the US market might cause severe interference with GPS reception, it is not recommended. For a nice ground station modem just add a FTDI232 USB->serial cable, a 3.3V regulator with 100nF capacitors from supplies to ground, solder a SMA cable/connector and put it in a nice case. Make sure you only connect RTS to /CMD if you want to reprogram the modem with the Evaluation software (see the open jumper connection in the picture, green wire) and leave it floating otherwise as connected RTS/CTS sporadically leads to a reprogramming of the modem. The ANT-GXD105-FME/F from [http://www.roundsolutions.com Roundsolutions] was used as a ground station antenna at many competitions. Note that a 1/2 wave dipole antenna works best on-board as it doesn't require a ground-plane and has a reasonably omnidirectional radiation pattern.<br />
{|<br />
|<br />
=== WI232EUR ===<br />
* Frequency Band: 868 MHz (for Europe)<br />
* Output Power: 32 mW <br />
* RF Data Rate: Up to 76.8 kbps <br />
* Interface Data Rate: up to 115.2 kbps <br />
* Power Draw (typical): 65 mA TX / 20 mA RX <br />
* Supply Voltage: 3.3v<br />
* Range (typical, depends on antenna & environment): 500 meters line-of-sight <br />
* Dimensions: 24 x 21 x 4mm <br />
* Weight: ~2 grams<br />
* Interface: solder connector <br />
* Antenna: solder connector <br />
* Price: ~25$<br />
|<br />
[[Image:Wi232eur_wiring.jpg|thumb|WI232EUR Modem (picture shows connection to Tiny 1.1)]]<br />
|-<br />
|<br />
<br />
=== Pinout ===<br />
<br />
<br style="clear:both"><br />
<br />
{| border="1"<br />
|+ Wiring the WI232EUR to the Tiny v1.1<br />
|-valign="top"<br />
||'''''WI232 pins'''''||'''''Name'''''||'''''Tiny Serial-1'''''||'''''Notes'''''<br />
|-<br />
||6||TxD||7||''(Note 1)''<br />
|-<br />
||5||RxD||8||''(Note 1)''<br />
|-<br />
||15-18||GND||1|| - <br />
|-<br />
||19||VCC||2||+3.3v<br />
|-<br />
||4||/CMD||-||''(Note 2)''<br />
|-<br />
||7||CTS||-||''(Note 3)''<br />
|}<br />
''Note 1 : names are specified with respect to the Radiotronix module''<br />
<br />
''Note 2 : connect to RTS to program device with Evaluation software''<br />
<br />
''Note 3 : connect to CTS to program device with Evaluation software''<br />
<br />
|<br />
[[Image:Wi232eur_bopla.jpg|thumb|WI232EUR Modem in BOPLA case]]<br />
|-<br />
|<br />
|}<br />
=== Documentation ===<br />
* [http://www.radiotronix.com/datasheets/new/eur_um.pdf WI232EUR data sheet]<br />
* [http://www.radiotronix.com/datasheets/new/rk-eur_um.pdf WI232EUR user's manual]<br />
* [http://www.radiotronix.com/downloads/software/EUR/setup.exe Evaluation software]<br />
<br />
== Bluetooth ==<br />
These modems do not give you a great range but Bluetooth can be found in a lot of recent laptops built-in. Maybe not useful for fixed wing aircrafts it might be used for in-the-shop testing or quadcopters. Make sure you get a recent Class 1 EDR 2.0 stick if you buy one for your computer.<br />
{|<br />
|<br />
=== "Sparkfun" Roving Networks (WRL-08497) ===<br />
* Frequency Band 2.4GHz<br />
* Output Power 32 mW <br />
* RF Data Rate up to ~300 kbps in SPP<br />
* Interface Data Rate up to 921 kbps <br />
* Power Draw (typical) 50 mA TX / 40 mA RX <br />
* Supply Voltage 3.3v<br />
* Range (typical, depends on antenna & environment) 100 meters line-of-sight <br />
* Dimensions 26 x 13 x 2mm <br />
* Weight ~1.5 grams<br />
* Interface solder connector <br />
* price : ~45$<br />
|<br />
[[Image:roving_nw_wiring.jpg|thumb|Roving Networks modem wiring]]<br />
|-<br />
|<br />
<br />
To connect to it, get the MAC address of the bluetooth modem<br />
<br />
me@mybox:~$ hcitool scan<br />
Scanning ...<br />
00:06:66:00:53:AD FireFly-53AD<br />
<br />
either make a virtual connection to a Bluetooth serial port each time you connect<br />
<br />
sudo rfcomm bind 0 00:06:66:00:53:AD<br />
<br />
or configure it once in /etc/bluetooth/rfcomm.conf<br />
<br />
rfcomm0 {<br />
bind yes;<br />
device 00:06:66:00:53:AD;<br />
}<br />
<br />
now you can use Bluetooth as '''/dev/rfcomm0''' with the Paparazzi 'link'. You might need to restart 'link' in case you get out of range and it disconnects (tbd). Set the Tiny serial speed to 115200 as the modules come preconfigured to that.<br />
|}<br />
<br />
== Coronis WaveCard ==<br />
<br />
These relatively inexpensive and light modules implement a Coronis proprietary protocol. Low power consumption - high latency - I would not recommend these modules mostly because of the low quality of the distribution and support. The documentation is rather poor and not easily available.<br />
<br />
'''Suport for these modems has been removed from the airborne code on Dec 10th, 2007.'''<br />
{|<br />
|-valign="top"<br />
|<br />
* Frequency Band 400MHz, 868Mhz and 915MHz (3 versions)<br />
* Output Power 25mW and 500mW (2 versions)<br />
* Sensitivity -110 dBm (@ 9600 bps)<br />
* Data Rate 100 Kbps<br />
* Power Draw (typical) 45mA (25mW), 450mA (500mW) TX / 15 mA RX <br />
* Supply Voltage ...<br />
* Range (typical, depends on antenna & environment) Up to 1km (25mW) , 5km (500mW) line-of-sight <br />
* Dimensions 30 x 28 x 7mm (25mW), 37 x 30 x 7mm (500mW)<br />
* 50 ohm RF port for antenna connection<br />
|<br />
[[Image:wavecard.jpg|Coronis Wavecard]]<br />
|}<br />
<br />
=== Documentation ===<br />
<br />
* [http://www.coronis-systems.com/produit.php?lang=EN&id=WCA www.coronis-systems.com]<br />
* [[Media:CS-COM-SPRD-WAVECARD-E03B.pdf|Wavecard datasheet]]<br />
<br />
== Telemetry via Video Transmitter==<br />
<br />
[[Image:video_tx_small.jpg|thumb|2.4GHz Video Transmitter]]<br />
In order for the UAV to transmit video from an onboard camera, an analog video transmitter can be used. These vary in power, and thus range, and run normally on 2.4Ghz. Small UAVs can get about 600m of range from the 50mW version, and extended range can be achieved using units up to 1W. Weight for these units varies from a couple grams to about 30 for the 1W with shielding. Please check for your countries regulations on 2.4Ghz transmission, as each is different. <br />
<br />
It is possible to use the audio channel to send simple telemetry data to the groundstation. Uploading telemetry not possible via analog audio transmitter only.<br />
<br style="clear:both"><br />
<br />
== Antennas ==<br />
<br />
Here are some examples of lightweight and efficient 868MHz antennas developped by the RF laboratory at ENAC.<br />
[[Image:868mhz_twinstar_antenna_1.jpg|thumb|left|868MHz copper foil antenna attached to the aircraft tail]] <br />
[[Image:868mhz_twinstar_antenna_2.jpg|thumb|left|868MHz copper foil antenna bottom view]] <br />
[[Image:868mhz_ground_antenna.jpg|thumb|left|868MHz ground antenna]] <br />
<br style="clear:both"><br />
<br />
This wiki page might give some ideas about antennas: http://en.wikipedia.org/wiki/Dipole_antenna<br />
<br />
[[Category:Hardware]]</div>Aerovistahttp://wiki.paparazziuav.org/w/index.php?title=Modems&diff=9371Modems2011-05-22T13:03:01Z<p>Aerovista: /* Digi XBee DigiMesh / 802.15.4 ("Series 1") */</p>
<hr />
<div>The Paparazzi autopilot features a 5V tolerant 3V TTL serial port to interface with any common radio modem. The bidirectional link provides real-time telemetry and in-flight tuning and navigation commands. The system is also capable overlaying the appropriate protocols to communicate thru non-transparent devices such as the Coronis Wavecard or Maxstream API-enabled products, allowing for hardware addressing for multiple aircraft or future enhancements such as data-relaying, inter-aircraft communication, RSSI signal monitoring and automatic in-flight modem power adjustment. Below is a list of some of the common modems used with Paparazzi, for details on configuring your modem see the [[Airframe_Configuration#Telemetry_.28Modem.29|Airframe Configuration]] and [[XBee_configuration|XBee Configuration]] pages.<br />
<br />
== Digi XBee modules ==<br />
<br />
Digi (formerly Maxstream) offers an increasing variety of Zigbee protocol modems well suited for Paparazzi in 2.4 GHz, 900MHz and 868Mhz frequencies. The "Pro" series are long range, up to 40km! Standard series are slightly smaller/lighter/lower power consumption and very short range. All versions are all pin compatible and weigh around 2 grams with wire antennas. All Digi modems can be operated in transparent mode (as a serial line replacement) or in "API mode" with hardware addressing, managed networking, and RSSI (signal strength) data with the Paparazzi "Xbee" option. Three antenna options are offered: the SMA version is ideal for ground modems, wire antennas for aircraft, and chip antennas for those with very limited space.<br />
<br />
* XBee (PRO) ZB (the current series)<br />
* XBee (PRO) ZNet 2.5 (formerly Series 2) (only legacy -> use XBee-PRO ZB)<br />
The XBee & XBee-PRO ZB share hardware (ember stack) with XBee & XBee-PRO ZNet 2.5. As a result, modules can be "converted" from one platform to another by loading different firmware onto a given module.<br />
<br />
These two also share the same hardware and can be converted from one to another by flashing a different firmware:<br />
* XBee-PRO 802.15.4 (formerly Series 1)<br />
* XBee-PRO DigiMesh 2.4<br />
<br />
'''Note: Modules based on Freescale chipset (formerly Series 1) are not compatible with Ember chipset based modules (Series 2).'''<br />
Also see the [http://www.jsjf.demon.co.uk/xbee/faq.htm| unofficial XBee FAQ] for this.<br />
<br />
See the [[XBee_configuration|XBee Configuration]] page. This [http://pixhawk.ethz.ch/tutorials/how_to_configure_xbee tutorial] is also good to configure and get started with XBee Pro.<br />
<br />
=== Module Comparison ===<br />
{|border="1"<br />
|-valign="top"<br />
||'''Module'''||'''Point-to-Multipoint'''||'''ZigBee/Mesh'''||'''Chipset'''|||'''Software stack'''||'''Frequency'''||'''TX Power normal/PRO'''||'''Notes'''<br />
|-<br />
|'''XBee ZB'''<br />
|<br />
|yes<br />
|Ember<br />
|EmberZNet PRO 3.1 (ZigBee 2007)<br />
|2.4 GHz<br />
|2mW/50mW<br />
|coordinator needed<br />
|-<br />
|'''XBee ZNet 2.5'''<br />
|<br />
|yes<br />
|Ember<br />
|EmberZNet 2.5 ZigBee<br />
|2.4 GHz<br />
|2mW/50mW<br />
|(only legacy -> use XBee-PRO ZB) coordinator needed<br />
|-<br />
|'''XBee DigiMesh 2.4'''<br />
|<br />
|yes<br />
|Freescale<br />
|<br />
|2.4 GHz<br />
|<br />
|all nodes equal (no special coordinators/routers/end-devices)<br />
|-<br />
|'''XBee 802.15.4'''<br />
|yes<br />
|<br />
|Freescale<br />
|<br />
|2.4 GHz<br />
|<br />
|<br />
|-<br />
|'''XBee-PRO 868'''<br />
|yes<br />
|<br />
|?<br />
|<br />
|868 MHz<br />
|500mW<br />
|Only High Power Frequency allowed in the UK. 2.4GHz limited to 10mW<br />
|}<br />
<br />
<br />
==== Comparison Conclusion ====<br />
<br />
(Copied from DIGI manual)<br />
<br />
''If the application strictly needs to communicate in a point-to-point or a point-to-multipoint <br />
fashion, 802.15.4 will be able handle all the communications between your devices and will <br />
be simpler to implement than trying to use a module with ZigBee firmware to accomplish the <br />
same goal. ZigBee is necessary if you need to use repeating or the mesh networking <br />
functionality.'' <br />
<br />
-Interpretation for paparazzi: if inter-aircraft communication is required one should go for the zigbee ZB series 2 modules. <br />
<br />
==== Pinout ====<br />
<br />
[[Image:Maxstream_Xbee_pinout.jpg|left|thumb|Maxstream XBee pinout]]<br />
<br style="clear:both"><br />
<br />
{|border="1"<br />
|-valign="top"<br />
||''Xbee 20-pin Header''||''Name''||''Notes''||''Suggested Color''||<br />
|-<br />
|1<br />
| +3.3v<br />
| Power<br />
|Red<br />
|-<br />
|2<br />
|DOUT<br />
|Tx output - connect to Autopilot Rx<br />
|Green<br />
|-<br />
|3<br />
|DIN<br />
|Rx input - connect to Autopilot Tx<br />
|Blue<br />
|-<br />
|10<br />
|GND<br />
| Ground<br />
|Black<br />
|}<br />
<br />
The image view is from above, top, thus NOT at the side where the connector pins come out<br />
<br />
Note : DTR and RTS need to be wired for upgrading firmware<br />
<br />
=== GCS Adaptation ===<br />
<br />
There are several vendors of hardware to connect the ground XBee radio modem to the GCS computer.<br />
<br />
====Adafruit====<br />
<br />
[[Image:xbeeadapter_LRG.jpg|thumb|left|Adafruit XBee adapter board]][[Image:xbeeadapterftdi_LRG.jpg|thumb|Adafruit XBee adapter with FTDI cable]]<br />
[http://www.adafruit.com/index.php?main_page=product_info&cPath=29&products_id=126 Adafruit] (yes, that really is their name) offers a great adapter board kit for the Xbee modules that includes a 5-3.3V voltage regulator, power and activity LEDs, and pins to connect directly to your FTDI cable for $10! Some assembly required.<br />
<br />
<br style="clear:both"><br />
<br />
====Droids====<br />
<br />
[[Image:XBee_Simple_Board.jpg|thumb|left|XBee Simple Board]]<br />
<br />
[[Image:XBee_USB_Board.jpg|thumb|left|XBee USB Board]]<br />
<br />
[http://www.droids.it/cmsvb4/content.php?143-990.001-XBee-Simple-Board XBee Simple Board]<br />
<br />
Simpler, lighter, smaller footprint, bit more expensive, comes assembled and tested. --GR<br />
<br />
<br />
[http://www.droids.it/cmsvb4/content.php?152-990.002-XBee-USB-Board XBee USB Board]<br />
<br />
For direct connection to USB (no FTDI cable required)<br />
<br />
<br style="clear:both"><br />
<br />
====PPZUAV====<br />
<br />
[[Image:FTDI_Utility_Board.jpg|thumb|left|FTDI Utility Board 1.0]]<br />
<br />
[https://mini.ppzuav.com/osc/product_info.php?cPath=13&products_id=111 ppzuav.com]<br />
<br />
FTDI Utility Board 1.0 (no FTDI cable required)<br />
<br />
<br style="clear:both"><br />
<br />
====Sparkfun====<br />
<br />
[[Image:XBee_Explorer_USB.jpg|thumb|left|XBee Explorer USB]]<br />
<br />
[http://www.sparkfun.com/products/8687 sparkfun.com]<br />
<br />
XBee Explorer USB (no FTDI cable required)<br />
<br />
<br style="clear:both"><br />
<br />
=== Digi XBee DigiMesh / 802.15.4 ("Series 1") ===<br />
*Note: Products based on XBee ZNet 2.5 (formerly Series 2) modules do not communicate with products based on XBee DigiMesh / 802.15.4 (formerly Series 1) modules.<br />
<br />
These relatively cheap and light modules implement the [http://www.zigbee.org/en/index.asp ZigBee/IEEE 802.15.4] norm. They allow up to 1.6km (1 mile) range (Paparazzi tested to 2.5km (1.5 miles)). The main drawback of using such 2.4Ghz modules for datalink is that it will interfere with the 2.4Ghz analog video transmitters and a inevitable decrease in range when in proximity to any wifi devices. For the plane, get the whip antenna version if you are not planning to build a custom antenna.<br />
<br />
{|<br />
|-valign="top"<br />
|[[Image:Xbee_Pro_USB_RF_Modem.jpg|thumb|left|XBee Pro USB Stand-alone Modem (XBP24-PKC-001-UA)]]<br />
|<br />
* Frequency Band 2.4Ghz<br />
* Output Power 100mW (Xbee Pro)<br />
* Sensitivity -100 dBm <br />
* RF Data Rate Up to 250 Kbps<br />
* Interface data rate Up to 115.2 Kbps<br />
* Power Draw (typical) 214 mA TX / 55 mA RX <br />
* Supply Voltage 3.3v<br />
* Range (typical, depends on antenna & environment) Up to 1500m line-of-sight <br />
* Dimensions 24 x 33mm<br />
* Weight 4 grams<br />
* Interface 20-pin mini connector <br />
* Chip antenna, ¼ monopole integrated whip antenna or a U.FL antenna connector (3 versions)<br />
* Price: Approximately $32<br />
|<br />
[[Image:XBee_pro.jpg|thumb|left|XBee Pro OEM Modem]]<br />
|}<br />
Mouser: [http://au.mouser.com/Search/ProductDetail.aspx?qs=sGAEpiMZZMtJacPDJcUJYzVn8vIv7g2fIpf5DCzJqko%3d 888-XBP24-PKC-001-UA]<br><br />
NOTE: If you wish to use this unit with another XBee type other than the 802.15.4 (i.e. XBee-PRO ZB) then purchase a modem with the U.fl connector.<br />
<br />
==== Documentation ====<br />
<br />
* [http://www.maxstream.net/products/xbee/xbee-pro-oem-rf-module-zigbee.php product page]<br />
* [http://www.maxstream.net/products/xbee/datasheet_XBee_OEM_RF-Modules.pdf datasheet]<br />
* [http://www.maxstream.net/products/xbee/product-manual_XBee_OEM_RF-Modules.pdf user manual]<br />
* To program your Xbee you need X-CTU you can download it [http://www.digi.com/support/productdetl.jsp?pid=3352&osvid=57&tp=5&s=316 here]. (only windows)<br />
* explanation on X-CTU [http://www.ladyada.net/make/xbee/configure.html here].<br />
* [http://ftp1.digi.com/support/firmware/update/xbee/ Drivers for XB24 and XBP24 modules]<br />
<br />
=== Digi XBee Pro ZB ===<br />
<br />
The low-power XBee ZB and extended-range XBee-PRO ZB use the ZigBee PRO Feature Set for advanced mesh networking.<br />
<br />
{|<br />
|-valign="top"<br />
|[[Image:Prd-xbeemoduleseries2.jpg|thumb|left|Maxstream XBee Pro ZB]]<br />
|<br />
* Low-cost, low-power mesh networking<br />
* Interoperability with ZigBee PRO Feature Set devices from other vendors*<br />
* Support for larger, more dense mesh networks<br />
* 128-bit AES encryption<br />
* Frequency agility<br />
* Over-the-air firmware updates (change firmware remotely)<br />
* ISM 2.4 GHz operating frequency<br />
* XBee: 2 mW (+3 dBm) power output (up to 400 ft RF LOS range)<br />
* XBee-PRO: 50 mW (+17 dBm) power output (up to 1 mile RF LOS range)<br />
* RPSMA connector, U.FL connector, Chip antenna, or Wired Whip antenna<br />
* price : ~34 USD<br />
|<br />
|}<br />
These are available from Mouser:<br><br />
[http://au.mouser.com/Search/Refine.aspx?Keyword=888-XBP24-Z7WIT-004 888-XBP24-Z7WIT-004] XBee-PRO ZB with whip antenna<br><br />
[http://au.mouser.com/Search/Refine.aspx?Keyword=XBP24-Z7SIT-004 888-XBP24-Z7SIT-004] XBee-PRO ZB with RPSMA<br />
<br />
See [[XBee_configuration|XBee Configuration]] for setup.<br />
<br />
==== Documentation ====<br />
* [http://www.digi.com/products/wireless/zigbee-mesh/xbee-zb-module.jsp http://www.digi.com/products/wireless/zigbee-mesh/xbee-zb-module.jsp]<br />
<br />
=== Digi XBee Pro 868 ===<br />
<br />
'''WARNING - THESE MODEMS HAVE A 10% DUTY CYCLE, AND CURRENTLY HAVE SEVERE ISSUES WITH PAPARAZZI'''<br />
<br />
868MHz is a limited band. Please read the [[868MHz Issues]]<br />
<br />
XBee-PRO 868 modules are long range embedded RF modules for European applications. Purpose-built for exceptional RF performance, XBee-PRO 868 modules are ideal for applications with challenging RF environments, such as urban deployments, or where devices are several kilometers apart.<br />
<br />
<br />
{|<br />
|-valign="top"<br />
|[[Image:xbeeproxsc-rpsma.jpg|thumb|left|Maxstream XBee Pro 868]]<br />
|<br />
* 868 MHz short range device (SRD) G3 band for Europe<br />
* Software selectable Transmit Power<br />
* 40 km RF LOS w/ dipole antennas<br />
* 80 km RF LOS w/ high gain antennas (TX Power reduced)<br />
* Simple to use peer-to-peer/point-to-mulitpoint topology<br />
* 128-bit AES encryption<br />
* 500 mW EIRP<br />
* 24 kbps RF data rate<br />
* price : ~70 USD<br />
|<br />
|}<br />
<br />
See [[XBee_configuration#XBee_Pro_868_MHZ|XBee Configuration]] for setup.<br />
<br />
==== Documentation ====<br />
* [http://www.digi.com/products/wireless/point-multipoint/xbee-pro-868.jsp http://www.digi.com/products/wireless/point-multipoint/xbee-pro-868.jsp]<br />
<br />
=== Digi XBee Pro XSC 900MHz ===<br />
<br />
Maxstream has recently announced a promising new line of modems combining the small size and low cost of their popular Xbee line with the long range and 2.4 GHz video compatibility of their high end 900 MHz models. Sounds like the perfect modem for anyone who can use 900 MHz. Give them a try and post your results here!<br />
{|<br />
|-valign="top"<br />
|[[Image:xbeeproxsc-rpsma.jpg|thumb|left|Maxstream XBee Pro XSC]]<br />
|<br />
* Frequency Band 900 MHz<br />
* Output Power 100 mW (+20 dBm)<br />
* Sensitivity -100 dBm <br />
* Data Rate: 9600 bps<br />
* Range (typical, depends on antenna & environment) Up to 24km (15 miles) line-of-sight <br />
* Interface 20-pin mini connector (Xbee compatible pinout)<br />
* RPSMA, integrated whip antenna or U.FL antenna connector (3 versions)<br />
* price : ~75 USD<br />
|<br />
|}<br />
<br />
==== Documentation ====<br />
* [http://www.digi.com/products/wireless/point-multipoint/xbee-pro-xsc.jsp http://www.digi.com/products/wireless/point-multipoint/xbee-pro-xsc.jsp]<br />
==== Trials ====<br />
Tested one today and it worked great. Going to try a multiUAV test with it soon<br />
--Danstah<br />
<br><br />
<br><br />
MultiUAV tests concluded this is probably not the best module to use. Even though it says you can change the baudrate inside x-ctu that is not the case, it is fixed at 9600 bps. This is a great modem however for single UAV's and I do recommend.<br />
--Danstah<br />
<br><br />
<br><br />
Why would the European (868 MHz) be good to 24kbps and this only to 9600? When I was altering my XBees (2.4Ghz Pro's) I had this problem altering baud rates until I read you have to send a "commit and reboot" type command after setting the baud rate. Could this be the case? --GR<br />
<br />
== Maxstream 9XTend ==<br />
<br />
These larger units have been tested on the 900Mhz band, but are also available in 2.4Ghz. They are a bit on the heavy side, about 20 grams, but give good performance at range. They have adjustable transmit power settings from 100mW to 1W. Testing has shown range up to 5.6km (3.5 Miles) with XTend set to 100mW with small 3.1dB dipole antenna.<br />
<br />
{|<br />
|-valign="top"<br />
|<br />
[[Image:XTend_USB_RF_Modem.jpg|frame|left|9XTend USB Modem]]<br />
|<br />
* Frequency Band 900Mhz and 2.4Ghz (2 versions)<br />
* Output Power 1mW to 1W software selectable<br />
* Sensitivity -110 dBm (@ 9600 bps)<br />
* RF Data Rate 9.6 or 115.2 Kbps<br />
* Interface data rate up to 230.4 Kbps<br />
* Power Draw (typical) 730 mA TX / 80 mA RX <br />
* Supply Voltage 2.8 to 5.5v<br />
* Range (typical, depends on antenna & environment) Up to 64km line-of-sight <br />
* Dimensions 36 x 60 x 5mm<br />
* Weight 18 grams<br />
* Interface 20-pin mini connector <br />
* RF connector RPSMA (Reverse-polarity SMA) or MMCX (2 versions)<br />
* price : ~179 USD<br />
|<br />
[[Image:Xtend_module.jpg|frame|left|9XTend OEM Modem]]<br />
|}<br />
<br />
=== Pinout ===<br />
<br />
[[Image:Maxstream_9XTend_Pinout.gif|thumb|left|Maxstream 9XTend Pinout]]<br />
<br />
{| border="1"<br />
|-valign="top"<br />
||'''''9XTend 20-pin Header'''''||'''''Name'''''||'''''Tiny Serial-1 Header'''''||'''''Notes'''''<br />
|-<br />
||1||GND||1 (GND)||Ground <br />
|-<br />
||2||VCC||2 (5V)||5V power (150mA - 730mA Supplied from servo bus or other 5V source)<br />
|-<br />
||5||RX||8 (TX)||3-5V TTL data input - connect to Tiny TX<br />
|-<br />
||6||TX||7 (RX)||5V TTL data output - connect to Tiny RX<br />
|-<br />
||7||Shutdown||2||This pin must be connected to the 5V bus for normal operation<br />
|}<br />
Notes:<br><br />
* 9XTend can run on voltages as low as 2.8V but users are strongly advised against connecting any modem (especially high power models) to the sensitive 3.3V bus supplying the autopilot processor and sensors.<br />
<br style="clear:both"><br />
<br />
=== Documentation ===<br />
<br />
* [http://www.maxstream.net/products/xtend/oem-rf-module.php product page]<br />
* [http://www.maxstream.net/products/xtend/datasheet_XTend_OEM_RF-Module.pdf datasheet]<br />
* [http://www.maxstream.net/products/xtend/product-manual_XTend_OEM_RF-Module.pdf user manual]<br />
<br />
== Aerocomm ==<br />
Aerocomm's API mode is already implemented but some system integration is required. Full API more with addressed packets works well and was tested with AC4790-1x1 5mW low power modules. Maximim range achieved with a whip quater-wave antenna was 1Km.<br />
<br />
How to use this modem on ground station side? [http://paparazzi.enac.fr/wiki/index.php/User:SilaS#SDK-AC4868-250_ground_modem_part]<br />
<br />
See folder paparazzi3 / trunk / sw / aerocomm. It has all the required files to use this modem on the airborne and ground station side. The link.ml file is a direct replacement of the "main" link.ml file of the ground sttaion and will be merged into it in the future.. or you can do it as well.<br />
<br />
<br />
{|<br />
|<br />
=== AC4868-250 ===<br />
* Frequency Band 868MHz (For Europe). 868MHz is a limited band. Please read the [[868MHz Issues]]<br />
* Output Power (w/ 2dBi antenna) 250 mW <br />
* Sensitivity (@ full RF data rate) -103 dB <br />
* RF Data Rate Up to 28.8 Kbps <br />
* INterface Data Rate Up to 57.6 Kbps <br />
* Power Draw (typical) 240 mA TX / 36 mA RX <br />
* Supply Voltage 3.3v & 5V or 3.3v only<br />
* Range (typical, depends on antenna & environment) Up to 15 kilometers line-of-sight <br />
* Dimensions 49 x 42 x 5mm <br />
* Weight < 21 grams<br />
* Interface 20-pin mini connector <br />
* Antenna MMCX jack Connector <br />
* price : ~80$<br />
|<br />
[[Image:ConnexLink_USB_RF_Modem.jpg|thumb|Aerocomm USB Stand-alone Modem]]<br />
|-<br />
|<br />
<br />
=== AC4790-200 ===<br />
* Frequency 902-928MHz (North America, Australia, etc).<br />
* Output Power 5-200mW<br />
* Sensitivity (@ full RF data rate) -110dB<br />
* RF Data Rate up to 76.8 Kbps<br />
* INterface Data Rate Up to Up to 115.2 Kbps <br />
* Power Draw (typical) 68 mA<br />
* Supply Voltage 3.3v & 5.5V<br />
* Range (typical, depends on antenna & environment) Up to 6.4 kilometers line-of-sight <br />
* Dimensions 42 x 48 x 5mm <br />
* Weight < 20 grams<br />
* Interface 20-pin mini connector <br />
* Antenna MMCX jack Connector or internal<br />
* price : ~80$<br />
|<br />
[[Image:ac4868_transceiver.jpg|thumb|left|AC4868 OEM Modem]]<br />
|<br />
|-<br />
|<br />
<br />
=== AC4790-1000 ===<br />
* Frequency 902-928MHz (North America, Australia, etc).<br />
* Output Power 5-1000mW<br />
* Sensitivity (@ full RF data rate) -99dB<br />
* RF Data Rate up to 76.8 Kbps<br />
* INterface Data Rate Up to Up to 115.2 Kbps <br />
* Power Draw (typical) 650 mA<br />
* Supply Voltage 3.3V only<br />
* Range (typical, depends on antenna & environment) Up to 32 kilometers with high-gain antenna<br />
* Dimensions 42 x 48 x 5mm <br />
* Weight < 20 grams<br />
* Interface 20-pin mini connector <br />
* Antenna MMCX jack Connector<br />
* price : ~80$<br />
|}<br />
<br />
=== Pinout ===<br />
<br />
[[Image:Aerocomm_AC4868_pinout.jpg|thumb|left|Aerocomm AC4868 modem pinout]]<br />
[[Image:Aerocomm_AC4490-200_wired.jpg|thumb|left|Aerocomm AC4490 wiring example]]<br />
<br style="clear:both"><br />
<br />
{| border="1"<br />
|+ Wiring the Aerocomm AC4868 to the Tiny<br />
|-valign="top"<br />
||'''''AC4868 20-pin Header'''''||'''''Name'''''||'''''Color'''''||'''''Tiny v1.1 Serial-1'''''||'''''Tiny v2.11 Serial'''''||'''''Notes'''''<br />
|-<br />
||2||Tx||green||7||7||''(Note 1)''<br />
|-<br />
||3||Rx||blue||8||8||''(Note 1)''<br />
|-<br />
||5||GND||black||1||1|| -<br />
|-<br />
||10+11||VCC||red||2||3||+3.3v<br />
|-<br />
||17||C/D||white||3||?||Low = Command High = Data<br />
|}<br />
''Note 1 : names are specified with respect to the AEROCOMM module''<br />
<br />
=== Documentation ===<br />
* [http://www.aerocomm.com/rf_transceiver_modules/ac4790_mesh-ready_transceiver.htm AC4790 product page]<br />
* [http://www.aerocomm.com/docs/Datasheet_AC4790_HI.pdf AC4790 Datasheet]<br />
* [http://www.aerocomm.com/docs/User_Manual_AC4790.pdf AC4790 Manual]<br />
* [http://www.aerocomm.com/rf_transceiver_modules/ac4868_868mhz_rf_transceiver.htm AC4848 product page]<br />
* [http://www.aerocomm.com/docs/Datasheet_AC4868_HI.pdf AC4868 Datasheet]<br />
* [http://www.aerocomm.com/docs/User_Manual_AC4868.pdf AC4868 user manual]<br />
<br />
== Radiotronix ==<br />
These Radiotronix modems are used in transparent mode. Use the WI232EUR Evaluation Software for configuring the modems for the set speed. Connect /CMD and CTS for programming. The DTS version for the US market might cause severe interference with GPS reception, it is not recommended. For a nice ground station modem just add a FTDI232 USB->serial cable, a 3.3V regulator with 100nF capacitors from supplies to ground, solder a SMA cable/connector and put it in a nice case. Make sure you only connect RTS to /CMD if you want to reprogram the modem with the Evaluation software (see the open jumper connection in the picture, green wire) and leave it floating otherwise as connected RTS/CTS sporadically leads to a reprogramming of the modem. The ANT-GXD105-FME/F from [http://www.roundsolutions.com Roundsolutions] was used as a ground station antenna at many competitions. Note that a 1/2 wave dipole antenna works best on-board as it doesn't require a ground-plane and has a reasonably omnidirectional radiation pattern.<br />
{|<br />
|<br />
=== WI232EUR ===<br />
* Frequency Band: 868 MHz (for Europe)<br />
* Output Power: 32 mW <br />
* RF Data Rate: Up to 76.8 kbps <br />
* Interface Data Rate: up to 115.2 kbps <br />
* Power Draw (typical): 65 mA TX / 20 mA RX <br />
* Supply Voltage: 3.3v<br />
* Range (typical, depends on antenna & environment): 500 meters line-of-sight <br />
* Dimensions: 24 x 21 x 4mm <br />
* Weight: ~2 grams<br />
* Interface: solder connector <br />
* Antenna: solder connector <br />
* Price: ~25$<br />
|<br />
[[Image:Wi232eur_wiring.jpg|thumb|WI232EUR Modem (picture shows connection to Tiny 1.1)]]<br />
|-<br />
|<br />
<br />
=== Pinout ===<br />
<br />
<br style="clear:both"><br />
<br />
{| border="1"<br />
|+ Wiring the WI232EUR to the Tiny v1.1<br />
|-valign="top"<br />
||'''''WI232 pins'''''||'''''Name'''''||'''''Tiny Serial-1'''''||'''''Notes'''''<br />
|-<br />
||6||TxD||7||''(Note 1)''<br />
|-<br />
||5||RxD||8||''(Note 1)''<br />
|-<br />
||15-18||GND||1|| - <br />
|-<br />
||19||VCC||2||+3.3v<br />
|-<br />
||4||/CMD||-||''(Note 2)''<br />
|-<br />
||7||CTS||-||''(Note 3)''<br />
|}<br />
''Note 1 : names are specified with respect to the Radiotronix module''<br />
<br />
''Note 2 : connect to RTS to program device with Evaluation software''<br />
<br />
''Note 3 : connect to CTS to program device with Evaluation software''<br />
<br />
|<br />
[[Image:Wi232eur_bopla.jpg|thumb|WI232EUR Modem in BOPLA case]]<br />
|-<br />
|<br />
|}<br />
=== Documentation ===<br />
* [http://www.radiotronix.com/datasheets/new/eur_um.pdf WI232EUR data sheet]<br />
* [http://www.radiotronix.com/datasheets/new/rk-eur_um.pdf WI232EUR user's manual]<br />
* [http://www.radiotronix.com/downloads/software/EUR/setup.exe Evaluation software]<br />
<br />
== Bluetooth ==<br />
These modems do not give you a great range but Bluetooth can be found in a lot of recent laptops built-in. Maybe not useful for fixed wing aircrafts it might be used for in-the-shop testing or quadcopters. Make sure you get a recent Class 1 EDR 2.0 stick if you buy one for your computer.<br />
{|<br />
|<br />
=== "Sparkfun" Roving Networks (WRL-08497) ===<br />
* Frequency Band 2.4GHz<br />
* Output Power 32 mW <br />
* RF Data Rate up to ~300 kbps in SPP<br />
* Interface Data Rate up to 921 kbps <br />
* Power Draw (typical) 50 mA TX / 40 mA RX <br />
* Supply Voltage 3.3v<br />
* Range (typical, depends on antenna & environment) 100 meters line-of-sight <br />
* Dimensions 26 x 13 x 2mm <br />
* Weight ~1.5 grams<br />
* Interface solder connector <br />
* price : ~45$<br />
|<br />
[[Image:roving_nw_wiring.jpg|thumb|Roving Networks modem wiring]]<br />
|-<br />
|<br />
<br />
To connect to it, get the MAC address of the bluetooth modem<br />
<br />
me@mybox:~$ hcitool scan<br />
Scanning ...<br />
00:06:66:00:53:AD FireFly-53AD<br />
<br />
either make a virtual connection to a Bluetooth serial port each time you connect<br />
<br />
sudo rfcomm bind 0 00:06:66:00:53:AD<br />
<br />
or configure it once in /etc/bluetooth/rfcomm.conf<br />
<br />
rfcomm0 {<br />
bind yes;<br />
device 00:06:66:00:53:AD;<br />
}<br />
<br />
now you can use Bluetooth as '''/dev/rfcomm0''' with the Paparazzi 'link'. You might need to restart 'link' in case you get out of range and it disconnects (tbd). Set the Tiny serial speed to 115200 as the modules come preconfigured to that.<br />
|}<br />
<br />
== Coronis WaveCard ==<br />
<br />
These relatively inexpensive and light modules implement a Coronis proprietary protocol. Low power consumption - high latency - I would not recommend these modules mostly because of the low quality of the distribution and support. The documentation is rather poor and not easily available.<br />
<br />
'''Suport for these modems has been removed from the airborne code on Dec 10th, 2007.'''<br />
{|<br />
|-valign="top"<br />
|<br />
* Frequency Band 400MHz, 868Mhz and 915MHz (3 versions)<br />
* Output Power 25mW and 500mW (2 versions)<br />
* Sensitivity -110 dBm (@ 9600 bps)<br />
* Data Rate 100 Kbps<br />
* Power Draw (typical) 45mA (25mW), 450mA (500mW) TX / 15 mA RX <br />
* Supply Voltage ...<br />
* Range (typical, depends on antenna & environment) Up to 1km (25mW) , 5km (500mW) line-of-sight <br />
* Dimensions 30 x 28 x 7mm (25mW), 37 x 30 x 7mm (500mW)<br />
* 50 ohm RF port for antenna connection<br />
|<br />
[[Image:wavecard.jpg|Coronis Wavecard]]<br />
|}<br />
<br />
=== Documentation ===<br />
<br />
* [http://www.coronis-systems.com/produit.php?lang=EN&id=WCA www.coronis-systems.com]<br />
* [[Media:CS-COM-SPRD-WAVECARD-E03B.pdf|Wavecard datasheet]]<br />
<br />
== Telemetry via Video Transmitter==<br />
<br />
[[Image:video_tx_small.jpg|thumb|2.4GHz Video Transmitter]]<br />
In order for the UAV to transmit video from an onboard camera, an analog video transmitter can be used. These vary in power, and thus range, and run normally on 2.4Ghz. Small UAVs can get about 600m of range from the 50mW version, and extended range can be achieved using units up to 1W. Weight for these units varies from a couple grams to about 30 for the 1W with shielding. Please check for your countries regulations on 2.4Ghz transmission, as each is different. <br />
<br />
It is possible to use the audio channel to send simple telemetry data to the groundstation. Uploading telemetry not possible via analog audio transmitter only.<br />
<br style="clear:both"><br />
<br />
== Antennas ==<br />
<br />
Here are some examples of lightweight and efficient 868MHz antennas developped by the RF laboratory at ENAC.<br />
[[Image:868mhz_twinstar_antenna_1.jpg|thumb|left|868MHz copper foil antenna attached to the aircraft tail]] <br />
[[Image:868mhz_twinstar_antenna_2.jpg|thumb|left|868MHz copper foil antenna bottom view]] <br />
[[Image:868mhz_ground_antenna.jpg|thumb|left|868MHz ground antenna]] <br />
<br style="clear:both"><br />
<br />
This wiki page might give some ideas about antennas: http://en.wikipedia.org/wiki/Dipole_antenna<br />
<br />
[[Category:Hardware]]</div>Aerovista