Difference between revisions of "Modems"

From PaparazziUAV
Jump to navigation Jump to search
 
(21 intermediate revisions by the same user not shown)
Line 721: Line 721:
<br style="clear:both">
<br style="clear:both">


=== ESP8266 as a wifi datalink modem ===
=== Yet another ESP8266 datalink modem ===
Article in progress
[[File:Taranis openlrsng to udp.jpg|thumb]]
[[File:Taranis openlrsng to udp.jpg|thumb]]
I have great success in connecting the aircraft with the GCS link agent using the Wemos D1 mini or any other ESP8266 module as a short range modem.
Lately i started connecting the aircraft with the GCS link agent using the Wemos D1 mini or any other ESP8266 module as a short range modem.
In order to accomplish this you will need to setup the Arduino IDE, instructions here [https://randomnerdtutorials.com/how-to-install-esp8266-board-arduino-ide/ How to setup Arduino IDE for esp8266]
In order to accomplish this you will need to setup the Arduino IDE, instructions here [https://randomnerdtutorials.com/how-to-install-esp8266-board-arduino-ide/ How to setup Arduino IDE for esp8266]
so it can compile and upload ESP8266 code to the ESP8266 mcu.
so it can compile and upload ESP8266 code to the ESP8266 mcu.
After setting up the Arduino IDE you will need to compile and upload this sketch [[File:UART to UDP paparazzi autopilot.zip|thumb|uart to udp Access poin (AP)]]
After setting up the Arduino IDE you will need to compile and upload this sketch [[File:UART to UDP paparazzi autopilot.zip|thumb|uart to udp Access poin (AP)]].
and then upload it to your ESP8266 board, make sure that you have selected the right ESP8266 board as a target, i use the Wemos D1 mini because that was what came in first after i ordered a bunch of those ESP8266 modules.
 
HAVE IN MIND THAT THE CODE IN THE PREVIOUS PROJECT WITH ESP8266 NAMED "ESP8266 Chip Module" (https://github.com/paparazzi/esp8266_udp_firmware) IS FAR BETTER AND IT WORKS VERY VERY WELL WITHOUT ANY DELAY, mine is a simple program just to understand what is going on basically so use the "esp8266_udp_firmware" but remember to edit the wifi_config.h to suit your needs and also the LED pin inside "pprz_udp_link" line #14
that reads #define LED_PIN 13, for the Wemos D1 mini this line should read #define LED_PIN 2
 
It could be a joke but i didn't saw the EXCELLENT project of Christophe De Wagter (CDW) (i only saw it when i came here to edit this page...) and i spent 2 whole days and one night reading about Arduino coding style and ESP8266 libraries only to write a very simple version of his code...
 
Now upload whichever program you decided to use to your ESP8266 board, both are in AP mode but have different SSID and password, make sure that you have selected the right ESP8266 board as a target, i use the Wemos D1 mini because that was what came in first after i ordered a bunch of those ESP8266 modules.
Now just use the ESP8266 board as a regular modem but remember that now we are using UDP datagrams so after powering up the autopilot (and thus powering up the ESP8266 module) so it can transmit telemetry THEN CONNECT YOUR LAPTOP OR COMPUTER TO THE AP WITH SSID "PAPARAZZI" (password is "paparazzi") and in the GCS select the Flight UDP/WiFi session.
Now just use the ESP8266 board as a regular modem but remember that now we are using UDP datagrams so after powering up the autopilot (and thus powering up the ESP8266 module) so it can transmit telemetry THEN CONNECT YOUR LAPTOP OR COMPUTER TO THE AP WITH SSID "PAPARAZZI" (password is "paparazzi") and in the GCS select the Flight UDP/WiFi session.
Basically i use the ESP8266 module as a wireless connection from my OrangeRx OPENLRSng TX module to the paparazzi running laptop  
 
Where this ESP8266 application is different is that i use the ESP8266 module as a wireless connection from my OrangeRx OPENLRSng TX module to the paparazzi running laptop  
Instead of using a dedicated telemetry modem i use the open project OPENLRSng [https://github.com/openLRSng/openLRSngWiki/wiki OPENLRSng WiKi] which provides a RC link for controlling the aircraft AND a transparent serial link of up to 19200 bps, enough for my usual flights.
Instead of using a dedicated telemetry modem i use the open project OPENLRSng [https://github.com/openLRSng/openLRSngWiki/wiki OPENLRSng WiKi] which provides a RC link for controlling the aircraft AND a transparent serial link of up to 19200 bps, enough for my usual flights.
This way the telemetry leaves the aircraft via the rc link and i comes to my RC transmitter module and the via the ESP8266 module to the GCS running laptop.
This way the telemetry leaves the aircraft via the rc link and i comes to my RC transmitter module and the via the ESP8266 module to the GCS running laptop.
I am sure that with a ESP8266 or a ESP32 module with external antenna and/or an bidirectional amplifier a very nice modem can be realized, you can even use it as a cheap short range modem for testing the aircraft while not in flight, this way you avoid the messy wires and ftdi adapters, something very nice for setting up the compass, accelerometer or gyro neutral points and sensitivity.
I am sure that with a ESP8266 or a ESP32 module with external antenna and/or an bidirectional amplifier a very nice modem can be realized, you can even use it as a cheap short range modem for testing the aircraft while not in flight, this way you avoid the messy wires and ftdi adapters, something very nice for setting up the compass, accelerometer or gyro neutral points and sensitivity.
The UART0 pins have been swapped because on my Wemos D1 mini the on board serial to USB chip uses the default UARTO pins, Serial Tx is now assigned to GPIO15 and Rx is assigned to GPIO13 on your ESP8266 board, on my Wemos D1 mini pin D7 (GPIO13) is the Rx and D8 (GPIO15) is the Tx.
The UART0 pins have been swapped because on my Wemos D1 mini the on board serial to USB chip uses the default UARTO pins, Serial Tx is now assigned to GPIO15 and Rx is assigned to GPIO13 on your ESP8266 board, on my Wemos D1 mini pin D7 (GPIO13) is the Rx and D8 (GPIO15) is the Tx.
If you have any problem with the code let me know, use the mailing list or contact me directly.


Important: The ESP8266's default serial port speed is 57600 bps and this will be also the telemetry speed but if you plan to duplicate my method of telemetry using OPENLRSng as the telemetry transport method please remember that 57600 bps is only the speed of the TX module to ESP8266 module connection and not the actual telemetry data rate which will be about 19200 bps maximum if you select the air to air data speed of the RC receiver and rc radio TX module to be 57600 bps.
The reason is simple, inside this 57600 bps bandwidth two things must be accommodated, one is the standard rc servo channel data and the other is the paparazzi telemetry.
OPENLRSng has 2 baud rate settings in its dedicated Chrome app, The serial link baud rate and the air data rate, set the first to 57600 and the second to 57600 which means that you will get a serial link connection speed of 57600 bps (rc receiver's uart and tx module uart connection speed) and an air data rate (rc receiver to radio Tx module) of 57600 bps which can pass a transparent serial link of 19200 bps along the rc link.
You must set the modem's baud rate in the airframe file at 57600 bps ALSO but the actual telemetry rate will be about 19200 bps and that's why you need to adjust your messages that come through telemetry to fit in that 19200 bps rate.
VERY IMPORTANT:
ONE THING TO REMEMBER IS THE MANDATORY USE OF SHIELDED CABLE FOR CONNECTING THE ESP8266 UART PINS WITH THE AUTOPILOT OR RC TX MODULE'S SERIAL PORT DUE TO RF INTERFERENCE PROBLEMS.
ONE THING TO REMEMBER IS THE MANDATORY USE OF SHIELDED CABLE FOR CONNECTING THE ESP8266 UART PINS WITH THE AUTOPILOT OR RC TX MODULE'S SERIAL PORT DUE TO RF INTERFERENCE PROBLEMS.



Latest revision as of 23:53, 20 January 2021

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

General comparison

This is ONLY a comparison between modules on this page

All modules listed here work without issue and are generally available.

Feature XBee Series 1 XBee Pro Series 1 XBee Series 2 XBee Pro Series 2 XBee 868LP XBee Pro 900HP XBee Pro XSC 900 Digi 9XTend SiLabs Si1000 Aerocom AC4790-200 Aerocom AC4790-1000 Laird RM024 50mW Laird RM024 125mW RN-41 Bluetooth
frequency 2,4GHz 2,4GHz 2,4GHz 2,4GHz 868MHz 900MHz 900MHz 900MHz, 2.4GHz 240-960MHz 900MHz 900MHz 2,4GHz 2,4GHz 2,4GHz
output power 1mW 63mW (US) 10 mW (Int'l) 2mW 63mW 5mW 250mW 250mW 1mW-1W max 100mW 5-200mW 5-1000mW 2,5-50mW 2,5-125mW 32mW
RF speed 250kbps 250kbps 250kbps 250kbps 10kbps, 80kbps 10 or 200kbps 10, 20kbps 9.6, 115.2kbps 76.8kbps 76.8kbps 280, 500kbps 280, 500kbps 300kbps
antenna chip, wire, rpsma, u.fl chip, wire, rpsma, u.fl chip, wire, rpsma, u.fl chip, wire, rpsma, u.fl external required wire, rpsma, u.fl wire, rpsma, u.fl rpsma, MMCX external required MMCX, internal Antenna MMCX u.fl, chip, both u.fl, chip, both pcb trace
pinout XBee XBee XBee XBee SMD XBee XBee 20 pin 2,54mm/USB SMD (42 pin LGA) 20 pin mini connector 20 pin mini connector XBee/SMD XBee/SMD SMD
price 16€ 26€ 14€ 28€ 18€ 32€ 32€ 150€ 4€ 52€ 64€ 30€ 30€ 20€
for Country Worldwide Worldwide Worldwide Worldwide Europe North America, Australia North America, Australia Worldwide Worldwide North America, Australia North America, Australia Europe North America Worldwide

Frequencies

Analog and digital signals (video and data/modem) can not be transmitted over the same frequency band since the analog signal will "block" the digital one. (Attention ! the common 2.4 or 5.8GHz frequencies have multiple channels, if the analog and digital transmitter/receiver modules are set up to different channels/frequencies, they should work (even on 2.4GHz)).

You may want to inform yourself about your countries laws ! Different countries allow different frequencies at different power.
Sending on a wrong frequency or with too much power may end in a serious lawsuit !

Digi: Government Agency Certifications

HAM / CEPT Licence

If possible, consider making a HAM radio (amateur radio) licence. (e.g. CEPT, depends on your locality)

You will learn about the radio technology, operational technology and legislation.
With a HAM radio licence, you can also use other frequencies or transmit on a higher power. (e.g. In some countries, the 5.8GHz video transmission is for non licenced people restricted to 10mW!)

Licence Pros

  • You will be informed well about the (local and international) legislations.
  • You can transmit on a higher power (depends on frequency).
  • You will learn a lot about the techniques and be more than a standard "consumer" of radio electronic products.
  • It will be easier to find faults in your radio systems.
  • You can build (if you want) high gain/focused antennas which can give you a better signal, wider range and won't disturb anyone else.
  • Well educated people respecting the legislation just looks much better in looks to UAV's :)

Licence Cons

  • You will need to learn for the test (can be compared with a diverce licence).
  • The certificate and books will cost about 70€ (total, can vary !).
  • Maybe some costs (per year) for your call sign.

CEPT Licence in Austria

A short description about getting the CEPT 1 (not the CEPT Novice !) licence in Austria.

You will need the appropriate books which cost 50€ (70€ if you want them with the ask catalog and answers which can be helpful) and rough 18€ for the exam and certificate. The ÖVSV offers also some courses, but you can also learn everything with the books.

The are (regularly?) HAM licence courses at the https://metalab.at/ in Vienna.

To be continued...

Links

Austrian ÖVSV
German DARC

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.

Four antenna options are offered: RP-SMA, U-FL, wire antenna, chip antenna

  • 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).

If only point to point or point to multipoint communication is required 802.15.4 will do the job. These are designed for high data rates and low latency.
Modules with Zigbee firmware are needed for mesh functionality(communication between the UAV's)

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


Pinout

Maxstream XBee 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.
More information about general USB-Serial adapters can be found on the Serial_Adapter page.

Adafruit

Adafruit XBee adapter board
Adafruit XBee adapter with FTDI cable

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

XBee Simple Board
XBee USB Board

XBee Simple Board

Simple breakout board with voltage regulator.

XBee USB Board

Adapter with FTDI chip for direct USB connection.


PPZUAV

FTDI Utility Board 1.0‎

ppzuav.com product link
More information at the Serial_Adapter#FTDI_utility_Board page.

FTDI Utility Board 1.0 with FTDI232RL
On board XBEE connector and Molex Picoblade connectors.


Sparkfun

XBee Explorer USB

sparkfun.com

XBee Explorer USB with FTDI232RL


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.

XBee Pro USB Stand-alone Modem (XBP24-PKC-001-UA)
  • Frequency Band 2.4GHz
  • Output Power 100mW (Xbee Pro)
  • Sensitivity -100 dBm
  • RF Data Rate Up to 250 Kbps
  • Interface data rate Up to 115.2 Kbps
  • Power Draw (typical) 214 mA TX / 55 mA RX
  • Supply Voltage 3.3v
  • Range (typical, depends on antenna & environment) Up to 1500m line-of-sight
  • Dimensions 24 x 33mm
  • Weight 4 grams
  • Interface 20-pin mini connector
  • Chip antenna, ¼ monopole integrated whip antenna or a U.FL antenna connector (3 versions)
  • Price: 16€, Pro 26€
XBee Pro OEM Modem

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

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.

Digi XBee Pro ZB
  • Low-cost, low-power mesh networking
  • Interoperability with ZigBee PRO Feature Set devices from other vendors*
  • Support for larger, more dense mesh networks
  • 128-bit AES encryption
  • Frequency agility
  • Over-the-air firmware updates (change firmware remotely)
  • ISM 2.4 GHz operating frequency
  • XBee: 2 mW (+3 dBm) power output (up to 400 ft RF LOS range)
  • XBee-PRO: 50 mW (+17 dBm) power output (up to 1 mile RF LOS range)
  • RPSMA connector, U.FL connector, Chip antenna, or Wired Whip antenna
  • price : 14€, Pro 28€

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.


Maxstream XBee Pro 868
  • 868 MHz short range device (SRD) G3 band for Europe
  • Software selectable Transmit Power
  • 40 km RF LOS w/ dipole antennas
  • 80 km RF LOS w/ high gain antennas (TX Power reduced)
  • Simple to use peer-to-peer/point-to-mulitpoint topology
  • 128-bit AES encryption
  • 500 mW EIRP
  • 24 kbps RF data rate
  • price : ~70 USD

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

XBee 868LP
  • 868 MHz short range device (SRD) G4 band for Europe
  • 4 km RF LOS w/ u.fl antennas
  • 5 mW EIRP
  • 10 or 80 kbps RF data rate
  • price : 18€

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 900HP

  • Frequency band 900Mhz
  • RF rate 10 or 200 kbps
  • up to 250mW output power
  • 5 to 8 grams
  • price: 32€

Documentation

http://ftp1.digi.com/support/documentation/90002173_H.pdf

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!

Maxstream XBee Pro XSC
  • Frequency Band 900 MHz
  • Output Power 100 mW (+20 dBm)
  • Sensitivity -100 dBm
  • RF Rate: 10 or 20 kbps
  • Range (typical, depends on antenna & environment) Up to 24km (15 miles) line-of-sight
  • Interface 20-pin mini connector (Xbee compatible pinout)
  • RPSMA, integrated whip antenna or U.FL antenna connector (3 versions)
  • price : 32€

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.

9XTend USB Modem
  • Frequency Band 900Mhz and 2.4Ghz (2 versions)
  • Output Power 1mW to 1W software selectable
  • Sensitivity -110 dBm (@ 9600 bps)
  • RF Data Rate 9.6 or 115.2 Kbps
  • Interface data rate up to 230.4 Kbps
  • Power Draw (typical) 730 mA TX / 80 mA RX
  • Supply Voltage 2.8 to 5.5v
  • Range (typical, depends on antenna & environment) Up to 64km line-of-sight
  • Dimensions 36 x 60 x 5mm
  • Weight 18 grams
  • Interface 20-pin mini connector or USB
  • RF connector RPSMA (Reverse-polarity SMA) or MMCX (2 versions)
  • price : 150€
9XTend OEM Modem

Pinout

Maxstream 9XTend 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

R0 Sub GHz Telemetry Radio Modem

The Si1000 - Si102x/3x 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 paparazzi fork of open source firmware for these radios which makes them suitable for use in MAVs. 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. The new RFD868 also works in the European spectrum licenses (868 MHz). The latest SiK firmware supports also mesh topologies.

Sik firmware can be used for example for:

  • powerful RFD 900+ modem. RFD 900+ 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).
  • cheap and ubiquitous 3DR radios
  • for shorter range a pair of HopeRF-based modems such as the R0 sub GHz telemetry radio modem. It was developed by 1BitSquared specifically for the use with the Paparazzi UAV framework and is part of the Elle avionics system

The RFD900 can be paired with the R0 radio that has only a single front-end. You can for example, use a small short range airframe with a ground station that is also used for long range operations.

Paparazzi SiK Firmware & RSSI

Paparazzi has a modified fork of Sik firmware: https://github.com/paparazzi/SiK This firmware add options to add RSSI info to your messages. Also aditionally to fully encrypt your connection

When using a SiK firmware radio with Paparazzi, you should set MavLink packing off (set MAVLINK=0 here)and configure Paparazzi for transparent serial mode. You can also turn on an optional RSSI_COMBINED message that shows local and remote RSSI. To do that (and make Sik radio aware of Pprzlink packets) follow the instructions here.

Make sure you to add the following line to your for your airframe chosen telemetry file: (conf/telemetry/ etc etc)

  <process name="Ap">
    <mode name="default">
      ...
      <message name="RSSI_COMBINED"       period="0.3"/>
      ...


Laird (ex Aerocom)

Lairds'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? [1]

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.


AC4790-200

  • Frequency 902-928MHz (North America, Australia, etc).
  • Output Power 5-200mW
  • Sensitivity (@ full RF data rate) -110dB
  • RF Data Rate up to 76.8 Kbps
  • INterface Data Rate Up to Up to 115.2 Kbps
  • Power Draw (typical) 68 mA
  • Supply Voltage 3.3v & 5.5V
  • Range (typical, depends on antenna & environment) Up to 6.4 kilometers line-of-sight
  • Dimensions 42 x 48 x 5mm
  • Weight < 20 grams
  • Interface 20-pin mini connector
  • Antenna MMCX jack Connector or internal
  • price : 52€
AC4868 OEM Modem

AC4790-1000

  • Frequency 902-928MHz (North America, Australia, etc).
  • Output Power 5-1000mW
  • Sensitivity (@ full RF data rate) -99dB
  • RF Data Rate up to 76.8 Kbps
  • INterface Data Rate Up to Up to 115.2 Kbps
  • Power Draw (typical) 650 mA
  • Supply Voltage 3.3V only
  • Range (typical, depends on antenna & environment) Up to 32 kilometers with high-gain antenna
  • Dimensions 42 x 48 x 5mm
  • Weight < 20 grams
  • Interface 20-pin mini connector
  • Antenna MMCX jack Connector
  • price : 64€

Pinout

Laird AC4868 modem pinout
Laird AC4490 wiring example


Wiring the Laird AC4868 to the Tiny
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


Laird RM024

RM024 P125
LT2510 Modem

The RM024 replaces the discontinued LT2510 (they are backwards compatible).

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, U.FL antenna connector or both
  • Price: 29-31€ @ mouser (SMD / XBEE header)

Two different mounting/pinuts are available:

  • smd version: can be soldered on a pcb
  • pin header: standard XBEE pinout (this is the SMD version mounted on a seperate pcb with male pin headers)

Available in two different output power versions:

value 50mW version 125mW version
output power 2,5 mW - 50 mW 2,5 mW - 125 mW
output power dbm 4 dbm - 17 dbm 4 dbm - 21 dbm
TX drain 90mA <180mA
max range (280kbps with 2 dbi antenna) 2400m 4000m
approval CE for EU, FCC/IC for USA,

Canada PRM122/123 also for Japan

FCC/IC for USA, Canada

The RM024 uses frequency hopping (FHSS) 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.

Documentation

RM024 User Manual
LT2510 User Manual
Windows configuration tool

Setup

Look at the Laird_RM024_setup page

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.

RN-41 Bluetooth module(Sparkfun's WRL-08497)

  • Frequency Band 2.4GHz
  • Output Power 32 mW
  • RF Data Rate up to ~300 kbps in SPP
  • Interface Data Rate up to 921 kbps
  • Power Draw (typical) 50 mA TX / 40 mA RX
  • Supply Voltage 3.3v
  • Range (typical, depends on antenna & environment) 100 meters line-of-sight
  • Dimensions 26 x 13 x 2mm
  • Weight ~1.5 grams
  • Interface solder connector
  • price : 20€
Roving Networks modem wiring

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.

WiFi

ESP8266 Chip Module

ESP8266 WiFi module

ESP as client

The WiFi chip tries to connect to a hotspot or router. The GCS is connected to the same network. No additional tools are required on the GCS computer. See https://github.com/paparazzi/esp8266_udp_firmware for installation and usage instructions

ESP as host

Change the config of the software to use Host and set the preferred SSID and if wanted the PW and reflash the module

Yet another ESP8266 datalink modem

Taranis openlrsng to udp.jpg

Lately i started connecting the aircraft with the GCS link agent using the Wemos D1 mini or any other ESP8266 module as a short range modem. In order to accomplish this you will need to setup the Arduino IDE, instructions here How to setup Arduino IDE for esp8266 so it can compile and upload ESP8266 code to the ESP8266 mcu. After setting up the Arduino IDE you will need to compile and upload this sketch File:UART to UDP paparazzi autopilot.zip.

HAVE IN MIND THAT THE CODE IN THE PREVIOUS PROJECT WITH ESP8266 NAMED "ESP8266 Chip Module" (https://github.com/paparazzi/esp8266_udp_firmware) IS FAR BETTER AND IT WORKS VERY VERY WELL WITHOUT ANY DELAY, mine is a simple program just to understand what is going on basically so use the "esp8266_udp_firmware" but remember to edit the wifi_config.h to suit your needs and also the LED pin inside "pprz_udp_link" line #14 that reads #define LED_PIN 13, for the Wemos D1 mini this line should read #define LED_PIN 2

It could be a joke but i didn't saw the EXCELLENT project of Christophe De Wagter (CDW) (i only saw it when i came here to edit this page...) and i spent 2 whole days and one night reading about Arduino coding style and ESP8266 libraries only to write a very simple version of his code...

Now upload whichever program you decided to use to your ESP8266 board, both are in AP mode but have different SSID and password, make sure that you have selected the right ESP8266 board as a target, i use the Wemos D1 mini because that was what came in first after i ordered a bunch of those ESP8266 modules. Now just use the ESP8266 board as a regular modem but remember that now we are using UDP datagrams so after powering up the autopilot (and thus powering up the ESP8266 module) so it can transmit telemetry THEN CONNECT YOUR LAPTOP OR COMPUTER TO THE AP WITH SSID "PAPARAZZI" (password is "paparazzi") and in the GCS select the Flight UDP/WiFi session.

Where this ESP8266 application is different is that i use the ESP8266 module as a wireless connection from my OrangeRx OPENLRSng TX module to the paparazzi running laptop Instead of using a dedicated telemetry modem i use the open project OPENLRSng OPENLRSng WiKi which provides a RC link for controlling the aircraft AND a transparent serial link of up to 19200 bps, enough for my usual flights. This way the telemetry leaves the aircraft via the rc link and i comes to my RC transmitter module and the via the ESP8266 module to the GCS running laptop. I am sure that with a ESP8266 or a ESP32 module with external antenna and/or an bidirectional amplifier a very nice modem can be realized, you can even use it as a cheap short range modem for testing the aircraft while not in flight, this way you avoid the messy wires and ftdi adapters, something very nice for setting up the compass, accelerometer or gyro neutral points and sensitivity. The UART0 pins have been swapped because on my Wemos D1 mini the on board serial to USB chip uses the default UARTO pins, Serial Tx is now assigned to GPIO15 and Rx is assigned to GPIO13 on your ESP8266 board, on my Wemos D1 mini pin D7 (GPIO13) is the Rx and D8 (GPIO15) is the Tx.

Important: The ESP8266's default serial port speed is 57600 bps and this will be also the telemetry speed but if you plan to duplicate my method of telemetry using OPENLRSng as the telemetry transport method please remember that 57600 bps is only the speed of the TX module to ESP8266 module connection and not the actual telemetry data rate which will be about 19200 bps maximum if you select the air to air data speed of the RC receiver and rc radio TX module to be 57600 bps. The reason is simple, inside this 57600 bps bandwidth two things must be accommodated, one is the standard rc servo channel data and the other is the paparazzi telemetry. OPENLRSng has 2 baud rate settings in its dedicated Chrome app, The serial link baud rate and the air data rate, set the first to 57600 and the second to 57600 which means that you will get a serial link connection speed of 57600 bps (rc receiver's uart and tx module uart connection speed) and an air data rate (rc receiver to radio Tx module) of 57600 bps which can pass a transparent serial link of 19200 bps along the rc link. You must set the modem's baud rate in the airframe file at 57600 bps ALSO but the actual telemetry rate will be about 19200 bps and that's why you need to adjust your messages that come through telemetry to fit in that 19200 bps rate.

VERY IMPORTANT: ONE THING TO REMEMBER IS THE MANDATORY USE OF SHIELDED CABLE FOR CONNECTING THE ESP8266 UART PINS WITH THE AUTOPILOT OR RC TX MODULE'S SERIAL PORT DUE TO RF INTERFERENCE PROBLEMS.

Telemetry via Video Transmitter

2.4GHz 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.


Antennas

Here are some examples of lightweight and efficient 868MHz antennas developped by the RF laboratory at ENAC.

868MHz copper foil antenna attached to the aircraft tail
868MHz copper foil antenna bottom view
868MHz ground antenna


This wiki page might give some ideas about antennas: http://en.wikipedia.org/wiki/Dipole_antenna