How to Setup Frsky FPort

FPort is the latest RC serial protocol that brings a few improvements over the existing RX and telemetry protocols. This tutorial will explain the advantages of FPort, and how to set it up on Betaflight flight controllers for your mini quad.

FPort is an “RX protocol” – a communication interface between receiver and other components, such as a sensor, or flight controller.

FPort (possibly stands for “Frsky Port”?), is developed by both Betaflight Dev Team and Frsky, it’s great to see big players working together to make the hobby better.

Why is FPort better?

  1. FPort combines SBUS and Smarport Telemetry into 1 single wire
    • cutting down cable management and soldering
    • save you a UART port because SBUS and Smartport take up 2 separate UART’s
  2. FPort is uninverted, so hopefully no more “uninversion hacks” required on F4 FC

There are some other technical benefits, but the two reasons above are enough to explain my excitement .

What’s still missing?

It’s exciting to see the awesome improvements of FPort, but it can be better! Some other competitors of Frsky offer solutions that already have these benefits, but more importantly they have lower latency and higher refresh rates than SBUS, which can largely improve the handling of your quad, such as TBS’s Crossfire we recently tested.

Update (July 2018) – testing shows that FPort is still not quite as fast as SBUS.

Requirement to Run FPort

For Receivers:

At the moment, test firmware is only available for some X-series receivers (XSR, X4R-SB and XSR-M).

Hopefully more receivers such as the new R-XSR will be supported too in the near future but the progress will depend on Frsky.

For Flight Controllers:

F3, F4 or F7 FC with a spare UART port.

When will FPort be available?

FPort is now available for testing, and it will be officially included in Betaflight 3.3 release. When it becomes available I will do a more detail step by step tutorial on how to set it up, I even hear rumours that Frsky might release RX’s that come with FPort out of the box in the future.

If you cannot wait to try it, here is how you can set it up for testing.

@Voodoo on our forum reported that he successfully setup FPort on his rig using the testing firmware.

How to setup FPort?

We don’t recommend average users to try FPort just yet due to how new this is and there might be bugs that can affect the reliability of your craft. But if you understand the risk and believe you have the technical ability to do it, then here are the simple instructions.

Software

Hardware

Simply connect the SmartPort pin to a free UART TX on your flight controller.

Example connection diagram provided by Matek.

Configuration

  • Open up Betaflight Configurator
  • In the Ports tab, find the UART which is connected to the receiver, and enable “Serial RX”
  • In the Configuration tab, Select “FPort” in Receiver Protocol

F3 and F7 flight controllers with inverted Smartport signal (original, non-hacked signal)

set serialrx_halfduplex = ON
set serialrx_inverted = ON
save

F4 FC with inverted Smartport signal (original, non-hacked signal)

set serialrx_halfduplex = OFF
set serialrx_inverted = ON
save

F4 FC with non-inverted Smartport signal (hacked)

set serialrx_halfduplex = ON
set serialrx_inverted = OFF
save

* the parameter after the serial CLI command is the UART number minus 1, e.g. Serial 2 is UART3, Serial 1 is UART 2 and so on.

After that, make sure to select “Rediscover Sensor” in your Taranis’s Telemetry Menu in order to get Telemetry to work.

32 thoughts on “How to Setup Frsky FPort

  1. Panq

    Just in case anyone here’s tested it: Does the F.Port firmware still output anything on the SBUS and CPPM pins? Would be nice to free up a UART, but gimbal will need a more basic PPM/Sbus/Spektrum/etc. signal from somewhere.

    Reply
    1. Panq

      Couldn’t find any good documentation so I may have been doing something wrong, but a quick test says nope: Fport firmware apparently disables CPPM.

      Reply
  2. Stéphane MLC

    If you have a F4, and you’re using SOFTSERIAL to map on the motor 5 for example, do the following:

    resource
    (note the pin, A01 for me)
    resource MOTOR 5 NONE => free pwm5
    resource serial_tx 11 A01
    save

    serial 2 64 115200 57600 0 115200
    set serialrx_provider = FPORT
    save

    set serialrx_halfduplex = ON
    set serialrx_inverted = ON
    save
    (F3 and F7 commands are working for me)

    Reply
  3. TweakRacer

    Good to see FrSky developing F Port, non-inverted bidirectional single-wire. Should give some competition to Spektrum’s SRXL.

    Reply
  4. Troy Gustafson

    I just setup the X4R-SB to Fport on a Matek F405. Connecting normal inverted s.port pin to Sbus pin on FC worked for RC commands but not for telemetry. Using the uninverted leg to the TX3 pin works with RC command and telemetry. So it seems that in order to get full functioning you must still do the un-invert hack.

    Reply
  5. Juanma

    Hello colleagues,
    We are trying to setup FPORT in a Vortex 250 with F3 IRCFusion Gen2 and X4R-SB.
    F3 already upgraded to 3.4.0 and Receiver flashed with FPORT_EU_180111.frk

    The problem we are suffering now is when we set “set serialrx_provider = FPORT” it looks like the FC refuses to save the value. Even through CLI, and issuing the save command, whenever we reconnect the battery back for a full reboot, serialrx_provider is back to “Default value: SPEK1024”

    Does anybody knows how to fix that?

    Reply
    1. Haloweenhamster

      A few rarely used features have been removed from f3 firmware due to running out of space, you may need a custom compiled firmware

      Reply
  6. SvenR

    Hi; i love your tutorials and guides.
    They’ve helped me out a lot!

    I’m in the final stages of setting up my quad with an rxsr and an omnibusf4v3 pro.
    I had this thing working through sbus without top much trouble but i do like Fport 😁.

    Now i have remover the sbus wire from its dedicated pinout and wiring the sport to tx6.
    I cant seem to get my head around as to what serial_tx i need to set to what.. also cant get softserial setup beyond the “enable softserial” slider in betaflight😞. Any help plz? Sorry for hijacking your commentsection btw..

    Reply
    1. SvenR

      Btw i have flashed the latest fport firmware and binded the rx to tx but obviously cant get a reaction in betaflight (all latest firmwares are installed and serial rx is set to fport).

      Would really appreciatie the help, thnx

      Reply
  7. Hans

    Say you use the TX2 pad for f.port. Is it possible to set RX2 as a Softserial and free up even more uart space?
    On one of my f3 builds uart1 is usb, uart2 is OSD and uart3 is now f.port. I can however set up Softserial on the ppm pad (led is occupied), but need one more pad for my RunCam Split.

    Reply
  8. FrankT

    Connected to SBUS pad on Matek F405.
    set Ports UART 2 SerialRX

    serial 1 64 115200 57600 0 115200
    set serialrx_provider = FPORT
    set serialrx_halfduplex = OFF
    set serialrx_inverted = ON

    Reply
  9. Daniel

    HI Oscar, documentation on github.com/betaflight/betaflight/wiki/The-FrSky-FPort-Protocol says uninverted SmartPort signal/hack is a requirement for F4 FC’s. There seems to be no way to get an default inverted S.Port signal cable to work on F4 without either a bidirectional hardware inverter (rare) or hacking an uninverted S.Port signal from the receiver in order to get F.Port to work.

    Reply
  10. Damien

    FPort setup Matek F411 with R-XSR:
    1. Wire S.Port wire to SBUS on Matek F411
    2. Betaflight:
    Receiver Mode: SBUS
    Serial Receiver Provider: FrySky FPort
    * No CLI commands required
    Signals and telemetry working fine on the bench.

    Reply
    1. Haloweenhamster

      that only gives control not telemetry as its an rx not tx, I’ve just tried it after I couldn’t get to work on softserial

      Reply
  11. Benjamin M West

    I have the Reciever working with F port, but I dont seem to be getting any Telemetry. soldered on a wire to my xsr to get uninverted s port. The strange thing is, the reciever works with the CLI commands for non-hacked s.port, but mine is hacked. It doesn’t work at all with the CLI commands for hacked S.port.

    Reply
    1. Benjamin M West

      So I think I got it working, I had to move the s.port wire from uart 3 tx to uart 1 tx and it works now. Finally PIDs on my Taranis!

      Reply
    1. Oscar Post author

      By “s_port”, You mean FPort?
      No you can’t use the SBUS pad, firstly it’s an RX pin of the UART, you need to use the TX pin. Besides on F4 boards SBUS pin usually has an built-in inverter so you can’t use it for the uninverted FPort protocol.

      Reply
      1. voodoo614

        You can use the SBUS pad. As long as it is bidirectional, which most current RX and TX are. That is how I wire mine, because SBUS pad has inverted hardware.

  12. voodoo614

    I just wanted to make a comment about inversion hack. Unfortunately, even with F. Port, you will have to hack the non-inverted signal if your UART TX doesn’t have an inversion circuit. I was not able to get F. Port working connecting S. Port inverted signal to a regular UART TX. I tried every combination of serialrx_halfduplux and serialrx_inverted possible without success. So, the days of hacking non-inverted signal are still here.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

Are you Robot? *

I only check blog comments once or twice a week, if you want a quick reply you can post your question on this forum IntoFPV.com... You might get a faster response from me there (multirotor related only).