3 A receiver is used to receive radio control signals from your transmitter and convert them into signals that the flight controller can understand.
5 There are 2 basic types of receivers:
12 PPM is sometimes known as PPM SUM or CPPM.
14 12 channels via a single input pin, not as accurate or jitter free as methods that use serial communications, but readily available.
16 These receivers are reported working:
19 http://www.frsky-rc.com/product/pro.php?pro_id=24
22 http://www.graupner.de/en/products/33512/product.aspx
24 R615X Spektrum/JR DSM2/DSMX Compatible 6Ch 2.4GHz Receiver w/CPPM
25 http://orangerx.com/2014/05/20/r615x-spektrumjr-dsm2dsmx-compatible-6ch-2-4ghz-receiver-wcppm-2/
27 FrSky D8R-XP 8ch telemetry receiver, or CPPM and RSSI enabled receiver
28 http://www.frsky-rc.com/product/pro.php?pro_id=21
32 *Connect the receivers to UARTs and not to Software Serial ports. Using software serial for RX input can cause unexpected behaviours beacause the port cannot handle reliably the bit rate needed by the most common protocols*
36 8 channels via serial currently supported.
38 These receivers are reported working:
40 Lemon Rx DSMX Compatible PPM 8-Channel Receiver + Lemon DSMX Compatible Satellite with Failsafe
41 http://www.lemon-rx.com/shop/index.php?route=product/product&product_id=118
44 #### Spektrum pesudo RSSI
46 As of iNav 1.6, a pseudo RSSI, based on satellite fade count is supported and reported as normal iNav RSSI (0-1023 range). In order to use this feature, the following is necessary:obj/inav_2.2.2_SPRACINGF3EVO.hex
48 * Bind the satellite receiver using a physical RX; the bind function provided by the flight controller is not sufficient.
49 * The CLI variable `rssi_channel` is set to channel 9:
53 This pseudo-RSSI should work on all makes of Spektrum satellite RX; it is tested as working on Lemon RX satellites http://www.lemon-rx.com/index.php?route=product/product&path=72&product_id=109 and http://www.lemon-rx.com/index.php?route=product/product&path=72&product_id=135 (recommended).
57 16 channels via serial currently supported. See below how to set up your transmitter.
59 * You probably need an inverter between the receiver output and the flight controller. However, some flight controllers have this built in and doesn't need one.
60 * Some OpenLRS receivers produce obj/inav_2.2.2_SPRACINGF3EVO.hexa non-inverted SBUS signal. It is possible to switch SBUS inversion off using CLI command `set sbus_inversion = OFF` when using an F3 based flight controller.
61 * Softserial ports cannot be used with SBUS because it runs at too high of a bitrate (1Mbps). Refer to the chapter specific to your board to determine which port(s) may be used.
62 * You will need to configure the channel mapping in the GUI (Receiver tab) or CLI (`map` command). Note that channels above 8 are mapped "straight", with no remapping.
64 These receivers are reported working:
66 FrSky X4RSB 3/16ch Telemetry Receiver
67 http://www.frsky-rc.com/product/pro.php?pro_id=135
69 FrSky X8R 8/16ch Telemetry Receiver
70 http://www.frsky-rc.com/product/pro.php?pro_id=105
72 Futaba R2008SB 2.4GHz S-FHSS
73 http://www.futaba-rc.com/systems/futk8100-8j/
76 #### OpenTX S.BUS configuration
78 If using OpenTX set the transmitter module to D16 mode and ALSO select CH1-16 on the transmitter before binding to allow reception
81 OpenTX 2.09, which is shipped on some Taranis X9D Plus transmitters, has a bug - [issue:1701](https://github.com/opentx/opentx/issues/1701).
82 The bug prevents use of all 16 channels. Upgrade to the latest OpenTX version to allow correct reception of all 16 channels,
83 without the fix you are limited to 8 channels regardless of the CH1-16/D16 settings.
88 F.Port is a protocol running on async serial allowing 16 controls channels and telemetry on a single UART.
90 Supported receivers include FrSky R-XSR, X4R, X4R-SB, XSR, XSR-M, R9M Slim, R9M Slim+, R9 Mini. For ACCST receivers you need to flash the corresponding firmware for it to output F.Port. For ACCESS receivers the protocol output from the receiver can be switched between S.Bus and F.Port from the model's setup page in the RX options.
94 Just connect the S.Port wire from the receiver to the TX pad of a free UART on your flight controller
99 set serialrx_inverted = true
100 set serialrx_halfduplex = true
105 The firmware currently supports the MODE B version of the XBus protocol.
106 Make sure to set your TX to use "MODE B" for XBUS in the TX menus!
107 See here for info on JR's XBUS protocol: http://www.jrpropo.com/english/propo/XBus/
109 These receivers are reported working:
111 XG14 14ch DMSS System w/RG731BX XBus Receiver
112 http://www.jramericas.com/233794/JRP00631/
114 There exist a remote receiver made for small BNF-models like the Align T-Rex 150 helicopter. The code also supports using the Align DMSS RJ01 receiver directly with the INAV software.
115 To use this receiver you must power it with 3V from the hardware, and then connect the serial line as other serial RX receivers.
116 In order for this receiver to work, you need to specify the XBUS_MODE_B_RJ01 for serialrx_provider. Note that you need to set your radio mode for XBUS "MODE B" also for this receiver to work.
117 Receiver name: Align DMSS RJ01 (HER15001)
121 16 channels via serial currently supported.
123 These receivers are reported working:
126 http://www.graupner.de/en/products/33512/product.aspx
128 Graupner receiver GR-12SH+ HoTT
129 http://www.graupner.de/en/products/870ade17-ace8-427f-943b-657040579906/33565/product.aspx
133 8 channels via serial currently supported.
135 SUMH is a legacy Graupner protocol. Graupner have issued a firmware updates for many recivers that lets them use SUMD instead.
139 10 channels via serial currently supported.
141 IBUS is the FlySky digital serial protocol and is available with the FS-IA6B, FS-X6B and FS-IA10 receivers.
142 The Turnigy TGY-IA6B and TGY-IA10 are the same devices with a different label, therefore they also work.
144 IBUS can provide up to 120Hz refresh rate, more than double compared to standard 50Hz of PPM.
146 FlySky FS-I6X TX natively supports 10ch.
148 If you are using a 6ch TX such as the FS-I6 or TGY-I6 then you must flash a 10ch
149 firmware on the TX to make use of these extra channels.
150 The flash is avaliable here: https://github.com/benb0jangles/FlySky-i6-Mod-
154 | STM32 |-->UART RX-->[115200 baud]---->| Flysky RX |
155 | uC |- UART TX--x[not connected] | IBUS-Servo |
156 \_______/ \------------/
158 After flash "10ch Timer Mod i6 Updater", it is passible to get RSSI signal on selected Aux channel from FS-i6 Err sensor.
160 It is possible to use IBUS RX and IBUS telemetry on only one port of the hardware UART. More information in Telemetry.md.obj/inav_2.2.2_SPRACINGF3EVO.hex
162 ## MultiWii serial protocol (MSP)
164 Allows you to use MSP commands as the RC input. Only 8 channel support to maintain compatibility with MSP.
168 The receiver type can be set from the configurator or CLI.
173 Allowed values: NONE, PPM, SERIAL, MSP, SPI, UIB
176 ### RX signal-loss detection
178 The software has signal loss detection which is always enabled. Signal loss detection is used for safety and failsafe reasons.
180 The `rx_min_usec` and `rx_max_usec` settings helps detect when your RX stops sending any data, enters failsafe mode or when the RX loses signal.
182 By default, when the signal loss is detected the FC will set pitch/roll/yaw to the value configured for `mid_rc`. The throttle will be set to the value configured for `rx_min_usec` or `mid_rc` if using 3D feature.
184 Signal loss can be detected when:
186 1. no rx data is received (due to radio reception, recevier configuration or cabling issues).
187 2. using Serial RX and receiver indicates failsafe condition.
188 3. using any of the first 4 stick channels do not have a value in the range specified by `rx_min_usec` and `rx_max_usec`.
192 The lowest channel value considered valid. e.g. PWM/PPM pulse length
196 The highest channel value considered valid. e.g. PWM/PPM pulse length
200 See the Serial chapter for some some RX configuration examples.
202 To setup spectrum in the GUI:
203 1. Start on the "Ports" tab make sure that UART2 has serial RX. If not set the checkbox, save and reboot.
204 2. Move to the "Configuration" page and in the upper lefthand corner choose Serial RX as the receiver type.
205 3. Below that choose the type of serial receiver that you are using. Save and reboot.
208 For Serial RX enable `RX_SERIAL` and set the `serialrx_provider` CLI setting as follows.
210 | Serial RX Provider | Value |
211 | ------------------ | ----- |
218 | XBUS_MODE_B_RJ01 | 6 |
219 | SERIALRX_IBUS | 7 |
220 | SERIALRX_JETIEXBUS | 8 |
221 | SERIALRX_CRSF | 9 |
223 ### PPM/PWM input filtering.
225 Hardware input filtering can be enabled if you are experiencing interference on the signal sent via your PWM/PPM RX.
227 Use the `input_filtering_mode` CLI setting to select a mode.
230 | ----- | --------- |
234 ## Receiver configuration.
238 Set the RX for 'No Pulses'. Turn OFF TX and RX, Turn ON RX. Press and release F/S button on RX. Turn off RX.
240 ### Graupner GR-24 PWM
242 Set failsafe on the throttle channel in the receiver settings (via transmitter menu) to a value below `rx_min_usec` using channel mode FAILSAFE.
243 This is the prefered way, since this is *much faster* detected by the FC then a channel that sends no pulses (OFF).
246 One or more control channels may be set to OFF to signal a failsafe condition to the FC, all other channels *must* be set to either HOLD or OFF.
247 Do __NOT USE__ the mode indicated with FAILSAFE instead, as this combination is NOT handled correctly by the FC.
249 ## Receiver Channel Range Configuration.
251 If you have a transmitter/receiver, that output a non-standard pulse range (i.e. 1070-1930 as some Spektrum receivers)
252 you could use rx channel range configuration to map actual range of your transmitter to 1000-2000 as expected by INAV.
254 The low and high value of a channel range are often referred to as 'End-points'. e.g. 'End-point adjustments / EPA'.
256 All attempts should be made to configure your transmitter/receiver to use the range 1000-2000 *before* using this feature
257 as you will have less preceise control if it is used.
259 To do this you should figure out what range your transmitter outputs and use these values for rx range configuration.
260 You can do this in a few simple steps:
262 If you have used rc range configuration previously you should reset it to prevent it from altering rc input. Do so
263 by entering the following command in CLI:
269 Now reboot your FC, connect the configurator, go to the `Receiver` tab move sticks on your transmitter and note min and
270 max values of first 4 channels. Take caution as you can accidentally arm your craft. Best way is to move one channel at
273 Go to CLI and set the min and max values with the following command:
275 rxrange <channel_number> <min> <max>
278 For example, if you have the range 1070-1930 for the first channel you should use `rxrange 0 1070 1930` in
279 the CLI. Be sure to enter the `save` command to save the settings.
281 After configuring channel ranges use the sub-trim on your transmitter to set the middle point of pitch, roll, yaw and throttle.
284 You can also use rxrange to reverse the direction of an input channel, e.g. `rxrange 0 2000 1000`.