Skip to content
CREASE-gum-EAR edited this page May 11, 2024 · 7 revisions

Introduction

You install an RC Receiver (Rx) into your aircraft in order to receive radio control (RC) commands from your RC Transmitter where the Rx then sends them to your flight controller over a wire connection to a Serial UART Port using a particular protocol. This guide assumes you have connected your Rx to a Serial UART Port on your flight controller and have set the correct port on the ports tab.

Binding

Before you can know if you have configured INAV to talk to your Rx, you need to be sure your Rx has a bind to your RC transmitter. There may be a blinking light pattern or some way as outlined by the documentation of your radio to know that the two have a bind and are talking to each other.

Receiver Mode

This is where you tell the FC what type of Rx you have and what protocol it speaks.

Receiver Type

  • Serial Receivers - your Rx is 99% likely to be a serial receiver. These can be TBS Crossfire / Tracer, ExpressLRS, Ghost, FrSky, Spektrum, FlySky, etc.
  • MSP RX (very rare)
  • SIM SITL (for computer simulator use only)
  • PPM Receivers (obsolete INAV 3.x and below)

Warning: Do not connect an Rx to a Soft Serial Ports as these ports often drop data which can cause unintentional failsafes and other unexpected behaviors.

Serial Receiver Provider (Receiver Protocol)

  • CRSF: TBS Crossfire / Tracer, ExpressLRS (all frequencies) | ?? Channel Limit
  • FBUS:
  • FPORT2: FrSky | 16 channels | RC Control and Telemetry over one-wire connected to a TX UART
  • GHST:
  • IBUS: FlySky | 10 channels
  • JETIEXBUS:
  • MAVLINK:
  • SBUS: FrSky, Futaba, ExpressLRS (all frequencies) | 16 channels | See SBUS labeled pad on your FC (an inverted RX UART)
  • SBUS_FAST:
  • SPEK1024: Spektrum** Spektrum DSM
  • SPEK2048: Spektrum** Spektrum DSM2 / DSMX
  • SRXL2: Spektrum** Spektrum DSMX
  • SUMD: Graupner | 16 channels

Depending on the receiver specs, protocol used, radio limits, etc. there may be a limited number of channels available for your use.

Some Rx can be configured to export a talk a protocol or use different protocol options. This is not common. The extreme case is where ExpressLRS Rx can talk many protocols with many options such as CRSF, inverted CRSF, SBUS, inverted SBUS, etc. Some old FrSKY receivers can be changed by flashing a different firmware while the ACCESS Rx can be either SBUS and FPort in the transmitter model setup page.

IBUS RX and IBUS telemetry can be configured to both be on the same Serial UART - see Telemetry.md

RC Smoothing

Channel Map

SRXL2

SRXL2 is a newer Spektrum protocol that provides a bidirectional link between the FC and the receiver, allowing the user to get FC telemetry data and basic settings on Spektrum Gen 2 airware TX. SRXL2 is supported in INAV 2.6 and later. It offers improved performance and features compared to earlier Spektrum RX.

Wiring

Signal pin on receiver (labeled "S") must be wired to a UART TX pin on the FC. Voltage can be 3.3V (4.0V for SPM4651T) to 8.4V. On some F4 FCs, the TX pin may have a signal inverter (such as for S.Port). Make sure this isn't the case for the pin you intend to use.

Configuration

Selection of SXRL2 is provided in the INAV 2.6 and later configurators. It is necessary to complete the configuration via the CLI; the following settings are recommended:

feature TELEMETRY
feature -RSSI_ADC
map TAER
set receiver_type = SERIAL
set serialrx_provider = SRXL2
set serialrx_inverted = OFF
set srxl2_unit_id = 1
set srxl2_baud_fast = ON
set rssi_source = PROTOCOL
set rssi_channel = 0

Notes:

  • RSSI_ADC is disabled, as this would override the value provided through SRXL2
  • rssi_channel = 0 is required, unlike earlier Spektrum devices (e.g. SPM4649T).

Setting these values differently may have an adverse effects on RSSI readings.

CLI Bind Command

This command will put the receiver into bind mode without the need to reboot the FC as it was required with the older spektrum_sat_bind command.

bind_rx

MultiWii serial protocol (MSP RX)

Allows you to use MSP commands as the RC input. Up to 18 channels are supported. Note:

  • It is necessary to update MSP_SET_RAW_RC at 5Hz or faster.
  • MSP_SET_RAW_RC uses the defined RC channel map
  • MSP_RC returns AERT regardless of channel map
  • You can combine "real" RC radio and MSP RX by compiling custom firmware with USE_MSP_RC_OVERRIDE defined. Then use msp_override_channels to set the channels to be overridden.
  • The wiki Remote Control and Management article provides more information, including links to 3rd party projects that exercise MSP_SET_RAW_RC and USE_MSP_RC_OVERRIDE

SIM (SITL) Joystick

Enables the use of a joystick in the INAV SITL with a flight simulator. See the SITL documentation.

Configuration

The receiver type can be set from the configurator or CLI.

# get receiver_type
receiver_type = NONE
Allowed values: NONE, SERIAL, MSP, SIM (SITL)

RX signal-loss detection

The software has signal loss detection which is always enabled. Signal loss detection is used for safety and failsafe reasons.

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.

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.

Signal loss can be detected when:

  1. no rx data is received (due to radio reception, recevier configuration or cabling issues).
  2. using Serial RX and receiver indicates failsafe condition.
  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.

rx_min_usec

The lowest channel value considered valid. e.g. PWM/PPM pulse length

rx_max_usec

The highest channel value considered valid. e.g. PWM/PPM pulse length

Serial RX

See the Serial chapter for some some RX configuration examples.

To setup spectrum in the GUI:

  1. Start on the "Ports" tab make sure that teh required has serial RX. If not set the checkbox, save and reboot.
  2. Move to the "Configuration" page and in the upper lefthand corner choose Serial RX as the receiver type.
  3. Below that choose the type of serial receiver that you are using. Save and reboot.

Using CLI:

For Serial RX set the receiver_type and serialrx_provider setting as appropriate for your RX.

# get rec
receiver_type = SERIAL
Allowed values: NONE, SERIAL, MSP, SIM (SITL)

# get serialrx
serialrx_provider = SBUS
Allowed values: SPEK1024, SPEK2048, SBUS, SUMD, IBUS, JETIEXBUS, CRSF, FPORT, SBUS_FAST, FPORT2, SRXL2, GHST, MAVLINK, FBUS

Receiver configuration.

FrSky D4R-II

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.

Graupner GR-24 PWM

Set failsafe on the throttle channel in the receiver settings (via transmitter menu) to a value below rx_min_usec using channel mode FAILSAFE. This is the prefered way, since this is much faster detected by the FC then a channel that sends no pulses (OFF).

NOTE: 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. Do NOT USE the mode indicated with FAILSAFE instead, as this combination is NOT handled correctly by the FC.

Receiver Channel Range Configuration.

If you have a transmitter/receiver, that output a non-standard pulse range (i.e. 1070-1930 as some Spektrum receivers) you could use rx channel range configuration to map actual range of your transmitter to 1000-2000 as expected by INAV.

The low and high value of a channel range are often referred to as 'End-points'. e.g. 'End-point adjustments / EPA'.

All attempts should be made to configure your transmitter/receiver to use the range 1000-2000 before using this feature as you will have less preceise control if it is used.

To do this you should figure out what range your transmitter outputs and use these values for rx range configuration. You can do this in a few simple steps:

If you have used rc range configuration previously you should reset it to prevent it from altering rc input. Do so by entering the following command in CLI:

rxrange reset
save

Now reboot your FC, connect the configurator, go to the Receiver tab move sticks on your transmitter and note min and max values of first 4 channels. Take caution as you can accidentally arm your craft. Best way is to move one channel at a time.

Go to CLI and set the min and max values with the following command:

rxrange <channel_number> <min> <max>

For example, if you have the range 1070-1930 for the first channel you should use rxrange 0 1070 1930 in the CLI. Be sure to enter the save command to save the settings.

After configuring channel ranges use the sub-trim on your transmitter to set the middle point of pitch, roll, yaw and throttle.

You can also use rxrange to reverse the direction of an input channel, e.g. rxrange 0 2000 1000.

WIKI TOPICS

Wiki Home Page

INAV Version Release Notes

7.1.0 Release Notes
7.0.0 Release Notes
6.0.0 Release Notes
5.1 Release notes
5.0.0 Release Notes
4.1.0 Release Notes
4.0.0 Release Notes
3.0.0 Release Notes
2.6.0 Release Notes
2.5.1 Release notes
2.5.0 Release Notes
2.4.0 Release Notes
2.3.0 Release Notes
2.2.1 Release Notes
2.2.0 Release Notes
2.1.0 Release Notes
2.0.0 Release Notes
1.9.1 Release notes
1.9.0 Release notes
1.8.0 Release notes
1.7.3 Release notes
Older Release Notes

QUICK START GUIDES

Getting started with iNav
Fixed Wing Guide
Howto: CC3D flight controller, minimOSD , telemetry and GPS for fixed wing
Howto: CC3D flight controller, minimOSD, GPS and LTM telemetry for fixed wing
INAV for BetaFlight users
launch mode
Multirotor guide
YouTube video guides
DevDocs Getting Started.md
DevDocs INAV_Fixed_Wing_Setup_Guide.pdf
DevDocs Safety.md

Connecting to INAV

Bluetooth setup to configure your flight controller
DevDocs Wireless Connections (BLE, TCP and UDP).md\

Flashing and Upgrading

Boards, Targets and PWM allocations
Upgrading from an older version of INAV to the current version
DevDocs Installation.md
DevDocs USB Flashing.md

Setup Tab
Live 3D Graphic & Pre-Arming Checks

Calibration Tab
Accelerometer, Compass, & Optic Flow Calibration

Alignment Tool Tab
Adjust mount angle of FC & Compass

Ports Tab
Map Devices to UART Serial Ports

Receiver Tab
Set protocol and channel mapping

Mixer

Mixer Tab
Custom mixes for exotic setups
DevDocs Mixer.md

Outputs

DevDocs ESC and servo outputs.md
DevDocs Servo.md

Modes

Modes
Navigation modes
Navigation Mode: Return to Home
DevDocs Controls.md
DevDocs INAV_Modes.pdf
DevDocs Navigation.md

Configuration

Sensor auto detect and hardware failure detection

Failsafe

Failsafe
DevDocs Failsafe.md

PID Tuning

PID Attenuation and scaling
Fixed Wing Tuning for INAV 3.0
Tune INAV PIFF controller for fixedwing
DevDocs Autotune - fixedwing.md
DevDocs INAV PID Controller.md
DevDocs INAV_Wing_Tuning_Masterclass.pdf
DevDocs PID tuning.md
DevDocs Profiles.md

GPS

GPS and Compass setup
GPS Failsafe and Glitch Protection

OSD and VTx

DevDocs Betaflight 4.3 compatible OSD.md
OSD custom messages
OSD Hud and ESP32 radars
DevDocs OSD.md
DevDocs VTx.md

LED Strip

DevDocs LedStrip.md

ADVANCED

Advanced Tuning

Fixed Wing Autolaunch
DevDocs INAV_Autolaunch.pdf

Programming

DevDocs Programming Framework.md

Adjustments

DevDocs Inflight Adjustments.md

Mission Control

iNavFlight Missions
DevDocs Safehomes.md

Tethered Logging

Log when FC is connected via USB

Blackbox

DevDocs Blackbox.md
INAV blackbox variables
DevDocs USB_Mass_Storage_(MSC)_mode.md

CLI

iNav CLI variables
DevDocs Cli.md
DevDocs Settings.md

VTOL

DevDocs MixerProfile.md
DevDocs VTOL.md

TROUBLESHOOTING

"Something" is disabled Reasons
Blinkenlights
Pixel OSD FAQs
TROUBLESHOOTING
Why do I have limited servo throw in my airplane

ADTL TOPICS, FEATURES, DEV INFO

AAT Automatic Antenna Tracker
Building custom firmware
Default values for different type of aircrafts
Features safe to add and remove to fit your needs.
Developer info
INAV MSP frames changelog
INAV Remote Management, Control and Telemetry
Lightweight Telemetry (LTM)
Making a new Virtualbox to make your own INAV
MSP Navigation Messages
MSP V2
OrangeRX LRS RX and OMNIBUS F4
Rate Dynamics
Target and Sensor support
UAV Interconnect Bus
Ublox 3.01 firmware and Galileo
DevDocs 1wire.md
DevDocs ADSB.md
DevDocs Battery.md
DevDocs Buzzer.md
DevDocs Channel forwarding.md
DevDocs Display.md
DevDocs Fixed Wing Landing.md
DevDocs GPS_fix_estimation.md
DevDocs LED pin PWM.md
DevDocs Lights.md
DevDocs OSD Joystick.md
DevDocs Servo Gimbal.md
DevDocs Temperature sensors.md

OLD LEGACY INFO

Supported boards
DevDocs Boards.md
Legacy Mixers
Legacy target ChebuzzF3
Legacy target Colibri RACE
Legacy target Motolab
Legacy target Omnibus F3
Legacy target Paris Air Hero 32
Legacy target Paris Air Hero 32 F3
Legacy target Sparky
Legacy target SPRacingF3
Legacy target SPRacingF3EVO
Legacy target SPRacingF3EVO_1SS
DevDocs Configuration.md
Request form new PRESET
DevDocs Introduction.md
Welcome to INAV, useful links and products
iNav Telemetry
DevDocs Rangefinder.md
DevDocs Rssi.md
DevDocs Runcam device.md
DevDocs Serial.md
DevDocs Telemetry.md
DevDocs Rx.md
DevDocs Spektrum bind.md

Clone this wiki locally