Modems
The Paparazzi autopilots generally feature a 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 and XBee Configuration pages.
Digi XBee modules
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.
- XBee (PRO) ZB (the current series)
- XBee (PRO) ZNet 2.5 (formerly Series 2) (only legacy -> use XBee-PRO ZB)
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.
These two also share the same hardware and can be converted from one to another by flashing a different firmware:
- XBee-PRO 802.15.4 (formerly Series 1)
- XBee-PRO DigiMesh 2.4
Note: Modules based on Freescale chipset (formerly Series 1) are not compatible with Ember chipset based modules (Series 2).
See the XBee Configuration page. This tutorial is also good to configure and get started with XBee Pro.
Module Comparison
Module | Point-to-Multipoint | ZigBee/Mesh | Chipset | Software stack | Frequency | TX Power normal/PRO | Notes |
XBee ZB | yes | Ember | EmberZNet PRO 3.1 (ZigBee 2007) | 2.4 GHz | 2mW/50mW | coordinator needed | |
XBee ZNet 2.5 | yes | Ember | EmberZNet 2.5 ZigBee | 2.4 GHz | 2mW/50mW | (only legacy -> use XBee-PRO ZB) coordinator needed | |
XBee DigiMesh 2.4 | yes | Freescale | 2.4 GHz | all nodes equal (no special coordinators/routers/end-devices) | |||
XBee 802.15.4 | yes | Freescale | 2.4 GHz | ||||
XBee-PRO 868 | yes | ? | 868 MHz | 500mW | Only High Power Frequency allowed in the UK. 2.4GHz limited to 10mW |
Comparison Conclusion
(Copied from DIGI manual)
If the application strictly needs to communicate in a point-to-point or a point-to-multipoint fashion, 802.15.4 will be able handle all the communications between your devices and will be simpler to implement than trying to use a module with ZigBee firmware to accomplish the same goal. ZigBee is necessary if you need to use repeating or the mesh networking functionality.
-Interpretation for paparazzi: if inter-aircraft communication is required one should go for the zigbee ZB series 2 modules.
Pinout
Xbee 20-pin Header | Name | Notes | Suggested Color | |
1 | +3.3v | Power | Red | |
2 | DOUT | Tx output - connect to Autopilot Rx | Green | |
3 | DIN | Rx input - connect to Autopilot Tx | Blue | |
10 | GND | Ground | Black |
The image view is from above, top, thus NOT at the side where the connector pins come out
Note : DTR and RTS need to be wired for upgrading firmware
GCS Adaptation
There are several vendors of hardware to connect the ground XBee radio modem to the GCS computer.
Adafruit
Adafruit 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.
Droids
Simpler, lighter, smaller footprint, bit more expensive, comes assembled and tested. --GR
For direct connection to USB (no FTDI cable required)
PPZUAV
FTDI Utility Board 1.0 (no FTDI cable required)
Sparkfun
XBee Explorer USB (no FTDI cable required)
Digi XBee Pro DigiMesh / 802.15.4 ("Series 1")
- 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.
These relatively cheap and light modules implement the 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.
|
Mouser: 888-XBP24-PKC-001-UA
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.
Documentation
- product page
- datasheet
- user manual
- To program your Xbee you need X-CTU you can download it here. (only windows)
- explanation on X-CTU here.
- Drivers for XB24 and XBP24 modules
Digi XBee Pro ZB / ZNet 2.5 ("Series 2")
The low-power XBee ZB and extended-range XBee-PRO ZB use the ZigBee PRO Feature Set for advanced mesh networking.
|
These are available from Mouser:
888-XBP24-Z7WIT-004 XBee-PRO ZB with whip antenna
888-XBP24-Z7SIT-004 XBee-PRO ZB with RPSMA
See XBee Configuration for setup.
Documentation
Digi XBee Pro 868
WARNING - THESE MODEMS HAVE A 10% DUTY CYCLE, AND CURRENTLY HAVE SEVERE ISSUES WITH PAPARAZZI
868MHz is a limited band. Please read the 868MHz Issues
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.
|
See XBee Configuration for setup.
Documentation
Digi XBee 868LP
XBee 868LP modules are a low-power 868 MHz RF module for use in Europe. The range is shorter than it's brother the XBee PRO-868, but it can use the 868 G4 band with hopping which does not have restrictions on it's duty cycle. This is a big advantage if one want to have a good stream of telemetry data
|
Documentation
Trial
With a quickly crafted and not optimal positioned antenna on the airframe we managed to get the advertised 4000 meter range. Data throughput was not high and the Iridium Telemetry XML configuration document was therefore used. All in all, cheap, easy to setup, pin compatible with regular modules and quite a range and usable in Europe without hassle.
Digi XBee Pro 900 (XBEE09P)
XBee Pro 900 modules are long range embedded RF modules for US applications. Purpose-built for exceptional RF performance, XBee-Pro 900 modules are ideal for applications with challenging RF environments, such as urban deployments, or where devices are several kilometers apart.
Documentation
I've been using a pair of these for about 6 months now and they works great. To set it up I just used a serial terminal app like CoolTerm or screen and made sure I could send messages between the two of them. - cwozny
Digi XBee Pro XSC 900MHz
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!
|
Documentation
Trials
Tested one today and it worked great. Going to try a multiUAV test with it soon
--Danstah
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.
--Danstah
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
Digi 9XTend
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.
|
Pinout
9XTend 20-pin Header | Name | Tiny Serial-1 Header | Notes |
1 | GND | 1 (GND) | Ground |
2 | VCC | 2 (5V) | 5V power (150mA - 730mA Supplied from servo bus or other 5V source) |
5 | RX | 8 (TX) | 3-5V TTL data input - connect to Tiny TX |
6 | TX | 7 (RX) | 5V TTL data output - connect to Tiny RX |
7 | Shutdown | 2 | This pin must be connected to the 5V bus for normal operation |
Notes:
- 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.
Documentation
Configuration
These modems need to be carefully configured based on your usage scenario to obtain the best possible range and link quality. In addition, it is always good to make sure the firmware is up to date.
Some typical configurations that may work well, but can still depend your particular situation, are given below. For further details, be sure to consult the XTend users manual. Your application may need a different or modified configuration. The radiomodems do not need identical settings and can in fact be optimized with different settings. A good example is delays and retries: if each radio has the same number of retries and no delay, when a collision occurs each will continuously try to re-transmit, locking up the transmission for some time with no resolution or successful packet delivery. Instead, it is best to set the module whose data should have a lower latency to have no delay and a lower number of retries, while the other module has a delay set (RN > 0) and a greater number of retries. See acknowledged mode example below.
- Acknowledged Polling Mode (Recommended):
- This causes one radio to be the base and the other(s) to be the remote(s). It eliminates collisions because remotes do not send data unless requested by the base. It can work in acknowledged mode (RR>0), basic reliable mode (MT>0) or in basic mode (no acknowledgement or multiple packets). It is recommended that the lower latency and/or higher data rate side be configured as the base (i.e. if you are sending lots of telemetry then the air module configured as the base is probably a good idea, but if you are using datalink joystick control, the ground side might be better as the base. It may require some experimentation).
- Acknowledged Point-to-(Multi)Point Mode:
- Each radio sends a packet and requests and acknowledgement that the packet was sent from the receiving side. The retries and delays must be set appropriately to ensure packet collisions are dealt with appropriately. It can also work without acknowledgements in basic reliable mode (MT>0) without any acknowledgements (RR=0, MT=0). Some experimentation may be required.
Setting Name | Acknowledged Mode | Polling Mode (Acknowledged) | Notes | ||
Airside Module | Groundside Module | Base Module | Remote Module | ||
BD | 6 | 6 | 6 | 6 | Adjust to match your configured autopilot and ground station baud rates (default for these is 57600bps) |
DT | default | default | 0x02 | 0x01 | Can be adjusted if consistency maintained across addressing functionalities (see manual) |
MD | default | default | 3 (0x03) | 4 (0x04) | |
MT | 0 | 0 | 0 | 0 | Use this to enable Basic Reliable transmission, link bandwidth requirement increases (see manual) |
MY | default | default | 0x01 | 0x02 | Can be adjusted if consistency maintained across addressing functionalities (see manual) |
PB | default | default | 0x02 | default | Can be adjusted if consistency maintained across addressing functionalities (see manual) |
PD | default | default | default | default | Can be adjusted to increase polling request rate and DI buffer flush timeout (see manual) |
PE | default | default | 0x02 | default | Can be adjusted if consistency maintained across addressing functionalities (see manual) |
PL | default | default | default | default | Transmit power level should be reduced for lab testing!! |
RN | 0 (0x00) | 8 (0x08) | default | default | |
RR | 6 (0x06) | 12 (0x0C) | 6 (0x06) | 12 (0x0C) |
Note: All settings are assumed to be default except those listed. Those listed are in decimal unless hex 0x prefix included. Depending on your firmware version, slight modifications may be necessary.
Here is some additional information and alternative instructions to configure the polling mode from the Digi site: Polling Mode for the 9XTend Radio Modem
SiLabs Si1000 SoC based modems
The Si1000 radio System on Chip (SOC) produced by SiLabs is found in a number of radio modules, for example the cheap and widely used HopeRf module. There is open source firmware for these radios which makes them suitable for use in MAVs.
Note that (unlike some XBee modules) the SiK firmware does not support mesh topologies, it is strictly a point-to-point link. If you are working with swarming vehicles they may not be the best choice.
Online documentation for the Sik firmware shows how to configure it for various jurisdictions. The firmware supports 433 MHz, 470 MHz, 868 MHz and 900 MHz radios, if you are aware of any hardware supporting the European spectrum licences (868 MHz) please add them to this wiki.
Note: When using a SiK firmware radio with paparazzi, you should set "ATS6=0" (MavLink packing off) and configure paparazzi for transparent serial mode.
This module is well proven and supports antenna diversity. A combination of 6dbi Yagi plus a dipole on the ground station, with a pair of orthogonality oriented dioples in the airframe, has been extensively tested and proven reliable at >8km range (theoretical range of ~40km).
Alternatively, for shorter range a pair of cheap generic HopeRF-based modems such as these
The RFD900 can be paired with cheap generic (single front-end) modules, if for example you use a small short range airframe with a ground station that's also used for long range operations.
Aerocomm
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.
How to use this modem on ground station side? [2]
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.
AC4868-250
|
||
AC4790-200
|
||
AC4790-1000
|
Pinout
AC4868 20-pin Header | Name | Color | Tiny v1.1 Serial-1 | Tiny v2.11 Serial | Notes |
2 | Tx | green | 7 | 7 | (Note 1) |
3 | Rx | blue | 8 | 8 | (Note 1) |
5 | GND | black | 1 | 1 | - |
10+11 | VCC | red | 2 | 3 | +3.3v (Note 2) |
17 | C/D | white | 3 | ? | Low = Command High = Data |
Note 1 : names are specified with respect to the AEROCOMM module
Note 2 : AC4790-1000 needs pins 10 and 11 jumped to work properly
Documentation
- AC4790 product page
- AC4790 Datasheet
- AC4790 Manual
- AC4848 product page
- AC4868 Datasheet
- AC4868 user manual
Laird (ex Aerocomm)
Laird LT2510
Two different power versions are available:
- 50mW version: 4 dbm to 17 dbm (2,5 mW to 50mW)
- 125mW version: 4 dbm to 21 dbm (2,5 mW to 125mW)
Two different mounting/pinuts are available:
- smd version: can be soldered on a pcb
- pin header: standard xbee (or BEE) pinout with header (this is the SMD version mounted on a seperate pcb with male pin headers)
General features:
- Frequency Band 2.4GHz
- Output Power 2,5mW - 125mW
- Sensitivity -98dbm @ 280kbps/-94 dBm @ 500kbps
- RF Data Rate 280/500 kbps
- UART up to 460800 baud
- Power Draw 90mA - 180mA TX / 10mA RX
- Supply Voltage 3.3v
- Range up to 4000m
- Dimensions 26 x 33 x 4mm
- Weight 4 grams
- Interface 20-pin mini connector (smd solder pad or XBee compatible pin header)
- Chip antenna, or a U.FL antenna connector
- Price: 29-31€ @ mouser (smd or tht version)
There are following differences between both versions:
value | 50mW version | 125mW version | |
output power | 2,5mW - 50mW | 2,5mW - 125mW | |
maximum radiated power | 20dbm | 30dbm | |
TX drain | 90mA | <180mA | |
max range | 2400m | 4000m | |
approval | CE for EU, FCC/IC for USA,
Canada PRM122/123 also for Japan |
FCC/IC for USA, Canada |
The LT2510 uses frequency hopping which needs a client/server model. That means that one modem (most appropriately the ground station modem) needs to be set to server mode. It will transmit a beacon message and have all client modems synchronize to that in a time and frequency hopping scheme manner. For that all modems need to have the same channel (in fact the hopping scheme) and system-id. Clients can be set to auto-channel and auto-system-id to follow any/the first visible server.
All acknowledged messages transmitted need to be adressed to the non-changeable MAC address of the destination modem. There are is a way to automatically set destination adresses but this procedure does have drawbacks (see below).
Make sure you short circuit "D1" if you use the Sparkfun WRL-09132 "XBee Explorer Regulated" adapter. The Laird does not have a pull-up resistor on DIN that Sparkfun assumes.
Basic setup
You can download a Windows configuration utility from here.
Set client to client mode (default). Set server to server mode.
Set speed on both modems to 57600 baud, the Paparazzi standard.
Choose RF profile with low speed (280kbps) for long range (default).
Transparent mode
The transparent mode is different from the XBee modems transparent mode. It will only allow two modems to communicate with each other.
Transparent mode with hard coded address
In this mode the destination MAC address is permanently set in the EEPROMs of the modems. Only these two modems can communicate with each other. The advantage of this mode is that other modems can not confuse the communication. You have to read out both modems MAC adresses as they are not printed on the case.
Set server MAC address in client Set client MAC address in server
Transparent mode with auto-address
The server will start emitting beacon messages and the client locks to these, starting to send messages to the servers MAC address. The server will then respond to that clients data messages. In this mode only one server can talk to one client. Any appearance of another server or client modem will confuse/disrupt the communication.
Set server to auto-destination. Set client to auto-destination and auto-destination-beacons-only.
API mode
We need at least a simple form of address resolution as the modems own (MAC) address can not be changed. This makes the ground station link and on-board software a little more complicated than the XBee API mode.
tbd
Radiotronix
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 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.
WI232EUR
|
|||||||||||||||||||||||||||||
Pinout
Note 1 : names are specified with respect to the Radiotronix module Note 2 : connect to RTS to program device with Evaluation software Note 3 : connect to CTS to program device with Evaluation software |
|||||||||||||||||||||||||||||
Documentation
Bluetooth
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.
"Sparkfun" Roving Networks (WRL-08497)
|
|
To connect to it, get the MAC address of the bluetooth modem me@mybox:~$ hcitool scan Scanning ... 00:06:66:00:53:AD FireFly-53AD either make a virtual connection to a Bluetooth serial port each time you connect sudo rfcomm bind 0 00:06:66:00:53:AD or configure it once in /etc/bluetooth/rfcomm.conf rfcomm0 { bind yes; device 00:06:66:00:53:AD; } 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. |
Coronis WaveCard
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.
Suport for these modems has been removed from the airborne code on Dec 10th, 2007.
|
Documentation
Telemetry via Video Transmitter
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.
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.
Telemetry via Internet / Raspberry Pi
The main link works over the internet and mobile internet.
Most UMTS sticks don't have a own public IP adress and can't be used as a server. The ssh connection must be reversed(ssh server runs on the gcs, not on the uav)
How to:
- Establish the connection between a UMTS stick and the Raspberry PI, search for each programm for seperate instructions, these on instructables aren't complete ! Instructables site
A android smartphone is another way to provide the Raspberry pi with a internet connection. Android USB thetering setup
- set up ser2net
- set up static ip adress (public) of your gcs static IP Ubuntu
- set up reverse ssh tunnel ssh reverse serial tunnel
- connect Raspberry PI with AP over UART (Raspberry Pi's UART Pins are only 3.3v and not 5v tollerant)
Antennas
Here are some examples of lightweight and efficient 868MHz antennas developped by the RF laboratory at ENAC.
This wiki page might give some ideas about antennas: http://en.wikipedia.org/wiki/Dipole_antenna