How to Setup Frsky FPort

FPort is a new Frsky receiver protocol which brings a few improvements over the existing SBUS and SmartPort Telemetry. 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 the RX (receiver) and FC (flight controller). FPort (possibly stands for “Frsky Port”?) is developed by both Betaflight Dev Team and Frsky,

Why Is FPort Better?

From now on, I will be using FPort over SBUS and SmartPort whenever I can, because:

  1. FPort combines SBUS and Smarport Telemetry into one single wire
    • cutting down cable management and soldering
    • save a UART port because SBUS and Smartport take up two separate UART’s
  2. FPort is an uninverted protocol **, so hopefully we don’t have to worry about doing “uninversion hacks” on F4 FC in future Frsky receivers
  3. FPort is slightly faster than SBUS
  4. RSSI works automatically (no need to pass through a channel)

** Although the F.Port is a non-inverted protocol by design, currently the signal is still coming out of the SmartPort (S.Port) pin on the receiver, and the S.Port pin is normally inverted on Frsky receivers. This makes the F.Port signal inverted as well. Hopefully in the future, Frsky will release F.Port only receivers with non-inverted outputs. For example, the new R9MM receiver has a pin called “inverted S.Port” (it actually mean “inverted of the inverted”, making it non-inverted), but really they should just call it the F.Port pin.

Software Setup to Run FPORT

Receivers

In order to enable FPort, you have to flash your receiver with the “FPort firmware”. Download firmware here: https://www.frsky-rc.com/product-category/receivers/

Most Frsky’s receivers support FPort now, just check in the above link, and see if there is a FPort firmware for your receiver.

Here are my instructions how to flash Frsky receiver firmware.

Note that by flashing this firmware, disables SBUS, you can flash the normal firmware again if you want to run SBUS.

Flight Controllers

Any F3, F4 or F7 FC with a spare UART should be able to run FPort. Make sure to update it to the latest Betaflight firmware: how to flash BF firmware.

Betaflight Configurator

Get the latest BF configurator: Link to Download Betaflight Configurator

How to Setup FPort?

The “SmartPort” pin on your receiver becomes “FPort” output.

Connection

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

Don’t use soft-serial for FPort! It’s okay for SmartPort Telemetry, but it’s too slow for RC links. If you absolutely have no way to connect FPort, just go with the good old SBUS and SmartPort.

Original “Inverted” SmartPort (F3 / F7)

Note that Frsky receivers SmartPort is an “inverted” signal, F4 flight controllers can’t read it directly. However it’s not a problem for F3 and F7 flight controllers and you can connect it directly, just like this:

In Betaflight CLI. enter these commands:

set serialrx_halfduplex = ON
set serialrx_inverted = ON
save

Hacked “Uninverted” SmartPort (F4)

If you have an F4 flight controller, and there is no dedicated SmartPort input (built-in inverter), then you will have to follow this guide and find the “uninverted” smartport signal for your receiver.

The R9MM is the first receiver Frsky has ever made that comes with “uninverted” SmartPort. Let’s just hope they will do this for new receivers in the future :)

In CLI, enter:

set serialrx_halfduplex = ON
set serialrx_inverted = OFF
save

If your F4 FC has built-in inverter for SmartPort pin, and you are using the original inverted S.Port signal, you should enter these instead:

set serialrx_halfduplex = OFF
set serialrx_inverted = ON
save

Configuration

Open up Betaflight Configurator

In the Ports tab, find the UART which is connected to the receiver, and enable “Serial RX”. In this example I am using UART4.

In the Configuration tab, select “FPort” in Receiver Protocol.

Enable Telemetry feature. Now click “Save and Reboot” button.

Now confirm you have control in the Receiver’s tab.

To get Telemetry to work. go to your Taranis’s Telemetry page, select “Delete all Sensors”, and then “Discover new Sensor”.

As mentioned, RSSI works automatically, however you do need to change the scale to 200%:

set rssi_scale = 200
save

That’s it :)

FPort Troubleshooting

If you are having trouble with FPort, e.g. receiver is bound, but the sticks are not responding in Betaflight, try changing this setting on and off in CLI:

set serialrx_inverted = ON
save

If telemetry isn’t working, try setting this on and off:

set serialrx_halfduplex = ON
save

Also try select “Rediscover Sensor” in your Taranis’s Telemetry Menu.

Still not working? We can help you on IntoFPV forum.

Edit History

  • Dec 2017 – Guide created for Beta version of FPort
  • Feb 2019 – FPort is now supported in most Frsky receivers, instructions updated

48 thoughts on “How to Setup Frsky FPort

  1. Andrew

    I have an F7 board and I wired those 3 wires you have exactly like that. But I am not getting any telemetry at all. I have followed all the steps and everything else is working just fine.

    Reply
  2. Drayson76

    Why oh why is FRSKY shipping with old firmware. Why is there not an r-xsr version 2 with fport firmware already in place and no need using the uninverted solder dot that’s basically just paint and joint hasn’t held up yet, 12 so far and counting this year. Finally just said bye bye to f3 and f4s. Seriously now in past year there is now three different versions of the Taranis Lite ( LITE, LITE S, LITE PRO) But they can’t seem to update their receiver which has become hobby staple. Why don’t Chinese companies act right, it’s so frustrating.

    Reply
  3. Matthew Burton

    I’m a noob so this may sound silly but I wanting to use f Port I have a r-xsr and a HGLRC batman if I desolder my old receiver which is using uart1 I would solder + and – to those pads and where would I solder the fport wire to? Then would I have to go to CLI and use the serial RX commands? Can someone please help me? Thanks Matt

    Reply
    1. Oscar Post author

      Is that an F4 flight controller?
      If so, you need to find the “uninverted Smartport” signal on the R-XSR, and solder it to any spare UART (TX pin) on the FC.
      If it’s an F7, then you don’t need to worry about “uninverted signal”.

      Reply
  4. Roy

    Figure shows R9mm connected to inverted s.port, text says r9m is great because it comes with an univerted s.port. So why use the inverted?

    Reply
    1. Oscar Post author

      For F3/F7, it really doesn’t matter.
      For F4, it’s best to use the uninverted s.port.
      But when buying new RX, it’s better to go with R9MM because you won’t have to worry about it.

      Reply
  5. Heyachi

    Hey, thank you for this tutorial.

    Is there anyone having trouble binding R-XSR with QX-7 with the last firmware ??

    I’m trying to setup F.Port with an R-XSR and F405 Mamba. I did updated my R-XSR Firmware with F.Port version 180921. It seems I canno’t bind my receiver. (QX7 and R-XSR were flashed FCC).

    Reply
    1. Ranudar

      I managed to get Smart Port running on the R-XSR via the tiny solder pad. Sadly I destroyed the same pad when trying to improve the solder connection. I guess FPort should be possible to connect to the same tiny pad.

      Reply
      1. Jürgen Craig-Muller

        Got it to work with the R-XSR after long trial and error, soldered a cable to my tx1 pad on the FC and to the uninvertrd very small pad, it did not work first, only after putting in the CLI the commands that Oscar gave for a F3, F7 FC it worked. Yeah my FC only has 2 uarts, and I wanted to use telemetry and smart audio. Now I can have a audio low bat warning.
        Thanks Oscar
        Jurgen

  6. 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
  7. 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
  8. TweakRacer

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

    Reply
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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.

  17. 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 e-mail address will not be published. Required fields are marked *

Are you Robot? *

For prompt technical support, please use our forum IntoFPV.com. I check blog comments weekly.