All about Frsky FPort (Advantages and How to Setup)

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


In order to enable FPort, you have to flash your receiver with the “FPort firmware”. Download firmware here:

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.


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

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

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


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, so now you can check RSSI in the OSD. On the bench it should show around 90 to 100. If it shows below 50, then you need to increase RSSI_Scale in the CLI.

As far as I know, no change is required with R-XSR, XSR etc. However, with R9MM receiver (a bug with the receiver), you do need to change the scale to 200% like this. But only do this if you have below 50 reading.

set rssi_scale = 200

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

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

set serialrx_halfduplex = ON

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

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

FPort V2 Update (Jun 2020)

FPort v1.0 was designed to simply combine SBUS and S.Port into one wire, and create communication between the receiver and flight controller.

The new FPort V2.0 is much more sophisticated, as it enables communications between the host device and multiple other devices, you can even update firmware to all the connected devices and configure them at the same time wirelessly from a radio with ACCESS protocol.

See this diagram explaining how FPort V1 and V2 work (with and without FC):

Edit History

  • Dec 2017 – Guide created for Beta version of FPort
  • Feb 2019 – FPort is now supported in most Frsky receivers, instructions updated
  • Jun 2020 – Added info about FPort 2.0

82 thoughts on “All about Frsky FPort (Advantages and How to Setup)



  2. porlock

    “For inverted S.Port signal, you should have “tlm_inverted” set to “off”, however for uninverted SmartPort, it should be set to “on”. ”

    That is confusing, if it turn off/on inverter circuit it should be opposite, can someone explain it to me ?

  3. David

    I just got the X-lite S with a R9M Lite Pro moduel and R9MM receiver. I was able to bind them, after getting some distance in between RX and TX but could not get any stick inputs running in Betaflight on the FPort. I am using a Kakute F7 AiO. Figured you have to set the module/sender to Fport (click that little box :-)). Tried all combinations and CLI inputs before and it did not work. Hope this helps some people.

  4. Goebish

    FIY the RSSI scaling bug is not specific the R9MM, I had to set rssi_scale = 200 with an R-XSR flashed with the latest 2019 ACCST v1 firmware (didn’t want to update my TX to ACCST v2 …).

    RSSI reading was fine on the radio, but divided by 2 in the OSD.

  5. Clive Galway

    Hi Oscar,
    After many many emails between myself and various FC vendors, I have finally found out some information that I feel would maybe be worth adding to your excellent FPort help pages
    Some F4 FCs are marketed as having both Inverted and Uninverted TX pads.
    However, just because a vendor markets an F4 FC as having an Inverted TX pad, **does not mean it will work without the uninversion hack**
    Apparently, there is such a thing as a one-way and two-way inverter, and being a bidirectional protocol, FPort needs a bidirectional inverter
    For example, the Diatone Mamba F411 25A AIO is one of these – confirmed by Diatone support, it only has a single directional inverter for the “Inverted TX1” pad, and as such that pad will not work with FPort

  6. Sebastián

    Hola tengo una matek f405 wing, y un receptor R9, de esos cuadrado grandote. No logro la telemetría, alguien lo tiene y me puede explicar como es la configuración y la conexión de los cables?

  7. Aaron

    Hey there,
    I got FPort to work without a problem on my Kakute F7 and R-XSR. Telemetry on my Receiver showed 110-120 dBm RSSI at a distance of about 1 Meter but Betaflight showed just 55% RSSI. So I had to use the scaling CLI commands on an R-XSR. I just wanted to add this, because the tutorial said that it´s mostly not needed for that receiver.
    Also thanks for all the great guides. They helped my when I were frustrated with my quads many many times :)

  8. Timothy O'Donnell

    If anyone is setyting this up in Inav and can’t get the RSSi value to work try this.
    Set up as above:
    Disable rssi channel in receiver tab.

    In CLI put in:
    set rssi_source = PROTOCOL
    set rssi_max = 50 set

    I also set on my F7 matek F722SE
    set serialrx_inverted=on
    set serialrx_halfduplex=on

    Then rediscover your sensors after a GPS fix (if using GPS) and RSSI works.

  9. YAH*FPV

    I have a F411 wing FC (TX1) connected to a r9 slim+(RX1[inverted s.port]) using f.port with Inav

    I’ve read over this guide as well as many others thoroughly. The strange thing for me is that setting serialrx_halfduplex = off kills my controls which is the only thing that works. Additionally in Inav setting smartport_uart_unidir = on also kills my controls. According to the troubleshooting guide the halfduplex setting should affect telemetry and not sbus and I would assume smartport_uart_unidir should also affect telemetry aka smartport. I don’t currently have the newest firmware installed.

  10. Elias From Sydney Australia

    If a receiver that is configured as F.Port accept a FRSky sensor that is connected normally to the same physical S.Port (now F.Port) work with telemetry I dont mind, even if I have to build an inverted circuit for it.

  11. Doug Loshbaugh

    Hi Oscar. I have a FullSpeed FSD F411 flight controller. Currently, SBUS from my receiver goes to SBUS on the flight controller, which really is RX1. If I switch receiver to F-PORT and connect it to TX1, does that free RX1 on the flight controller for some other use, e.g. softserial and SmartAudio? I guess the savings is originally, Smartport and SBUS require both RX1 and another port, e.g. TX1 set to softserial. Whereas switching to F-Port puts them both on TX1 and RX1 opens for something else.

    1. Oscar Post author

      I don’t think you can use RX1 for softserial or smartaudio even with softserial, as these all require the TX pin. But there is no harm in trying :)

  12. James Hamman

    Dear Oscar, thank you for this guide. I have a question re: the CLI command as noted :
    set serialrx_halfduplex = ON
    set serialrx_inverted = ON
    Is this input universally needed for all F7 boards to use Fport? Thank you. I’m having issues for Betaflight to recognize the Kakute F7 natively with it wired for Fport vs SBus. So I am assuming the CLI directive is the issue that is missing. I thought the F7 may be able to see it without problem or CLI intervention. Thank you for the clarification.
    Very Best Regards,

  13. Moe

    Hey Oscar, thanks for the great guide

    I wasn’t getting any stick inputs, just telemetry. And while diagnosing, i realized that my R-XSR Module was in the wrong mode (CPPM instead of SBUS). I must have switched the mode by accident while trying to bind it to the receiver (by pressing the boot button for 4 Seconds while turned on).
    Anyway, afterwards everything worked fine with your settings.

    Maybe you would like to add this to your Troubleshooting tips?

  14. Leo

    Thanks for the amazing guide. I tried getting F.port working with my SISKIN AOI and RXSR. I connected the univerted SPort from the RXSR pad to the Tx6 of the F4 controller. Flashed it with the EU Fport FW. And flashed the XJT module in my XQ7 with EU FW as well.
    BetaFlight config as it should be. Half_duplex on enables telemetry flow to the transmitter, but inversion on and off do not allow any controls reaching my copter. I cannot think of the reason why. Very annoying. Maybe someone here has an idea 🤷

  15. James

    Oscar you are very good at showing how things need to be set up! Any chance you will be doing an article on the x lite pro and the r9pro? I recently purchased these and had the radio working with fport on access firmware then nearly broke it trying to get the module to work with the radio

  16. Sean

    Hi Oscar. This hobby is great but i suck at config like this and everything seems to take twice as long for me. I really need you help!!!!! I have followed all the above but cant get fport working on the receiver tab.
    To confirm
    – Using frsky r xsr (wired normally and not on the small soldered pad)
    – Telemetry appearing back on my taranis X7
    – Using an F4 manba stack
    – Using TX1 pad on flight controller
    – Have set UART1 with serial RX
    – done every combination for duplex / rx inversion in the cli

    Please help me!!!

    1. Oscar Post author

      We need more info from you, please use our forum for troubleshooting? I don’t check comment too frequently.

  17. Michael Pilkerton

    Hey Oscar,
    I have everything wired up just like you do in the picture, and I am even using a kakute f7. My rx and tx are bound to each other and I am getting a telemetry signal, and the only reason I know that is because if I unplug the FC and the Rx loses power, I get the telm. lost from the Tx. The problem is I am seeing no input from the sticks in betaflight and I am getting rxloss in CLI. Any ideas for me, or am I looking at a DOA receiver?

  18. Stefan

    I have the Brain Radix FC. Everything working fine only the rssi show me always 99. Can you tell me what i have to do?

  19. Don Strasser

    Thanks for this post, it was very helpful getting my R9 slim + running on F.Port with a MATEKF411 and INAV 2.1.4. My only issue is that the RSSI appears to be half what is being reported on my Taranis. I tried using the “set rssi_scale = 200” CLI command, but it doesn’t appear to be supported in INAV (I get an unknown command error at the CLI command line). Is there another way to set the scaling in INAV?

  20. Stavros

    Why did you “waste” one of the UARTs’ TX for the 5V instead of using the 5V pad? Can the UART output as much current as the receiver needs? The choice of a UART for voltage just seems a bit odd to me, can you go into a bit more detail about why you chose it?

  21. dukedblu


    I followed everything step by step, and it works!
    however i get only 3 sensors on my taranis, RSSI,RxbT and another one ?

    I tried deleting all sensors and rediscover but no result

    on my receiver is the lates flex fw 20190201
    on my taranis 9d i run 2.2.3
    my fc is speedybee with fw 3.5.2

    Any Idea?

    Thanks a lot for all your manuals!

    1. Oscar Post author

      it probably means your telemetry isn’t setup correctly.
      Would you mind posting on We can try to help you troubleshoot there, sorry i don’t have time to check comments so it will be quicker for you to do this on the forum.

  22. Andrew

    Mamba f405 doesn’t have enough uarts have to choose what’s more important to you. Smartaudio, camera control or FPort telemetry. Diatone new stuff bottom barrel.

  23. 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.

  24. 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.

  25. 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

    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”.

  26. 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?

    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.

  27. 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).

    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.

      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

  28. 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.

    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.

  29. Stéphane MLC

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

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

    serial 2 64 115200 57600 0 115200
    set serialrx_provider = FPORT

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

  30. TweakRacer

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

  31. 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.

  32. 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?

    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

  33. 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..

    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

  34. 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.

  35. 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

  36. Daniel

    HI Oscar, documentation on 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.

  37. 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.

    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

  38. 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.

    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!

    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.

      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.

  39. 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.


Leave a Reply

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

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