Hello guest, if you read this it means you are not registered. Click here to register in a few simple steps, you will enjoy all features of our Forum.
This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Jumper R1F hacked inversion
#1
So, the non-inverted signal is much more complex than I initially thought.  On most Frsky receiver, the non-inverted signal is simply tracing the signal to the IC that does the inversion.  Unfortunately, I was not able to get to the bottom and find a solution before my receiver shorted.  But I did find a few very interesting things. Stick movements was not an issue. It was the telemetry. I tested on a CLRacing F4 that has inverted UART TX for tele and a bidirectional normal UART.

From the Fport pad, the trace splits and goes to two different C04R chips. It looks like one is input and the other output.
[Image: guL16JNl.jpg]
[Image: vU315Y5l.jpg]

If I wire to the Fport pad to a bidirectional UART (hardware inverted), I was able to get RSSI to return to FC automatically.  When I bind to my Horus, I also got Vfas, A4 (per cell voltage), and A1/A2 (don't know what this is).  When I bind to my Radiomaster with the multiprotocol, I get A2 (but the voltage is incorrect), TRSS, TQly and RSSI. Overall, the telemetry sensors are much less than a true Frsky receiver. 
[Image: dn8FF8Xl.jpg]
[Image: CB4WR0Cl.jpg]
[Image: 1WvwcRil.jpg]

With the Horus, the receiver also return the RSSI on Aux 12 automatically.  With the RM, there was not RSSI on Aux 12.  It seems that the multi-protocol still is not perfect. 
[Image: ELwQFhBl.jpg]
<

When I wired to the output of this C04R, I only get RSSi to return to FC automatically, but I don't get Vfas.
[Image: AcvPETGl.jpg]

On the RM, I was only able to bind on Frsky D16. The "Frsky D16 clone" choice did not bind.

Somehow I shorted the MCU.  So that was the end of my experiement.
[-] The following 2 users Like voodoo614's post:
  • hugnosed_bat, SnowLeopardFPV
Reply
Login to remove this ad | Register Here
#2
Thanks for going to the trouble of getting a Jumper R1F and doing all the R&D on it.

Your findings confirm what I suspected from trying to trace tracks and through-holes on images of the board where I deduced it went to the legs on those two chips, but without a board in front of you to confirm where traces really do go (especially when some of them are covered by chips), it's not possible to know for sure. With a board to trace you can check with 100% certainty where traces go to.

It's a shame the MCU died but at least we now know more than we did before so it a step forward so I think it was worth doing.

You mention that you connected the FPORT pad to a bi-directional UART on the FC and were getting a number of sensors on your Horus that only come from the FC. Was it an F4 or an F7 FC you were connecting to? If it was an F4 FC then that would indicate that the native FPORT output pad of the Jumper R1F is already uninverted, which means there is no need for any uninversion hack. Is that actually the case, or not?
Reply
#3
I used an F4 (CLRacing F4). I edited my post a little, you must have missed it. And the bi-directional UART on this FC actually is inverted (specific made for S.port telemetry). So the Jumper FPort pad is not inverted. Therefore, you still need to hack for non-inverted signal to use with most F4 board.

What was interesting is the differences in telemetry sensors I got between the Horus and the RM. The Horus was using FrOS and not OpenTX.
Reply
#4
Ok so I have got this working. Though it’s not as simple as soldering to a different pad, I’m sure the calibre of folks reading this won’t be daunted by the following process Smile  Provided you’re confident with a soldering iron (or two!) you’ll be up and running with Fport on your F4 flight controller and R1F in no time.

OVERVIEW: The R1F inverts the Fport signal as you probably know, making it un-useable on an F4 flight controller even with an SBUS inverter. The reason this is a pain to un-invert is because Fport is bi-directional over a single wire, or single-wire half-duplex. The R1F actually sort of splits the signal into two paths once it comes into the board, so any un-inversion needs to happen on the receiver itself. I’ll post the gory details later but, in a nutshell to complete this hack we need to:

1)     Identify and remove the signal inverting ICs
2)     Bridge the input and output pads where the inverting ICs were
3)     Add a pullup resistor to pull the signal high in it’s resting state

Before we start, make sure you have plenty of light, and secure the R1F board down so you aren’t chasing it around your workbench with the iron.

Step 1: Identify and remove the inverting ICs

These are the two 5 pin ICs next to each other on the bottom side of the board, they are laser etched with the part code C045 or C04J (or similar):

[Image: xuQe7dOl.png]
 
Found them? Good, now we need to de-solder them. Here are some methods that work well depending on what you have to work with. All three will be way easier if you can put a little flux on the component leads first:

a)      Two iron method: Use two irons one either side of the chip (like my children use chopsticks), reflow the solder on all 5 leads at once and gently lift the IC off with the two irons.

b)     Hot air method: If you have a hot air re-work station and are confident with it this will work well. Just remember it is easy to blow lots of random components off the board and hard to put them all back on again.

c)      The “rough as guts” method: Contrary to the name – CAREFULLY cut away the component leads from the component body with a craft knife, with the blade at right angles to the board and hard up against the side of the component body. Once all the leads are separated you can de-solder each lead one at a time.

Clean up the pads of any flux and excess solder once you’re done.

Step 2: Bridge the input and output pads where the inverting ICs were

I used some solid core 26AWG wire salvaged from a Cat5e ethernet cable (the in-wall kind, not a patch lead as these use stranded wire). Anything around that size should do the job. Strip off the end back about 20mm or so and leave yourself a good 50mm or more to hold onto. Tin the stripped end and use some tweezers or needle nose pliers to bend the end of the wire into a tiny lightning bolt shape. Then hold the wire in place on top of the two pads we need to join and re-flow the solder on the wire. The pads should re-flow too and hopefully you now have a good solder joint on both pads to the wire. Once you are satisfied the wire is joined to both and not to anything else, snip the tail end off and repeat for the other IC’s in and out pads:
 
[Image: LAw5zzTl.png]
 
Step 3: Add a pullup resistor

We need to “pull up” the voltage level on the Fport signal line so it sits at 3.3V while not active, if we don’t the receiver will transmit the transmitter commands to the flight controller but we won’t get any telemetry back. There are a few ways you could do this, I had a 5K6 SMD resistor available so have soldered it between the Fport output of the buffer IC on the top of the board, and its 3.3V supply:

[Image: uiq7XvHl.png]
 
This could be done nearly as easily with a leaded resistor as well, and could also be done at the flight controller end if you prefer – just make sure its around the 5K (somewhere between 2K and 10K will probably be fine), and connected to 3.3V not 5V.

Lastly, BEFORE you connect it to power I recommend you use your multi-meter to check that nothing has been shorted in the process. Check between the - + and Fport connections for any short circuits, if there are none then you should be good to go!

If you need to know how to set it up from here then check out Oscar Liang’s awesome write up here: https://oscarliang.com/setup-frsky-fport...ini%20quad.

Hopefully once you have it setup you should have control of the flight controller and telemetry back to your transmitter:

[Image: AzeaKSEl.png]
[-] The following 1 user Likes Mahatmajman's post:
  • SnowLeopardFPV
Reply
#5
(09-Nov-2020, 09:11 AM)Mahatmajman Wrote: Ok so I have got this working. Though it’s not as simple as soldering to a different pad, I’m sure the calibre of folks reading this won’t be daunted by the following process Smile  Provided you’re confident with a soldering iron (or two!) you’ll be up and running with Fport on your F4 flight controller and R1F in no time.

Nice work Thumbs Up Thanks for sharing the details.

It's now clear why the usual hack of just soldering to a component leg doesn't work. I wonder why Jumper opted to split the signal through two inverter IC's. Due to the intricate work involved I guess this won't be for everyone, but at least it now gives people an option and the solution to do it if they want Smile
Reply
#6
Some gory details for anyone still awake:

So for those who are interested, here's how the Fport signal side of things works on the R1F:

[Image: h8wD3V5l.png]

The signal is inverted on both the incoming and outgoing directions, but is also switched via a tri-state buffer on the outgoing side. As far as I can tell, the R1F waits for telemetry signal from the flight controller, and once it receives the termination byte it enables the output buffer and sends the receiver control signals to the flight controller. To modify we just need to bridge the inverters and then pull up the signal line (since the outgoing signal is tri-stated when inactive):

[Image: GXCSmjSl.png]

That's about as far as I've gone with it since it works and the signal looks good, as a side note when comparing this with the Frsky R-XSR uninverted signal on the scope, it appears the R-XSR is using a diode to isolate the outgoing signal instead (and on the low side), so comms from the FC swing from 0V to 3.3V, but comms from the RX swing from about 0.6V to 3.3V. They seem to be running fine for me but that could be a problem with a noisier quad, something to keep in mind I guess.
[-] The following 2 users Like Mahatmajman's post:
  • CREASE, SnowLeopardFPV
Reply
#7
(09-Nov-2020, 09:41 AM)SnowLeopardFPV Wrote: Nice work Thumbs Up Thanks for sharing the details.

It's now clear why the usual hack of just soldering to a component leg doesn't work. I wonder why Jumper opted to split the signal through two inverter IC's. Due to the intricate work involved I guess this won't be for everyone, but at least it now gives people an option and the solution to do it if they want Smile

Yeah definitely a bit of a pain to do, I wouldn't recommend buying an R1F with the intention of modifying it - just get and R-XSR or straight XSR for the few extra dollars they cost. This will be more for those like me who got caught out by retailers claiming it works just fine on F4 controllers.
Reply
#8
Great work with the hack. I had a feeling that somehow the signal was getting split. But I didn't know enough about electronic circuit to be able to did what you did.
Reply
#9
Could you just connect to the output pin of the inverter going to the TELEM of the MCU? See my sketch below. My intuition says that that the bottom inverter would also invert the TX output from the MCU through the Buffer. A shot in the dark for me.
Smile
[Image: CREASE-FPORT.png?raw=1]
Reply
#10
(30-Nov-2020, 11:27 AM)CREASE Wrote: Could you just connect to the output pin of the inverter going to the TELEM of the MCU? See my sketch below. My intuition says that that the bottom inverter would also invert the TX output from the MCU through the Buffer. A shot in the dark for me.
Smile
[Image: CREASE-FPORT.png?raw=1]

That's an interesting observation but it will wholly depend on whether or not the inverter on the FPORT telemetry data line is a bi-directional inverter. I suspect it probably isn't but it's certainly worth a try. Can you please try it and then report back here with the results.
Reply
#11
Now that I look at @voodoo614 post above, I think this is what he is doing. I am wondering if the weird results he was getting was from experimenting. I get my R1F in a couple of days. I'll definitely report back. Hopefully I don't burn it out. Hey @SnowLeopardFPV, did you make a YouTube video about this a few days ago? Everything lines up too perfectly. It was great seeing you do it. Makes me feel like I could get it to work.
[-] The following 1 user Likes CREASE's post:
  • Mahatmajman
Reply
#12
(30-Nov-2020, 06:42 PM)CREASE Wrote: @SnowLeopardFPV, did you make a YouTube video about this a few days ago? Everything lines up too perfectly. It was great seeing you do it.

Nope, not me. I rarely post anything on YouTube and certainly not tutorials. I'm no good on camera Big Grin
Reply
#13
(30-Nov-2020, 06:42 PM)CREASE Wrote: Now that I look at @voodoo614 post above, I think this is what he is doing. I am wondering if the weird results he was getting was from experimenting. I get my R1F in a couple of days. I'll definitely report back. Hopefully I don't burn it out. Hey @SnowLeopardFPV, did you make a YouTube video about this a few days ago? Everything lines up too perfectly. It was great seeing you do it. Makes me feel like I could get it to work.
That was me, thought it might be more helpful as a video. I replied saying that method had already been tried - but now that I have had a second look I think you might be into something - I hadn’t looked at it like a double inversion on the RX side. Possibly the only reason it didn’t work for Voodoo was the missing pull-up resistor. You could try and tap in as you have suggested but just pull the line up to 3.3V - could be done at the flight controller end if that’s more convenient. Will be interesting to see how you go, I’ve mutilated my two boards now so can’t test it for you sorry. Good luck! Hopefully we end up with a much simpler hack!
[-] The following 1 user Likes Mahatmajman's post:
  • CREASE
Reply
#14
Awesome @Mahatmajman. I think the leg right next to it is VCC on the C045 so I just need a 5K resister to stick in there to bridge the gap.
[-] The following 1 user Likes CREASE's post:
  • Mahatmajman
Reply
#15
It works just like @voodoo614 original post. Only limited telemetry items on my Jumper T16 but RC input is great. I'm not that familiar with what beta flight telemetry should be outputting. See the pictures below. What's the next step I should try? Or is this what I should be seeing?

[Image: PXL_20201202_102549525.jpg?raw=1]

[Image: PXL_20201202_110329994.jpg?raw=1]
Reply


Possibly Related Threads...
Thread Author Replies Views Last Post
  Help Binding Jumper T-Lite with R-XSR miudi12732 36 12,256 08-Feb-2024, 02:55 AM
Last Post: mstc
  Jumper T20 and its variants (as my first radio) UglyBob 3 372 30-Jan-2024, 04:51 PM
Last Post: UglyBob
  Solved Jumper T Pro - S2 switch shows as Pot in EdgeTX maxer 7 535 25-Dec-2023, 06:19 PM
Last Post: Pathfinder075
  Jumper JP4IN1 for FrSky D8,D16 and DSM2?? Rob3ddd 12 9,520 12-Nov-2023, 02:01 PM
Last Post: SnowLeopardFPV
  Jumper T-pro ELRS, no backpack! truglodite 0 568 17-Jul-2023, 12:53 AM
Last Post: truglodite


Login to remove this ad | Register Here