Setting the 4-in-1 module UID equal to that of the OpenTX transmitter

openTx has introduced a range of new features, ideas and bling. It is fast becoming the firmware of choice for many users. openTx will run on ALL current hardware platforms, including the gruvin9x and sky9x boards. Work has already started to support the new FrSky X9D radio!
Post Reply
abuyoav
Posts: 8
Joined: Sat Aug 26, 2017 10:18 pm
Country: -

Setting the 4-in-1 module UID equal to that of the OpenTX transmitter

Post by abuyoav »

Hi,

Background story: I crashed my model airplane, and was very luck to be able to find it using RSSI. However, looking back, the search took a rather long time and could have been shortened significantly by making use of a directional antenna, such as a Yagi. I would very much want to have the option of using such an antenna, however my Taranis QX7 does not (directly) support this, since its antenna is non-detachable.

Here is an idea for an indirect solution, which I would appreciate your feedback on. I'm itching to buy the new STM32 version of the 4-in-1 TX module from Banggood, supported by OpenTX. It does have a detachable antenna, and does support the FrSky two-way protocol. So, the general idea is to use my Taranis internal RF unit for regular flying, and switch to the 4-in-1 module with a Yagi antenna in case of a crash. The problem is that this currently cannot be done: each transmitter has a unique identifier (UID), and the binding process essentially makes the receiver "listen" only to transmissions containing this UID. I would like to have an option of taking the UID of the Taranis (in my case), and setting the UID of the 4-in-1 module equal to it. I have checked, and this seems to be supported on the module side: the UID is currently set to that of the STM32 chip, by software. See my post here, for a bit more information.
https://www.rcgroups.com/forums/showpos ... count=9795

So, all of the above boils down to the following simple question: does OpenTX have access to the UID of the transmitter? If so, what I propose should be rather easy to program, right?

Just to be on the safe side, I should probably stress what I am *not* proposing. The binding process was invented to prevent people from interfering with each other's transmission. This process should be fool-proof. Hence, a *bad* solution would be to expose the UID of the Taranis, have the user write it on a piece of paper, and then set it as the UID of the module. This is an accident waiting to happen: I do the above, forget about it, lend my module to a friend, and he ends up interfering with me. So again, the good solution is a choice between two options: use the UID of the chip on the module, or the UID of the host transmitter (and not write this UID into the non-volatile memory of the module). If the second option is set, force the host transmitter to be off.

Your thoughts?

User avatar
MikeB
9x Developer
Posts: 17993
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: Setting the 4-in-1 module UID equal to that of the OpenTX transmitter

Post by MikeB »

The only way I know of getting at the UID of the XJT module is to probe the SPI signals to the CC2500 chip with a logic analyser, and then pick out the UID from the transactions. Look at the 4-in-1 code to see what the transactions are. I think you may need to capture the bind operation to get the full UID.

Mike.
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!
User avatar
rcdiy
Posts: 190
Joined: Fri Jul 01, 2016 6:13 am
Country: Canada
Contact:

Re: Setting the 4-in-1 module UID equal to that of the OpenTX transmitter

Post by rcdiy »

Would a cantenna, tin can over antenna provide more directional sensitivity? Or a poptenna, plastic pop bottle with foil on haft the surface acting as a dish? It may not boost the signal but may improve directional sensitivity?
RCdiy.ca
Stay Safe & Have Fun
OpenTX Manual http://rcdiy.ca
Paying it forward by sharing my Lua scripts, documentation and videos.
abuyoav
Posts: 8
Joined: Sat Aug 26, 2017 10:18 pm
Country: -

Re: Setting the 4-in-1 module UID equal to that of the OpenTX transmitter

Post by abuyoav »

MikeB wrote: Sat Aug 26, 2017 11:01 pm The only way I know of getting at the UID of the XJT module is to probe the SPI signals to the CC2500 chip with a logic analyser, and then pick out the UID from the transactions.
A simpler solution (for me) seems to be listening in on the host TX bind operation with the 4-in-1 module, no? Less intrusive. I was hoping for an even simpler solution. Looking at the 4-in-1 code, the UID is taken as the UID of the STM32 microprocessor. Just a guess, but could it be that the UID in my case is the UID of the QX7 microprocessor? Does anyone know?
rcdiy wrote: Sun Aug 27, 2017 3:01 am Would a cantenna, tin can over antenna provide more directional sensitivity? Or a poptenna, plastic pop bottle with foil on haft the surface acting as a dish? It may not boost the signal but may improve directional sensitivity?
I did not know about these, will give them a try!
User avatar
Kilrah
Posts: 11109
Joined: Sat Feb 18, 2012 6:56 pm
Country: Switzerland

Re: Setting the 4-in-1 module UID equal to that of the OpenTX transmitter

Post by Kilrah »

Get an XJT or the 4-in-1 and jsut use that all the time instead of the internal module.
abuyoav wrote: Sun Aug 27, 2017 4:30 am A simpler solution (for me) seems to be listening in on the host TX bind operation with the 4-in-1 module, no?
Yeah but there is no code to do that, so you need to do the programming job.
abuyoav wrote: Sun Aug 27, 2017 4:30 amLooking at the 4-in-1 code, the UID is taken as the UID of the STM32 microprocessor. Just a guess, but could it be that the UID in my case is the UID of the QX7 microprocessor? Does anyone know?
That's the way the 4 in 1 does it, but I believe the radio does it differently (there's an EEPROM chip in the module).

abuyoav
Posts: 8
Joined: Sat Aug 26, 2017 10:18 pm
Country: -

Re: Setting the 4-in-1 module UID equal to that of the OpenTX transmitter

Post by abuyoav »

Sorry for the late reply...
Kilrah wrote: Sun Aug 27, 2017 8:03 am Get an XJT or the 4-in-1 and jsut use that all the time instead of the internal module.
Using the 4-in-1: This is certainly an option. However, I would like to see if it is as good as my QX7 in terms of, for example, RSSI. Somehow, I trust FrSky's electronics more than I do Banggood's.
Buying an XJT: Correct, but where is the challenge :-)
Kilrah wrote: Sun Aug 27, 2017 8:03 am Yeah but there is no code to do that, so you need to do the programming job.
That's what I had in mind. Just wanted to save myself the orientation phase, as much as possible.

Kilrah wrote: Sun Aug 27, 2017 8:03 am That's the way the 4 in 1 does it, but I believe the radio does it differently (there's an EEPROM chip in the module).
Bump... Does anyone know for sure? That is, does anyone know if OpenTX has access to the UID of the transmitter?
User avatar
Kilrah
Posts: 11109
Joined: Sat Feb 18, 2012 6:56 pm
Country: Switzerland

Re: Setting the 4-in-1 module UID equal to that of the OpenTX transmitter

Post by Kilrah »

abuyoav wrote: Tue Aug 29, 2017 10:06 am Bump... Does anyone know for sure? That is, does anyone know if OpenTX has access to the UID of the transmitter?
Nobody knows exactly how FrSky generates/stores the UID inside the module's processor, but OpenTX defintiely doesn't have access to it.
User avatar
rcdiy
Posts: 190
Joined: Fri Jul 01, 2016 6:13 am
Country: Canada
Contact:

Re: Setting the 4-in-1 module UID equal to that of the OpenTX transmitter

Post by rcdiy »

If Kilrah say it is so then it is:) He is an OpenTX developer.
RCdiy.ca
Stay Safe & Have Fun
OpenTX Manual http://rcdiy.ca
Paying it forward by sharing my Lua scripts, documentation and videos.
User avatar
rcdiy
Posts: 190
Joined: Fri Jul 01, 2016 6:13 am
Country: Canada
Contact:

Re: Setting the 4-in-1 module UID equal to that of the OpenTX transmitter

Post by rcdiy »

I did a simple proof of concept.
Took some foil, shaped it into a half cylinder.
The antenna was placed along the axis and centre of the cylinder...
Rx about 10 feet away.
Was able to get a 10db variation, 70db when blocked, 80db when towards...
So at the field a pop can and scissors could do be used....
IMG_5652.jpg
IMG_5651.jpg
Last edited by rcdiy on Tue Aug 29, 2017 3:52 pm, edited 1 time in total.
RCdiy.ca
Stay Safe & Have Fun
OpenTX Manual http://rcdiy.ca
Paying it forward by sharing my Lua scripts, documentation and videos.
abuyoav
Posts: 8
Joined: Sat Aug 26, 2017 10:18 pm
Country: -

Re: Setting the 4-in-1 module UID equal to that of the OpenTX transmitter

Post by abuyoav »

OK, thanks Kilrah and rcdiy!

There is still some hope, as one could use the 4-in-1 module to listen in on the bind process. However, I don't have time for this now. Will try the tin-foil solution with my kids. Cool science experiment for them!
abuyoav
Posts: 8
Joined: Sat Aug 26, 2017 10:18 pm
Country: -

Re: Setting the 4-in-1 module UID equal to that of the OpenTX transmitter

Post by abuyoav »

Just found a nice template for a directional antenna:
http://www.freeantennas.com/projects/template2/
User avatar
rcdiy
Posts: 190
Joined: Fri Jul 01, 2016 6:13 am
Country: Canada
Contact:

Re: Setting the 4-in-1 module UID equal to that of the OpenTX transmitter

Post by rcdiy »

abuyoav wrote: Tue Aug 29, 2017 4:31 pm Just found a nice template for a directional antenna:
http://www.freeantennas.com/projects/template2/
I tried it out an it works. Make sure to push the reflector all the way down to the where the antenna enters the Tx body. I used aluminum duct tape as the reflective coating.

The 2.4GHz wavelength is 12.5cm. The reflectors work best when larger, much larger, than the wavelength being reflected.
This reflector is about 15cm horizontal which is enough to enhance the directionality.

Nice side project:) Doubt I'll have this in my field flight kit however.
RCdiy.ca
Stay Safe & Have Fun
OpenTX Manual http://rcdiy.ca
Paying it forward by sharing my Lua scripts, documentation and videos.

Post Reply

Return to “openTx”