Skip to content

Commit

Permalink
Add a page for mLRS RC and MAVLink Telemetry
Browse files Browse the repository at this point in the history
  • Loading branch information
brad112358 authored and Hwurzburg committed Oct 15, 2023
1 parent 5e3a6d7 commit 59135ba
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 1 deletion.
31 changes: 31 additions & 0 deletions common/source/docs/common-mlrs-rc.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
.. _common-mlrs-rc:
[copywiki destination="plane,copter,rover,blimp"]
============
mLRS project
============

`mLRS firmware github page <https://github.com/olliw42/mLRS>`__

`mLRS documentation <https://github.com/olliw42/mLRS-docu/blob/master/README.md>`__

The mLRS project is open source firmware which implements a long range integrated RC and full MAVLink telemetry system which can run on a few off the shelf and DIY hardware platforms. It supports 433 MHz, 868/915 MHz, and 2.4 GHz bands. It is capable of reaching ranges of 7 to 87 km in LoRa modes, depending on the message rate, output power, and frequency band supported by the chosen hardware. A MAVLink ground station (phone or PC) may be connected to the transmitter module via USB, serial, WiFi or Bluetooth depending on the hardware selected.

When the CRSF protocol is used for RC data on EdgeTX/OpenTX based radios, mLRS also translates some common MAVLink messages into telemetry sensors which can be used by the Yaapu Telemetry App as described `here <https://github.com/olliw42/mLRS-docu/blob/master/docs/CRSF.md>`__.

.. image:: ../../../images/mLRS-docu-setup-crsf-telemetry-yaapu-app-02.jpg

The receivers can output RC controls in either SBUS or CRSF(including link quality info) to the autopilot or use embedded MAVLink overrides via only the telemetry connection to the autopilot.

mLRS has been optimized for use with ArduPilot and includes specific support for MAVLink including flow control via RADIO_STATUS messages and optional injection of RC_CHANNELS_OVERRIDE messages allowing a single full duplex serial connection to the flight controller for both RC and MAVLink.

mLRS is rich in features including support for full diversity, 10 model configurations, and OLED display or LUA script for configuration.

You can install the mLRS firmware on one of the supported off the shelf hardware platforms which currently includes the `R9M Tx module <https://www.frsky-rc.com/product/r9m-2019/>`__, `R9MX Rx <https://www.frsky-rc.com/product/r9m-2019/>`__, and R9MM at 868/915 MHz and the `FRM303 Rx/Tx module <https://www.flysky-cn.com/frm303description>`__ at 2.4 GHz.

See the mLRS documentation for the `FrSky R9 <https://github.com/olliw42/mLRS-docu/blob/master/docs/FRSKY_R9.md>`__ or `Flysky FRM303 <https://github.com/olliw42/mLRS-docu/blob/master/docs/FLYSKY_FRM303.md>`__ for instructions on flashing the firmware.

Or, with some soldering skill, you can build one of the DIY board designs which are documented on the `Github <https://github.com/olliw42/mLRS-hardware>`__ and the `mLRS documentation <https://github.com/olliw42/mLRS-docu/blob/master/README.md>`__

.. image:: ../../../images/Frsky_R9_mLRS.jpg

FrSky R9M Tx module with `M5Stamp pico <https://shop.m5stack.com/products/m5stamp-pico-diy-kit>`__ piggyback `Wireless Bridge <https://github.com/olliw42/mLRS-docu/blob/master/docs/WIRELESS_BRIDGE.md>`__ for Bluetooth or WiFi to GCS pictured with light weight dipole and R9MX receiver
15 changes: 14 additions & 1 deletion common/source/docs/common-rc-systems.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Connecting the Receiver

For all protocols above, ArduPilot auto-detects the protocol of the RC receiver system. However, depending on the protocol and autopilot type, the physical connection to the autopilot may differ.

Some protocols, most noticeably SRXL2, CRSF, and ELRS, require a full UART connection.
Some protocols, most notably SRXL2, CRSF, and ELRS, require a full UART connection.

In addition other protocols that also provide telemetry, like FPort, would generally require a bi-directional half-duplex connection in order to obtain telemetry. For these protocols the TX output of the UART should be connected to the serial input of the receiver. It is also possible on F7 and H7 boards to connect to the UART RX input with some additional configuration.

Expand Down Expand Up @@ -64,6 +64,14 @@ FPort/FPort2
FPort is a bi-directional protocol, using SBus RC in one direction, and serial telemetry in the other. The RC portion can be decoded when attached to an autopilot as if it were SBus, but the embedded telemetry would be lost. See the :ref:`FPort setup documentation<common-FPort-receivers>` for details on connection to one of the autopilots Serial Ports.


:ref:`mLRS <common-mlrs-rc>`
----------------------------

mLRS can provide RC control and MAVLink telemetry. mLRS receivers have an RC output pin that can be configured for either SBUS or CRSF protocol (CRSF would be only RC data). For SBUS you can connect it to the autopilot's RCin pin. For CRSF or SBUS, it can be connected to any autopilot UART RX pin and that port configured for RC protocol. Using CRSF portocol, allows RSSI/LQ information to be delivered to the autopilot.

For optional telemetry a separate TX/RX port is provided on the receiver to be connected to an autopilot MAVLink telemetry serial port. You can omit the single wire RC connection and configure the mLRS receiver to output RC channels over MAVLink if you are not using GCS RC overrides (eg, joystick)


SRXL2/CRSF/ELRS
---------------

Expand Down Expand Up @@ -127,6 +135,8 @@ Below is a table with some commonly available systems showing these elements. N
+-----------------------+------+----------+------------+-----------+--------------+--------+
|Graupner |Short | Yes | Medium | yes | SUM-D | |
+-----------------------+------+----------+------------+-----------+--------------+--------+
|mLRS |Long | Bi-Dir | 12K - 91K |via LUA |SBUS/CRSF | 5 |
+-----------------------+------+----------+------------+-----------+--------------+--------+
|Multiplex |Short | No | - | - | SRXL | |
+-----------------------+------+----------+------------+-----------+--------------+--------+
|Spektrum |Short | No | - | - | DSM/DSM2 | |
Expand All @@ -142,6 +152,8 @@ Note 3: ArduPilot provides a means to send its telemetry data via CRSF such that

Note 4: ELRS (EpressLRS) is a system that uses the CRSF (TBS Crossfire) RC protocol with several minimizations to simplify the system. It has reduced features but it connects to ArduPilot just like CRSF, when CRSF RXs are attached using a full UART, instead of SBUS protocol to communicate to ArduPilot. See `ExpressLRS site <https://www.expresslrs.org/2.0/>` for more information.

Note 5: The mLRS project is firmware designed specifically to carry both RC and MAVLink. The usable telemetry speed varies by the chosen mode and is managed via RADIO_STATUS flow control. It uses the CRSF (TBS Crossfire) RC protocol on both the receiver and Tx module. It also integrates full MAVLink telemetry via serial connections on the Tx module and the receiver.

Links to Radio Control Systems
==============================

Expand All @@ -163,6 +175,7 @@ With integrated telemetry:
DragonLink <common-dragonlink-rc>
FRSky <common-frsky-rc>
Graupner (HOTT) <common-graupner-rc>
mLRS <common-mlrs-rc>
Multiplex (no support in ArduPilot for M-Link telemetry yet) <common-multiplex-rc>
Spektrum SRXL2 <common-spektrum-rc>
TBS CRSF <common-tbs-rc>
Expand Down
1 change: 1 addition & 0 deletions common/source/docs/common-telemetry-landingpage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ Long Range
Holybro 900Mhz XBP9X Telemetry Radio <https://shop.holybro.com/xbp9x-radio_p1268.html>
Holybro Microhard P900 Radio Telemetry Radio <http://www.holybro.com/product/microhard-p900-radio/>
LTM telemetry <common-ltm-telemetry>
mLRS <common-mlrs-rc.rst>
RFD900 <common-rfd900>
Robsense SwarmLink <common-telemetry-robsense-swarmlink>
Rockblock Satellite Modem <common-telemetry-rockblock>
Expand Down
Binary file added images/Frsky_R9_mLRS.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 59135ba

Please sign in to comment.