We have produced a great set of OpenTX models for the INAV community. Initially they were made to help people new to the hobby get started quicker. We provided the Standard model, which included all the features that pilots new to INAV would need, and some built in safety features to help teach good habits while using the transmitter. Next up, we introduced the Pro model, for more advanced pilots. This stripped back the training features, and added support for in flight tuning and flying waypoint missions. Finally, the Lite model was released. This was more like the standard model, but also included some features from the Pro. Basically, we tried to squeeze as much as possible on to transmitters with a much lower number of switches.

From all the positive feedback we’ve had, we know that people are enjoying using these models, and they are working well for their pilots. However, I’ve always been a supporter of people learning OpenTX. This is a great, powerful firmware with lots of options and features. In fact. People have also talked about customising these OpenTX models to fit their specific needs. Unfortunately, we all only have limited time. So, supporting everyone looking to do this, and answering questions isn’t realistic. So that is where this page comes in. I am going to go a little more in-depth, and provide some useful helpers to understand the switches, functions, and other elements of these models. You will of course still need to understand how things work in OpenTX. But this should give you a good head start.

The plan for this guide

I’m first going to take a look at some global things that are true for all the models. Then we will dive in to each model and look at specific things for them.

Logical Switches and Global Functions

You may have noticed on these models that if you go to the logical switches or global functions pages, they appear blank. However, a little digging about, and you’ll find them at the bottom of the pages. Why have I done this? Firstly, because they are kind of hidden. As I mentioned in the intro, the original pack was made for people new to OpenTX. So, hiding the logic seemed like a good idea. People are inquisitive, but they also wouldn’t be happy if their model stopped working in some way. Also, it seems like the logical switches and global functions are processed in order from 1 to 64. So any bits of logic or any functions below, should override anything above. This should ensure that the core model coding works as expected. It does, however, make these models a bit more of a pain to build.

Flight Modes

This model uses flight modes. At the moment, the only functionality behind that is to display the flight mode on screen. Going forwards, more may be added. I think disabling trims in all but manual mode will be in the next version.

Global Variables

This model has two global variables. The first, Arm, holds the arming state. This is described below. There is also the Tun variable. This is set to 1 when tuning has been performed in flight. Otherwise, it remains at 0.

Arming system

This model uses an arming system, to only arm when it is safe to do so, and help train muscle memory. If arming is not possible due to things like throttle position, it gives voice feedback to the pilot to take action with. The arming system states are held in the Arm global variable. In this system there are three states:

  • Pre-disarm [-1]: This is when an arming attempt has been made and failed. To get out of this state, the switch must be put in to the disarm position.
  • Disarmed [0]: The system is disarmed, and there are no warnings.
  • Arming [1]: in this position, the arm position is sent on the RC channel to iNav. I call this Arming and not Armed, because other factors could cause this not to arm, such as too few satellites.

You may notice sometimes that I refer to not arming. This simply means that the state can be either disarmed or pre-disarm.

Logical Switches

Note: MMS refers to the Multifunction Momentary Switch.

L31Auto-tune has been used in flight.
L32Auto-tune has been used in flight, and we are now disarmed. Trigger the save settings reminder.
L33Arming and throttle raised. Cancelled when disarmed. This is used by the flight timer.
L34Servo Autotrim or Auto-tune are enabled
L35MMS – Reset Timer: Menu track trigger
L36MMS – Reset Timer: Action
L37MMS – Signal end of menu when arming
L38MMS – OSD Menu: Menu track trigger
L39MMS – OSD Menu: Action
L40MMS – Save: Menu track trigger
L41MMS – Save: Action
L42MMS – Signal end of menu when not arming
L43MMS – Signal end of menu. This is what will actually trigger the sound in the special functions.
L44When active, the Acro/Horizon/Angle switch (SA) can be used. The other two mode switches need to be in the middle position. This logic is used in the inputs for I6:Mod.
L45When active, the Manual/3D Cruise switch (SB) can be used. SD needs to be in the middle position, or Manual selected on SB, and SD is not in the RTH position. This means that RTH will override everything, but Manual can still override Position Hold. This logic is used in the inputs for I6:Mod.
L46When active, the RTH/Position Hold switch (SD) can be used. SB needs to be in the middle position, or SD needs to be in any position except the middle. This logic is used in the inputs for I6:Mod.
L47The system is disarmed, the arm switch is in the arming position, and the throttle is not low. This will trigger a warning to lower the throttle to arm and put the system in to a pre-disarm state.
L48The system is disarmed, the arm switch is in the arming position, and servo autotrim is enabled. This will trigger a warning to disable autotrim to arm and put the system in to a pre-disarm state.
L49The system is disarmed, the arm switch is in the arming position, and auto-tune is enabled. This will trigger a warning to disable auto-tune to arm and put the system in to a pre-disarm state.
L50L47, L48, and L49 are not active. So the arming checks have passed.
L51The system is disarmed, the switch is in the arm position, and the checks have passed. It is OK to arm.
L52Servo Autotrim is active. This could have just been based on a switch. However, one of Steve’s requests was that autotrim and auto-tune could be easily moved to the pot. This would make migration easier for people using the Standard Model V1.
L53Auto-tune is active. This could have just been based on a switch. However, one of Steve’s requests was that autotrim and auto-tune could be easily moved to the pot. This would make migration easier for people using the Standard Model V1.
L54Detect that the throttle is low
L55Detect that the arm input is in the arm position. This is not based on switch position, to allow for simpler arm switch reversal.
L63The system is disarmed
L64The system is arming

Logical switches L56 to L62 detect the switch positions for flight mode assignment.

L56Return to Home
L57Manual
L58Acro
L59Horizon
L60Angle
L613D Cruise
L62Position Hold

Special Functions

SF29Changes the state of the Tun Global Variable. We now know we have performed and auto-tune in flight.
SF30 & SF31We have landed and have tuned in flight. So we reset the Tun variable to 0 and play a track to remind the pilot to save the settings.
SF32We are in either autotrim or auto-tune, so play a beep every 5 seconds as a reminder.
SF33MMS – Timer reset: Play the menu item track
SF34MMS – Reset the timer
SF35MMS – OSD Menu: Play the menu item track
SF36 to SF39MMS – OSD Menu: Send the channel values to perform the stick command.
SF40MMS – Save: Play the menu item track.
SF41 to SF44MMS – Save: Send the channel values to perform the stick command.
SF45MMS – Play a sound to show that the menu system has been left
SF46 to SF48One of the arming checks has failed. Set the arming state to pre-disarm.
SF49This switch is in the disarmed position, so set the arming system state to disarmed.
SF50The arming conditions have been met, so set the system state to arming.
SF51 to SF53Play error tracks for the conditions stopping arming.
SF54 & SF55Play the track to show we are using autotrim or auto-tune.
SF56 to SF62Play the tracks for the flight mode we are using.
SF63 & SF64Play the tracks for arming and disarmed.

Inputs

Input I5 is the arming switch. The weight is changed to -100% to reverse the switch.

Mode selection

Unlike the Standard Model V1 which sent values over the modes channel using Special Functions. The V2 model uses an input to blend switches. Each switch has it’s own area of the channel to work, and the working switch is decided with the Logical Switches L44, L45, and L46. On the Mixes page, this may confuse people, as it just looks like a standard mix, like for the throttle.

Tuning

The tuning switch is set up here with an input with a curve. By default, autotrim/auto-tune is on switch SC. However, one of Steve’s requests was that autotrim and auto-tune could be easily moved to the pot. This would make migration easier for people using the Standard Model V1. So to do this, all that people need to do is change the input source from SC to S2, and everything will work.

Mixes

Most of the mixes are pretty straight forward. There are only a couple of things that really need pointing out.

Arming

Though this should be pretty straight forward if you’re looking to modify the pack; there is reasoning behind this approach that should be mentioned. The arm mix/output is detached from the physical switch. This helps in allowing the the pilot to reverse the direction of the switch, without changing the way the channel operates. The reason that we want to keep the arming channel position the same is to bypass the ACCST channel glitch. When arming, the channel will always be at -100% and 100% when disarmed. The actual switching is done be the L64 logical switch.

OSD

There’s nothing crazy going on with the OSD knob. There is just a curve to make the knob operate like a 5 position switch.

Flight Modes

There are three flight modes in the pro model. The first is Flying. This is just a base mode where we set up the global variables. Next is Auto T n T (Autotrim & Auto-tune). Currently this does nothing, but it was separated for possible future use. Finally is the Tuning flight mode. This mode detaches the throttle and rudder trims from the controls.

Global Variables

This model has two global variables. The first, Adp, holds the adjustment parameter state. This is altered by special functions in steps of 10. There is also the Tun variable. This is set to 1 when tuning has been performed in flight. Otherwise, it remains at 0.

Logical Switches

Note: MMS refers to the Multifunction Momentary Switch.

L38We are flying (armed and throttle not low) and have activated auto-tune.
L39When autotune has been used in flight; when you disarm, this switch will trigger the save reminder message
L40The OSD is in the manual tuning position (L41) and we have selected a tuning parameter.
L41The OSD pot is in the manual tuning position
L42We are in the manual tuning posting, and trying to change the parameter value up.
L43We are in the manual tuning posting, and trying to change the parameter value down.
L44Servo Autotrim or Auto-tune is selected on the switch (SC) and we are not manual tuning.
L45Servo Autotrim is selected and we are not manually tuning
L46Auto-tune is selected and we are not manually tuning
L47Servo Autotrim or Auto-tune is selected on the switch (SC) while the manual tuning adjustments are in use.
L48The throttle is low.
L49MMS – Reset Timer: Menu track trigger
L50MMS – Reset Timer: Action
L51MMS – OSD Menu: Menu track trigger
L52MMS – OSD Menu: Action
L53MMS – Save: Menu track trigger
L54MMS – Save: Action
L55MMS – Load Waypoint Mission: Menu track trigger
L56MMS – Load Waypoint Mission: Action
L57Arm switch in arming position
L58Modes: Acro switch combination
L59Modes: Angle switch combination
L60Modes: 3D Cruise switch combination
L61Modes: Waypoint Mission
L62Modes: Position Hold
L63Modes: Manual
L64Modes: Return to Home

Special Functions

SF1This is to say that the arm switch is in the arming position. It is only needed during the initial setup of the model
SF2This is to say that the arm switch is in the disarmed position. It is only needed during the initial setup of the model
SF29Changes the state of the Tun Global Variable. We now know we have performed and auto-tune in flight.
SF30 & SF31We have landed and have tuned in flight. So we reset the Tun variable to 0 and play a track to remind the pilot to save the settings.
SF32The OSD pot is not in the manual tuning position, so set the adjustment parameter variable to -100.
SF33The OSD pot is in the manual tuning position, so force the channel to 100. In future versions, this will be unnecessary, as I will use a curve on the OSD mix.
SF34The throttle trim has been clicked up, so increment the adjustment parameter selector by 10.
SF35The throttle trim has been clicked down, so decrease the adjustment parameter selector by 10.
SF36Play track for autotrim
SF37Play track for auto-tune
SF38Play track to say that auto-tunning (autotrim or auto-tune) cannot be used while manually tuning.
SF39Play track to say we are manually tuning
SF40Play track to say we are no longer manually tuning
SF41MMS – Timer reset: Play the menu item track
SF42MMS – Reset the timer
SF43MMS – OSD Menu: Play the menu item track
SF44 to SF47MMS – OSD Menu: Send the channel values to perform the stick command.
SF48MMS – Save: Play the menu item track
SF49 to SF52MMS – Save: Send the channel values to perform the stick command.
SF53MMS – Load Waypoint Mission: Play the menu item track
SF54 to SF57MMS – Load Waypoint Mission: Send the channel values to perform the stick command.
SF58 to SF64Send the mode position over channel 6.

Inputs

Input I5 is the arm switch. To reverse the arm switch, the weight is set to -100%.

Input I9 is used to send the set the adjustment parameter. The global variable AdP is used to set the weight of the input.

Input I17 is not used. The OSD will be switched to use the method in the Standard Model V2 and the Lite Model.

Mixes

Most mixes are straight through from the Inputs. Channel 8, autotrim and auto-tune, can only be when not in the manual tuning OSD and when a tuning parameter is not selected. This allows for auto tune to be used in the tuning OSD, so the PIFF values can be seen.

The Adj V mix allows the adjustment parameter values to be changed when in the manual tuning OSD.

Global Variables

This model has two global variables. The first, Arm, holds the arming state. This is described below. There is also the Tun variable (not labelled in the current release). This is set to 1 when tuning has been performed in flight. Otherwise, it remains at 0.

Arming system

This model uses an arming system, to only arm when it is safe to do so, and help train muscle memory. If arming is not possible due to things like throttle position, it gives voice feedback to the pilot to take action with. In this system there are three states:

  • Pre-disarm [-1]: This is when an arming attempt has been made and failed. To get out of this state, the switch must be put in to the disarm position.
  • Disarmed [0]: The system is disarmed, and there are no warnings.
  • Arming [1]: in this position, the arm position is sent on the RC channel to iNav. I call this Arming and not Armed, because other factors could cause this not to arm, such as too few satellites.

You may notice sometimes that I refer to not arming. This simply means that the state can be either disarmed or pre-disarm.

Logical Switches

Note: MMS refers to the Multifunction Momentary Switch.

L33 *MMS – Reset Timer: Menu track trigger
L34 *MMS – Reset Timer: Action trigger
L35 *MMS – Signal end of menu when arming
L36 *MMS – Save Settings: Menu track trigger
L37 *MMS – Save Settings: Action trigger
L38 *MMS – OSD Menu: Menu track trigger
L39 *MMS – OSD Menu: Action trigger
L40 *MMS – Load Waypoint Mission: Menu track trigger
L41 *MMS – Load Waypoint Mission: Action trigger
L42 *MMS – Signal end of menu when not arming
L43Flag that autotune has been used in flight.
L44When autotune has been used in flight; when you disarm, this switch will trigger the save reminder message
L45The system is disarmed, the arm switch is in the arming position, and the throttle is not low. This will trigger a warning to lower the throttle to arm and put the system in to a pre-disarm state.
L46The system is disarmed, the arm switch is in the arming position, and servo autotrim is enabled. This will trigger a warning to disable autotrim to arm and put the system in to a pre-disarm state.
L47The system is disarmed, the arm switch is in the arming position, and auto-tune is enabled. This will trigger a warning to disable auto-tune to arm and put the system in to a pre-disarm state.
L48L45, L46, and L47 are not active. So the arming checks have passed.
L49The system is disarmed, the switch is in the arm position, and the checks have passed. It is OK to arm.
L50Servo Autotrim is active. This uses logic as some models use a slider for autotrim & auto-tune.
L51Auto-tune is active. This uses logic as some models use a slider for autotrim & auto-tune.
L52Detect that the throttle is low
L53Detect that the arm input is in the arm position
L63The system is disarmed
L64The system is arming
* Only models with a multifunction momentary switch

Logical switches L54 through to L62 detect switch positions for mode assignments

L54Horizon
L55Acro
L56Manual
L57Angle
L583D Cruise
L59Position Hold
L603D Cruise
L61Waypoint Mission
L62Return to Home

Special Functions

SF13MMS – Timer reset: Play the menu item track
SF14MMS – Reset the timer
SF15MMS – Play a sound to show that the menu system has been left (when arming)
SF16MMS – Save: Play the menu item track
SF17 to SF20MMS – Save: Send the channel values to perform the stick command.
SF21MMS – OSD Menu: Play the menu item track
SF22 to SF25MMS – OSD Menu: Send the channel values to perform the stick command.
SF26MMS – Load Waypoint Mission: Play the menu item track
SF27 to SF30MMS – Load Waypoint Mission: Send the channel values to perform the stick command.
SF31MMS – Play a sound to show that the menu system has been left (not arming)
SF32Changes the state of the Tun Global Variable. We now know we have performed and auto-tune in flight.
SF33 & SF34We have landed and have tuned in flight. So we reset the Tun variable to 0 and play a track to remind the pilot to save the settings.
SF35 & SF36Play the track to show we are using autotrim or auto-tune.
SF37 & SF38Warning to lower throttle to arm, and set the arming system to pre-disarm.
SF39 & SF40Warning to turn off autotrim to arm, and set the arming system to pre-disarm.
SF41 & SF42Warning to turn off auto-tune to arm, and set the arming system to pre-disarm.
SF43The arm switch is in the disarmed position, so set the arming system to disarmed.
SF44The arming conditions have been met, so set the system state to arming.
SF45 to SF53Play the tracks for the flight mode we are using.
SF54 to SF62Send the mode position over channel 6.
SF63 & SF64Play the tracks for arming and disarmed.

Inputs

Input I5 is the arming switch. The weight is changed to -100% to reverse the switch. This can link to different physical switches depending on the transmitter.

Mixes

Arming

Though this should be pretty straight forward if you’re looking to modify the pack; there is reasoning behind this approach that should be mentioned. The arm mix/output is detached from the physical switch. This helps in allowing the the pilot to reverse the direction of the switch, without changing the way the channel operates. It also makes it simpler to transfer the model to a different lite transmitters, which is likely on different physical switches.

The reason that we want to keep the arming channel position the same is to bypass the ACCST channel glitch. When arming, the channel will always be at -100% and 100% when disarmed. The actual switching is done be the L64 logical switch.

Modes

Notice there is nothing for the modes channel, 6. This is correct. The channel values are output by Special Functions.

Tuning

The tuning mix is a basic pot source which has a curve on it. This is to have a wide off area, as some of these transmitters, have quite loose and easy to knock pots. This is to minimise accidental entry to the tuning modes.

OSD

This again is a straight port with a curve on it. This curve makes the pot act like a five position switch.