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.
Standard Model V2
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.
L31 | Auto-tune has been used in flight. |
L32 | Auto-tune has been used in flight, and we are now disarmed. Trigger the save settings reminder. |
L33 | Arming and throttle raised. Cancelled when disarmed. This is used by the flight timer. |
L34 | Servo Autotrim or Auto-tune are enabled |
L35 | MMS – Reset Timer: Menu track trigger |
L36 | MMS – Reset Timer: Action |
L37 | MMS – Signal end of menu when arming |
L38 | MMS – OSD Menu: Menu track trigger |
L39 | MMS – OSD Menu: Action |
L40 | MMS – Save: Menu track trigger |
L41 | MMS – Save: Action |
L42 | MMS – Signal end of menu when not arming |
L43 | MMS – Signal end of menu. This is what will actually trigger the sound in the special functions. |
L44 | When 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. |
L45 | When 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. |
L46 | When 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. |
L47 | The 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. |
L48 | The 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. |
L49 | The 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. |
L50 | L47, L48, and L49 are not active. So the arming checks have passed. |
L51 | The system is disarmed, the switch is in the arm position, and the checks have passed. It is OK to arm. |
L52 | Servo 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. |
L53 | Auto-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. |
L54 | Detect that the throttle is low |
L55 | Detect that the arm input is in the arm position. This is not based on switch position, to allow for simpler arm switch reversal. |
L63 | The system is disarmed |
L64 | The system is arming |
Logical switches L56 to L62 detect the switch positions for flight mode assignment.
L56 | Return to Home |
L57 | Manual |
L58 | Acro |
L59 | Horizon |
L60 | Angle |
L61 | 3D Cruise |
L62 | Position Hold |
Special Functions
SF29 | Changes the state of the Tun Global Variable. We now know we have performed and auto-tune in flight. |
SF30 & SF31 | We 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. |
SF32 | We are in either autotrim or auto-tune, so play a beep every 5 seconds as a reminder. |
SF33 | MMS – Timer reset: Play the menu item track |
SF34 | MMS – Reset the timer |
SF35 | MMS – OSD Menu: Play the menu item track |
SF36 to SF39 | MMS – OSD Menu: Send the channel values to perform the stick command. |
SF40 | MMS – Save: Play the menu item track. |
SF41 to SF44 | MMS – Save: Send the channel values to perform the stick command. |
SF45 | MMS – Play a sound to show that the menu system has been left |
SF46 to SF48 | One of the arming checks has failed. Set the arming state to pre-disarm. |
SF49 | This switch is in the disarmed position, so set the arming system state to disarmed. |
SF50 | The arming conditions have been met, so set the system state to arming. |
SF51 to SF53 | Play error tracks for the conditions stopping arming. |
SF54 & SF55 | Play the track to show we are using autotrim or auto-tune. |
SF56 to SF62 | Play the tracks for the flight mode we are using. |
SF63 & SF64 | Play 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.
Pro Model
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.
L38 | We are flying (armed and throttle not low) and have activated auto-tune. |
L39 | When autotune has been used in flight; when you disarm, this switch will trigger the save reminder message |
L40 | The OSD is in the manual tuning position (L41) and we have selected a tuning parameter. |
L41 | The OSD pot is in the manual tuning position |
L42 | We are in the manual tuning posting, and trying to change the parameter value up. |
L43 | We are in the manual tuning posting, and trying to change the parameter value down. |
L44 | Servo Autotrim or Auto-tune is selected on the switch (SC) and we are not manual tuning. |
L45 | Servo Autotrim is selected and we are not manually tuning |
L46 | Auto-tune is selected and we are not manually tuning |
L47 | Servo Autotrim or Auto-tune is selected on the switch (SC) while the manual tuning adjustments are in use. |
L48 | The throttle is low. |
L49 | MMS – Reset Timer: Menu track trigger |
L50 | MMS – Reset Timer: Action |
L51 | MMS – OSD Menu: Menu track trigger |
L52 | MMS – OSD Menu: Action |
L53 | MMS – Save: Menu track trigger |
L54 | MMS – Save: Action |
L55 | MMS – Load Waypoint Mission: Menu track trigger |
L56 | MMS – Load Waypoint Mission: Action |
L57 | Arm switch in arming position |
L58 | Modes: Acro switch combination |
L59 | Modes: Angle switch combination |
L60 | Modes: 3D Cruise switch combination |
L61 | Modes: Waypoint Mission |
L62 | Modes: Position Hold |
L63 | Modes: Manual |
L64 | Modes: Return to Home |
Special Functions
SF1 | This is to say that the arm switch is in the arming position. It is only needed during the initial setup of the model |
SF2 | This is to say that the arm switch is in the disarmed position. It is only needed during the initial setup of the model |
SF29 | Changes the state of the Tun Global Variable. We now know we have performed and auto-tune in flight. |
SF30 & SF31 | We 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. |
SF32 | The OSD pot is not in the manual tuning position, so set the adjustment parameter variable to -100. |
SF33 | The 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. |
SF34 | The throttle trim has been clicked up, so increment the adjustment parameter selector by 10. |
SF35 | The throttle trim has been clicked down, so decrease the adjustment parameter selector by 10. |
SF36 | Play track for autotrim |
SF37 | Play track for auto-tune |
SF38 | Play track to say that auto-tunning (autotrim or auto-tune) cannot be used while manually tuning. |
SF39 | Play track to say we are manually tuning |
SF40 | Play track to say we are no longer manually tuning |
SF41 | MMS – Timer reset: Play the menu item track |
SF42 | MMS – Reset the timer |
SF43 | MMS – OSD Menu: Play the menu item track |
SF44 to SF47 | MMS – OSD Menu: Send the channel values to perform the stick command. |
SF48 | MMS – Save: Play the menu item track |
SF49 to SF52 | MMS – Save: Send the channel values to perform the stick command. |
SF53 | MMS – Load Waypoint Mission: Play the menu item track |
SF54 to SF57 | MMS – Load Waypoint Mission: Send the channel values to perform the stick command. |
SF58 to SF64 | Send 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.
Lite Model
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 |
L43 | Flag that autotune has been used in flight. |
L44 | When autotune has been used in flight; when you disarm, this switch will trigger the save reminder message |
L45 | The 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. |
L46 | The 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. |
L47 | The 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. |
L48 | L45, L46, and L47 are not active. So the arming checks have passed. |
L49 | The system is disarmed, the switch is in the arm position, and the checks have passed. It is OK to arm. |
L50 | Servo Autotrim is active. This uses logic as some models use a slider for autotrim & auto-tune. |
L51 | Auto-tune is active. This uses logic as some models use a slider for autotrim & auto-tune. |
L52 | Detect that the throttle is low |
L53 | Detect that the arm input is in the arm position |
L63 | The system is disarmed |
L64 | The system is arming |
Logical switches L54 through to L62 detect switch positions for mode assignments
L54 | Horizon |
L55 | Acro |
L56 | Manual |
L57 | Angle |
L58 | 3D Cruise |
L59 | Position Hold |
L60 | 3D Cruise |
L61 | Waypoint Mission |
L62 | Return to Home |
Special Functions
SF13 | MMS – Timer reset: Play the menu item track |
SF14 | MMS – Reset the timer |
SF15 | MMS – Play a sound to show that the menu system has been left (when arming) |
SF16 | MMS – Save: Play the menu item track |
SF17 to SF20 | MMS – Save: Send the channel values to perform the stick command. |
SF21 | MMS – OSD Menu: Play the menu item track |
SF22 to SF25 | MMS – OSD Menu: Send the channel values to perform the stick command. |
SF26 | MMS – Load Waypoint Mission: Play the menu item track |
SF27 to SF30 | MMS – Load Waypoint Mission: Send the channel values to perform the stick command. |
SF31 | MMS – Play a sound to show that the menu system has been left (not arming) |
SF32 | Changes the state of the Tun Global Variable. We now know we have performed and auto-tune in flight. |
SF33 & SF34 | We 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 & SF36 | Play the track to show we are using autotrim or auto-tune. |
SF37 & SF38 | Warning to lower throttle to arm, and set the arming system to pre-disarm. |
SF39 & SF40 | Warning to turn off autotrim to arm, and set the arming system to pre-disarm. |
SF41 & SF42 | Warning to turn off auto-tune to arm, and set the arming system to pre-disarm. |
SF43 | The arm switch is in the disarmed position, so set the arming system to disarmed. |
SF44 | The arming conditions have been met, so set the system state to arming. |
SF45 to SF53 | Play the tracks for the flight mode we are using. |
SF54 to SF62 | Send the mode position over channel 6. |
SF63 & SF64 | Play 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.