pressalltheknobs's blog View Details
Posted by pressalltheknobs | Jan 11, 2019 @ 11:59 AM | 4,117 Views
The various FrSky modules are...

V8FT, V8JT, V8HT (discontinued) supported V8
DJT/DHT/DFT supports V8 and D8
XJT (internal in FrSky Taranis TXs and external module) supports D8, D16 (EU or NON EU) and LR12
iXJT (alternative name for internal XJT (?) mostly applied to the Q-X7 which has a different layout or the X-Lite which claims a high speed interface )
iXJT+ (updated internal XJT design as used in Frksy Horus TXs)

R9M, R9M lite supports R9 (900MHz)


J=JR form factor, F=Futaba form factor, H=DIY, "lite"=FrSky X-lite form factor
V8 RXs have been discontinued.
VII RXs support V8 and D8 (so called "telemetry mode"). In D8 mode they can be used with the XJT but they do not return telemetry.
D8 RXs support telemetry.
D16 is supported by the X-Series (telemetry), XM-Series (no telemetry) and S-Series (stabilizer) RXs
Some X-Series RXs support D8 so can be used by the (DJT/DHT/DFT) modules
XJT firmware is common across all the Taranis models and the external XJT module. The Horus' iXJT+ can only be updated by updating FrSky's FrOS firmware.

FrSky is slowly phasing out VII and D8 RXs and only still make a few models. There are now D8 compatibles of various quality. The Eachine BAT QX105 uses a D8 compatible RX not made or licensed by FrSky.
Posted by pressalltheknobs | Oct 01, 2018 @ 12:35 AM | 5,587 Views
Links to threads with interesting solutions

1. It seems the delta logical function does not work quite as one would expect.

This works to detect stick motion > some threshold

CH10 Ail Weight(+100%)
+= Ail Weight(-100%) Slow(u0.5:d0.5)

L1 |CH10| > 25

Play with the slows and the LS parameter. Might want to use a sticky as well.

2. Adjuster knob

You can use a multiply mix but you have to remove the trim and add it back in so you don't get unwanted scaling and artifacts...
Attachment 11247160

Here S1 adjust the Ail rate from 50 to 100. "No Trim" is not necessary on S1 since it has no associated trim but if you change the Source you still don't want the trim so its good practice to set it.

Obviously you could use LS instead of S1

You could also extract S1/LS to its own INPUT and set the range there if you had two Ail channels and wanted to adjust the range in one place. You would still need the mixes on both channels though.
Attachment 11247202
Attachment 11247203

3. Gliders

4. Adjustable Throttle Curve

5. Using and INPUT with switches for set positions.

This INPUT produces 7 values (-100, -66, -30, 0, 33, 66, 100) in order from 2 switches SA which sets the value and SB which sets which of the 3 banks of values to use.

I5:Mode SA Weight(+33) Switch(SB^) Offset(-66)
SA Weight(-33) Switch(SB-)
SA Weight(+33) Offset(66%)

6. Using a MIX to get 9 positions from 2 3 position switches

SA Weight (+25%)
SB Weight (+75%)

SA^ SB^ -100%
SA- SB^ -75%
SAv SB^ -50%
SAv SB- 25%
SA- SB- 0%
SA^ SB- -25%
SA^ SBv 50%
SA- SBv 75%
SAv SBv 100%
Posted by pressalltheknobs | Sep 17, 2018 @ 05:45 PM | 5,458 Views
In OpenTX a channel is a pipeline of calculations starting with the Source you use to control the channel and ending with the output of the final channel value at the receiver. You set up each channel by adjusting the various parts of the pipeline so that they change the value provided by the Source into the value you want to emit from the receiver.

Source->[INPUT->][Trim->]MIXER->OUTPUT->[OverrideCH->][PPM Center->]Module->Protocol->...Radio-Transmission...->Receiver->[pwm|cppm|sbus...]

The channel pipeline is run periodically, sampling the current value of the Source, transforming it and sending the transformed value to the receiver which emits the value is some form. The receiver gets a new value each time the pipeline is run and so receives a stream of incrementally changing values for the particular channel. Since there is more than one channel, the channel pipelines are processed together and the channel values from each period are typically bundled together sent to the receiver in single data packet. The form this takes depends on the protocol being used. The receiver pulls each channel value out of the data packet it receives emitting it to the appropriate place (eg the PWM pin for that channel or the channel slot in the SBUS data packet)

The latter part of the pipeline...
is set up by choosing a Module, a Protocol and appropriate...Continue Reading
Posted by pressalltheknobs | Sep 17, 2018 @ 05:43 PM | 5,469 Views
In OpenTX, the standard continuous controls (sticks, pots, sliders) give values between -100% and +100% and switches give one of -100%, 0% or +100% depending on the type of switch. Other sources like Telemetry values may have different ranges. Sources are connected to a channel using a MIX line in the channel MIXER and setting the Source field. To move a channel with a Source there must be at least one MIX line in the Channel MIXER. The MIXER allow you to combine MIX Lines so that more than one source can control a channel. Most Sources can also be used with INPUTS the purpose of which is to modify the values that the Source produces and provide.

Trims are special controls that are intended to offset the center position of other controls, principally the sticks. In OpenTX they are implicitly associated with the raw sticks and by default the Trim value will be added as an offset to the associated stick value when it is presented as the Source to a MIX line in the MIXER. Mix Lines can be configured to ignore any Trim value associated with its configured Source.

INPUTS are for adjusting the value a control or other source gives. Each INPUT groups a set of "lines". Only one line from an INPUT is used at once. A line defaults to active but may be made conditional on a real or logical switch position using the Switch field. If the Switch field condition is true then the line is active. For each INPUT, the set of lines is checked in...Continue Reading
Posted by pressalltheknobs | May 09, 2018 @ 01:50 PM | 6,999 Views
There is a terminology problem between being in Bind mode (ie. the RX is waiting for the TX signal to bind to) and being Bound (ie. the RX has received the TX signal and remembered the TX ID and thus is now bound to that TX).

I observed the following with a non EU X4RSB but I think it is the same for other FrSky RXs...

Technically when you put a FrSky RX in Bind mode, the Red and Green lights are solid on. You can do this with the TX off.

Only when you turn on the TX and put it in [BIND] mode does the Red RX LED then flash fast indicating the RX has bound to the TX. The Green Rx LED stays solid. The RX is not bound unless it does this! You may need to hold the TX 1 or 2 meters away from the RX. Note: With Open TX, in [BIND] mode the TX will chirp and [BIND] will flash.

The RED LED flashing will continue until you restart the RX, whether or not you take the TX out of [BIND] mode or switch the TX off.

If the TX is off, then when you cycle the power on the RX, the LEDs will go out and then the bound RX will light the Red and Green LEDs briefly, then the Green will go out and the Red will flash slowly.

When you turn on the TX , the Red LED will go out and the Green LED will go on solid indicating the TX and RX have a Connection.

If the TX is taken out of BIND mode but left on on, or is just power on, and you power off the RX then power it back on then, then the the bound RX will light the Red and Green LEDs briefly, then the Red LED will go out and the Green will go on solid indicating there is the TX and RX have a Connection.

If the TX is on and in BIND mode first as suggested in the RX manual, normally the RX will bind (ie The Red LED will flash fast) immediately you turn it on with the FS switch depressed.

Taken from this thread...

Another useful link "FrSky S6R, S8R, (SXR) Auto Level, Receiver Trouble Shooting guide."
Posted by pressalltheknobs | Aug 21, 2017 @ 11:38 PM | 7,604 Views
Upgrading the XJT firmware. (2017-05-21 170317) fixes Q-X7 binding problems.

Wizard for QX7
Posted by pressalltheknobs | Jul 20, 2017 @ 09:32 PM | 9,519 Views
This summary is for guidance only and may not be completely accurate. For manuals, actual features supported and firmware updates that may add features, check

FrSky D16 Telemetry RXs...

XSR = CPPM and SBUS only
X4R = 4 PWM channels. CPPM support.
X4RSB = 3 PWM channels and SBUS. CPPM support
X6R = 6 PWM channels and SBUS
X8R = 8 PWM channels and SBUS

FrSky D16 Telemetry Redundancy RXs
Receivers that include a Redundancy bus feature...The secondary receiver must support SBUS and have telemetry disabled.

R-XSR = CPPM and SBUS used in conjunction with another RX to get redundant receivers.
RX8R = 8 PWM channels and SBUS used in conjunction with another RX to get redundant receivers

Note: RX8R supports D8 mode

Standalone Redundancy Bus. These can combine two X-Series receivers to get redundant receivers. Both recievers must support SBUS and one must have telemetry disabled.

RB 10 = 10 PWM channels and SBUS
RB 16 = 16 PWM channels and SBUS

Pairing for more PWM channels...
Some x series RXs can be paired to get more PWM channels...

x4R + x6R = 10 PWM channels and SBUS
2* x6R = 12 PWM channels and SBUS
x6R + x8R = 14 PWM channels and SBUS
2* x8R = 16 PWM channels and SBUS

Note: 1 You must disable telemetry on one or the pair. For the X6R and X8R this is a bind time configuration. For the X4R you need OpenTX 2.2 with the "bindopt" feature and updated XJT/...Continue Reading
Posted by pressalltheknobs | Apr 21, 2017 @ 11:29 AM | 10,417 Views
Seems like it should be easy to just test the RxBat Telemetry value. The problem, depending on the version of OpenTX being used, is that telemetry values hold when telemetry is lost which makes it tricky to set up a good test. However, it turns out that telemetry values will test as FALSE when when telemetry is lost so you can use that fact to set a logical switch. You just need to a test a telemetry value in a way that will always be TRUE when there is Telemetry.

Here's an example...

The purpose of this is if you constantly arm, fly, land, disarm, and repeat on a single battery you don't want the timer resetting each cycle.

First bind the RX and discover the Telemetry.

Then a few Logical Switches
L1 A>x RSSI 0dB - The value here is a "dummy" test. RSSI should never go to 0 when there is telemetry available. You will hit the critical threshold first so this will always evaluate to TRUE when there is telemetry, However, once telemetry is lost it will evaluate to FALSE

L2 AND SF^ !L1 - used to reset the timer
L3 AND SFv L1 - used to start the timer

Then a couple of Special Functions, one for a throttle cut and one to reset the timer...

SF1 SF^ OverrideCH1 -100 enabled - this is a basic cut and stands in for any arm/disarm logic just to provide a working example
SF2 L2 Reset Timer 1

Then set Timer 1 to start on L3

The Timer will not start until there is telemetry and you arm.
The Timer will continue while you are armed or disarmed while there is...Continue Reading
Posted by pressalltheknobs | Apr 12, 2017 @ 06:48 PM | 12,488 Views
Here is a list of things to do for when you first receive a Taranis radio. This written with the X9D+ in mind but should apply to the X9D+ SE and mostly applies the X7/X7S (the version of OpenTX shipped is different)
  1. charge the battery
  2. go into the Radio Setup (Long Press Menu) and set the time and date and Default Channel Order. Make sure the Mode corresponds to you physical stick setup. eg. Mode 2 means the un-centering Throttle stick is the left vertical.
  3. from the Radio Setup, press Page to see the Version page and record it
  4. press page a few more times to the Calibration screen and calibrate the sticks.
  5. exit to the Model monitor Screen
  6. Short Press Menu to get to the Model selector screen. the * marks the current model
  7. Create a new model in slot 01 ...It should create using the default channel order you set in the Radio Setup. If there is one already you can edit that but it may have a different channel order. You can't delete the current model so you have to create one in Slot 02. Make that the current model and then delete the model in Slot 01.
  8. Assuming you have receiver press Page to get to the Model Setup page and up or down to get the the Internal module settings..Select the correct protocol for you RX ..probably D16 if it is and X , D8 if its a D or VII.
  9. Follow the bind instructions to bind your receiver. D16 uses the Receiver number to implement a model matching feature. It will default the slot number model slot number. If you copy a model it will copy the
...Continue Reading
Posted by pressalltheknobs | Feb 16, 2017 @ 01:45 AM | 11,743 Views
The "Throttle Trim Idle Only" magic checkbox changes the offset of the lower 25% of the range as the throttle trim is changed so min throttle varies with the trim from -100 to -50. However, max throttle stays at 100. The throttle curve is scaled to fit between the trim level and 100 so the full stick throw still acts.

A problem with the "Throttle Trim Idle Only" feature is that it is tied to the Throttle trim switch and doesn't move if you cross trim because it is implemented as a "magic" feature for historical reasons.

Partly to understand what the feature does and partly to provide a mix that can be used with any trim switch I worked out how to implement the feature using Mixes.

What is going on is that as the trim increases the offset of the CH line, the line weight is decreased to keep the max at (x=100% y=100%). The trim only affects the bottom 25% of the range so the factor for the offset and weight adjustment is half that and rounds down to 12 since we are only allowed whole numbers.

Since the relationships are linear we don't need custom curves but can just use weight and

[I3] Thr Weight (+100%) NoTrim
*= TrmT Weight(-12%) NoTrim Offset(88%)
+= TrmT Weight(+12%) NoTrim Offset(12%)

which appears to almost exactly duplicate the behavior of the "Throttle Trim Idle Only" magic check box. Note that trim has to be removed from all the mix lines so we don't double dip and get extra trim messing with stuff.

...Continue Reading
Posted by pressalltheknobs | Feb 01, 2017 @ 05:11 PM | 14,658 Views
I own both a Q-X7 and an X9D+. OpenTX works the same way on both except for some minor details.

This "How to" was prepared using Companion 2.2 RC10 to get the Q-X7 screens but its all standard stuff going back to OpenTX 2.0 and before. There is a small chance that this does not agree exactly with a real Q-X7 which at the time of writing ships with a slightly earlier release of OpenTX 2.2. I strongly recommend you upgrade to a recent stable version of OpenTX at your earliest convenience. Refer to the for the latest news on new releases. OpenTX 2.2 is still in pre-release and release candidate are announced in the NEWS and you will not find it on the Downloads page. Once released it will no doubt be published there and I will update this note if I remember.

EDIT: As far as I can tell there are not changes to this aspect of OpenTX programming from the 2.2.0 release to the current 2.2.2 release.

Q-X7 with OpenTX Rates and Expo
Adding rates and expo on the Q-X7 with OpenTX is fairly straight forward except for one gotcha (see the DANGER note.)

Assuming the default newly created 4 channel model which has 4 defined MIXES for the 4 channels which are controlled by 4 corresponding INPUTS that use the 4 sticks... Ail, Elv, Thr, Rud.

1. Goto the INPUTS page
Views: 199
Size: 29.3 KB
2. Select the Input you want to add rates and expo (usually Ail is the most important) to and "Insert Before". This is important.
3. Scroll to the Weight...Continue Reading
Posted by pressalltheknobs | Feb 01, 2017 @ 05:00 PM | 10,918 Views
OpenTX is unusual in using the term "Weight" where other systems...Spektrum and Tactic for example...typically use the term "Rate". Weight and Rate are the same thing.

Rates, as in "Dual Rates" are actually doing the same thing as "Rate" on a mix.

In the simple case, a stick controls a channel proportionally. 0% stick gives 0% channel and 100% stick gives 100% channel. If the stick is y and channel is x then

y = x

and you get a graph like this ...
Name: xequalsy.JPG
Views: 94
Size: 11.2 KB
The slope of a graph or its gradient is the rate at which y changes with x, hence the term "Rate" is often used in RC.

If you set a "Rate" you change the rate at which x changes with y so for a 70% "Rate" when the ail stick is 100%, the ail channel is only 70% or...

ail stick = 70% ail channel, which you can also write as y = 0.7 * x
Name: y70x.JPG
Views: 75
Size: 11.1 KB

When you mix two channels you do so with a particular weight (or rate)

If ail weight (or rate) is 100% and you mix elv at 70% weight (or rate) then you get ...

ail channel = 100% ail stick + 70% elv stick or...

y= 1*ail + 0.7*elv

If you don't touch the ail stick leaving it at 0% and push the elv stick to 100% then the ail channel will go to 70%... essentially the elv stick is controlling the ail channel at a 70% "Rate".

Weight is probably a "better" term to use when combining mixes because it seems to make sense to combine "weights" to get a total, where combining &...Continue Reading