FrSky FPort support - testers wanted

RC_OPTIONS (try at default otherwise 8)

@Dave, I have tried all these parameters without any telemetry response.
somthing still not working.

I have kakute f7 with teko32 4 in 1. Flashed with 4.1 dev from 30-Oct
R-XSR with RXSR_ACCST_2.1.0.Fport_LBT
Taranis X9D+ with OpenTX 2.3.9 and internal module with XJT_ACCST_2.1.0_LBT.frk

Then the R-XSR s.port wire connected to the Kakute Rx6

  • RC_OPTIONS = 0

Control and telemetry working now

1 Like

Yes, this has been working for me also on a Kakute F7 with an R9MM and Fport firmware. UART6 is SERIAL7 on the Wing so assumed the config would work.

It’s the original R9 Rx (the big one)? Which specific firmware?

@RizHass take a look at this post.

RC_OPTIONS must be 0, not 8 for the setup you are describing.

@tridge, Any chance of backporting this to 4.0.x?

Its working for me now (Matek F765-wing, R9mm Rx, and FW 4.1.0dev) with the parameter mentioned above. The reason it was not working for me initially, was because Serial6 was enabled. Once disabled, I started receiving Yaapu telemetry.

F4 Based Boards If you have an F4 based board then you will need a bi-directional inverter, as current generations of FPort receivers use an inverted serial protocol.

@tridge This seems to not be true in my case, I finally got it working and without the external inverter.

Latest AC and AP (11-2-2020) tested.
omnibus f4 v3 pro FC,
R-XSR with fport v1.9 FW,

Tested fport connected to UART1 and UART4

Fport connected to UART1 (r-xsr uninverted pad to UART1 Tx)

Fport connected to UART4 (r-xsr uninverted pad to RSSI pad on FC)
board_alt_config=4 (reboot)

FYI: On my r-xsr with fport v1.9, s.port (now fport) at the connector is NOT inverted and this signal does not work. Need to use the pad marked as uninverted, and this IS inverted, counter intuitive the only inverted works without external inverter. This seems opposite to most posts I read.

it just depends on naming conventions.
On an F4 you can only process “idle high” signals, which are uart signals where the gaps between bytes are high voltages. In STM32 this is an “non-inverted” signal.
The FPort and FPort2 protocols are specified as “inverted” protocols, meaning idle low. But “inverted” FPort is then idle-high, which means an inverted-fport is an uninverted signal.
To make this even more confusing some receivers have both inverted and non-inverted outputs. That is what you’re tapping into with that pad on the R-XSR. That pad gives an uninverted signal, which is “inverted FPort”.
Confused yet?

Perfectly! :slight_smile:
Thanks for all the work you, the team and the community have done!

Have you tested it with F4 board, because in case of f405 the inverter was necesssry as it described in the initial post of this thread. I ve tried without inverter on the bottom inverted S port but it not works…only with inverter on normal Sport.
Without inverter it works only on INAV.

Hi guys.

I’m trying to make FPort working with my PixRacer FC.
My setup is the following:

  • Pixracer v1 (ChibiOS: 331fe75d, ArduCopter V4.1.0-dev (f18585c5), EEPROM reset to defaults)
  • FRSky XSR-M Micro receiver (FPort beta NonEu: v171114 firmware)
  • Receiver SPort connected to FRSky Out port (direct connection, SERIAL4 TX)
  • SERIAL4_PROTOCOL = 23 (RCIN), SERIAL4_OPTIONS = 4 (HalfDuplex)

And I got nothing, no RC channels, no telemetry.
As FRSky port at PixRacer is already inverted so inverted input from receiver should be fine (changing invert OPTIONS don’t make any difference).
I was able to got RC channels (but no telemetry) with external inverter while connecting receiver to othe UART port on FC. Also FPort on this receiver works with other board (Inav).
So there should not be any HW failure, receiver is working, FRSky port is also working with SPort telemetry.

I have seen two success reports with PixRacer on this thread.

Maybe I miss some serial option to configure? Please advice.


Hi, no need for half duplex option on pixracer! Set SERIAL4_OPTION =0

Alex, thanks.
I’ve tried various combinations of flags for SERIAL4, 0 as well, no luck.

PS: double checked with 0 to be sure, nothing, no “reading Fport” in messages, no channel values.

Alex, your pointed me in the right direction, thanks again! :slightly_smiling_face:
Initially my receiver was connected by one wire to TX pin of the Pixracer FRSky port.
However in case of disabling HalfDuplex I need somehow to get RX pin connected. So I just short TX and RX, the same as for SPort telemetry. And now FPort works (channels and telemetry, have not check RSSI yet)!

Another question why HalfDuplex switch don’t do the trick on a single TX pin? :thinking:

because the Pixracer has a built in inverter and diode for half duplex but from the FC point of view is a regular UART connection using both TX and RX

1 Like

Yes, the Omnibus F4 V3 Pro is a STM32F405. This is why I posted “without inverter” working. The first post says inverter required, but I am guessing it was a FW change in ardupilot or R-XSR or? The number one hangup for me was the R-XSR FW fport version, I had the older v1.7 and nothing was working, as soon as I updated to v1.9 working, also tested it on UART1 and 4, see my diagram in post 260.

Ok…as i ve posted in my initial post i m using it with R9MM 869mhz receiver not with R-xsr