Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable ISRM internal module for non-FrSky hardware (T16 / TX16S / etc...) #477

Merged
merged 5 commits into from Jul 27, 2021

Conversation

raphaelcoeffic
Copy link
Member

@raphaelcoeffic raphaelcoeffic commented Jul 20, 2021

This should allow to run "update ISRMs" on other hardware, like Jumper T16, RM TX16S, etc...

Please note that on the T16, TX16S and probably others, a small hardware mod is required so that the heartbeat signal is transmitted properly to the micro-controller (TBD: document hw mod).

@raphaelcoeffic raphaelcoeffic marked this pull request as ready for review July 21, 2021 14:18
@raphaelcoeffic raphaelcoeffic changed the title Replace proprietary libAccess by an open source alternative Enable ISRM internal module for non-FrSky hardware (T16 / TX16S / etc...) Jul 21, 2021
@rotorman
Copy link
Member

rotorman commented Jul 21, 2021

RF-Module heartbeat signal is unfortunately due to hardware error not usable on Jumper T16 and RM/Eachine TX16S, as tested today (T16 by @raphaelcoeffic , RM TX16S by me).

JR RF-bay connector, as at the back of T16/TX16S, has 5 pins:
grafik

The heartbeat signal provides a possibility for the radio to see that the RF module is live and working (if the module emits a heartbeat).

According to the schematic (Jumper T16 here and appropriate snippet of RM/Eachine TX16S below), the module can pull down (periodically) the heartbeat line to signal it's presence and liveliness to main STM32F429BIT6 µC.
grafik

Using a NPN-transistor (Q9 in T16 schem, Q105 in TX16S schem) the signal is inverted. The populated diode is to limit only to pulling the base of the transistor low (D5 in T16, D103 in TX16S). This de-couples the main µC of the radio from arbitrary positive rail used by the RF-module.

The diode is of type 1N4148 and has a forward voltage of roughly 0.55 to 0.6V (as also verified with measurements). This value is although too much, so that the NPN transistor (of type S8050) is always opened (thanks to 10 kOhm pull-up at base), even if the cathode of the diode is pulled straight to ground (tested on T16 and TX16S) - the collector of the transistor will never get to high level.

For the heartbeat to be usable, the diode should be replaced with a model that has significantly lower forward voltage, e.g. with a Schottky type such as 1SS389. 1SS389 has a typical forward voltage of ca. 0.2 V only and comes in the same SOD-523 package as the existing 1N4148XHE3 diode.

Here the diode in question on TX16S mainboard:
grafik

@raphaelcoeffic
Copy link
Member Author

And this is my T16 with the "upgrade ISRM for X10" mounted and working:
IMG_8887

@rotorman
Copy link
Member

rotorman commented Jul 21, 2021

In an ideal world, the heartbeat schematic would in my opinion look like this using a PNP transistor instead of a NPN:
grafik
This way it is much more robust against various low voltage levels at signal input.

I took upon this idea and integrated this in my enhanced TX16S mainboard developement.

@brainbubblersbest
Copy link

Nice 😉 and youre not receive this continous periodic channel Movements? Not after an Emergency Mode or else?
This is just too awesome. 😁

@raphaelcoeffic
Copy link
Member Author

raphaelcoeffic commented Jul 24, 2021

Nice 😉 and youre not receive this continous periodic channel Movements? Not after an Emergency Mode or else?
This is just too awesome. 😁

The replacement lib is functionally equivalent. It just works :-)

@raphaelcoeffic raphaelcoeffic merged commit 1dcb66d into main Jul 27, 2021
@raphaelcoeffic raphaelcoeffic deleted the 403-access-denied branch July 27, 2021 04:02
@pfeerick pfeerick added this to the 2.5 milestone Aug 30, 2021
@MRC3742
Copy link
Contributor

MRC3742 commented Sep 11, 2021

@rotorman
I am interested in doing this mod for using the internal ISRM on my Jumper T16.
I would also like to be able to use the external access mod for the R9M 2019 module.
Is the heartbeat pin common for both modules? are both of these mods able to work independently?

By replacing the diode listed above would it still be necessary on the external access mod to run the third wire to the heartbeat pin or is this the reason they are using this third wire to bypass this diode? It appears the diode is connected to the leg of the transistor they are soldering the wire for connection to the heartbeat pin.

Thanks - Rich

@brainbubblersbest
Copy link

brainbubblersbest commented Sep 12, 2021

I think that you might be right with that.
But that is not a Problem. You can do it the way as on X10 and X12 to Maintain HB functionality for InternalHF,
When using Externalaccess the same Time.
I Think HB on internal ISRM is in use only on ACCST D16 Mode. But im not 100% shure if there is really no random Signal on that Line with ISRM running in ACCESS Mode.

@rotorman
Copy link
Member

rotorman commented Sep 12, 2021

@MRC3742 / Rich, with the diode fix, you are not disabling any functionality. In fact, without this mod, the heartbeat pin of T16/TX16S radios won't work at all, as even when the Heartbeat pin is pulled straight to GND, it still is not enough to disable the NPN transistor, activated via the pull-up resistor on it's base pin.

@brainbubblersbest
Copy link

He is talking about the scenario that using externalaccessmod and internal isrm as well.
If you take a Look at my Documentation, you will notice the separate wiring on the left HF Mainboard.
One line is used explicite for Heartbeat (RED)
One line is used explizit for JR receive line (Yellow)

On the two old non express HF mainboards. The JR Bay Receive Line is physical Disconnected with a missing resistor. Because it is used for the internal HF HB Signal.

On TX16S, JT16 etc. We using now the first Time an internal ISRM too. and Trace this two Signals over the same Inverter?
94353575-f4e74100-0072-11eb-9de5-43d621d6965f (3)

@brainbubblersbest
Copy link

brainbubblersbest commented Sep 12, 2021

Two Photos for a direct Comparsion
Please correct me if there is no conflict.

Screenshot_20210912_163214
Screenshot_20210912_163120

@JureZaninovich
Copy link

is there a way to use the FrSky ACCESS ISRM module , as an external module ( or even internal, disabling the original internal module ) on a Taranis QX7 radio ?
This would be an attractive option for me.

@brainbubblersbest
Copy link

brainbubblersbest commented Feb 18, 2022

Maybe when configurated as access protocol.
I think the heartbeat needs to be connected in accst Mode.
The heartbeat connector is used the same time as the TX connector when the Module is Operating. (Telemetry Data and Synchronisation Clock to the ARM32F429)

Maybe with externalaccessmod together with additional external inversion. Plus a reuse of the S.Port for the Heartbeat?

The Boot pin can be activated together with JR Bay supply line (over 5V BEC) for 5V Module Supply.
Then from here over a little inverter with maybe a +3,3VBEC
To the Boot pin.
(is it high or low activated?)

Thats what i might See at first sight.

This needs to be Discussed with Pafleraf and Risto
These two have the most insight in Module Transplantation i think.

Screenshot_20220218_200703

@JureZaninovich

Isnt that already selectable in latest nightly Radio setup Menu?

@JureZaninovich
Copy link

thanks @brainbubblersbest for your quick response !

@TakeToTheSky
Copy link

Has the diode been updated to one with a lower forward voltage on the new Radiomaster TX16S Mark II radio?

@chrisleprince
Copy link

chrisleprince commented Sep 4, 2022

Hello @raphaelcoeffic raphaelcoeffic
I'm very interested in doing this Mod to use access protocol on my TX16S
But I have a few questions:
First, it is mentionned to replace the original diode by a Schottky type such as 1SS389, but on the screenshot you seems just to have bridged it without replacing it ? What is the right method ?
And then after this small hardware mod, is there any Firmware mod to do ? Or is just good to go with ETX 2.7.1 ?
Is there another hardware mod to do to plug in the ISRM X10 module in the TX16S?
I don't have big skills in electronic (i know how to solder propely ;)) so a kind of tutorial would be appreciated
Thank you for your answer ;)

@raphaelcoeffic
Copy link
Member Author

raphaelcoeffic commented Sep 5, 2022

@chrisleprince using a shottky diode is the “correct way”, as it provides some degree of protection. Just bridging it is the “I know what I’m doing” way of life (aka. “No risk no fun”).

@chrisleprince
Copy link

chrisleprince commented Sep 6, 2022

Thanks a lot for the answer @raphaelcoeffic
One last question, is it still possible to plug an external module in the bay after plugging the ISRM module ?

@rotorman
Copy link
Member

rotorman commented Nov 26, 2022

A RCGroups user dkoro has created a PCB as ISRM adapter for TX16S.

The Eagle CAD files can be found under: https://github.com/TakeToTheSky/Radiomaster-TX16S-ISRM-Adapter

For documentation purposes, I link the following posts from RCGroups to this PR:
https://www.rcgroups.com/forums/showpost.php?p=49266561&postcount=4158
https://www.rcgroups.com/forums/showpost.php?p=50159905&postcount=5171

@brainbubblersbest
Copy link

This is somehow Hilarious as FRSKY does everything (from their perspective) to NOT make this possible. 🤣
I love this community. 🤓

@TakeToTheSky
Copy link

TakeToTheSky commented Dec 11, 2022

I have purchased a TX16S MK II Radio with the updated main board. I measured the diode with a multimeter in diode mode. It showed me a forward voltage of 0.185. Can one of the experts confirm that this is representative of a diode with a lower forward voltage and will therefore meet the requirements for this mod?

@raphaelcoeffic
Copy link
Member Author

@TakeToTheSky according to @rotorman it should, but the real test is actually if it actually works. In my case I detected the issue with a (analog measurement capable) logic analyser connected before and after the diode.

@TakeToTheSky
Copy link

After further examination, I can confirm the new TX16S MKII board is fitted with a Schottky 1SS389 diode. I measured the forward voltage to be 0.185V at 1mA and 0.23V at 5mA. The markings on the diode show S4. This data is consistent with the specifications of the 1SS389 diode.
TX16S MKII Diode
TX16S MKII Main Board

@rotorman
Copy link
Member

@TakeToTheSky Did you test it out with ISRM if it works w/o any mods to the diode with TX16S mkII?

@kochpet
Copy link

kochpet commented Feb 5, 2023

I recently converted my TX16S MKII to a Frsky internal ISRM module. I had some adapter boards produced using the PCB files provided by RCGroups user dkoro. The conversion was very easy thanks to the adapter boards, and it was not necessary to change the diode. All in all a strait forward conversion with no issues.

grafik

grafik

@rotorman
Copy link
Member

rotorman commented Feb 5, 2023

Very nice and thank you for the feedback. This demonstrates that TX16S mkII lower forward voltage diode fixes the HEARTBEAT issue of the T16 and first generation TX16S.

@TakeToTheSky
Copy link

20230217_122436
20230217_122400
I finally found the time to install my ISRM module in my Radiomaster TX16s Max MK II. I also fitted the internal 2.4 GHz antennas for testing.

@rotorman
Copy link
Member

rotorman commented Feb 18, 2023

Here further report about a successful mod at RCGroups by user UU68: https://www.rcgroups.com/forums/showpost.php?p=50561063&postcount=5922

grafik

grafik

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants