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, 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
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

59 thoughts on “How to Setup Frsky FPort

  1. 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!!!

    Reply
    1. Oscar Post author

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

      Reply
  2. 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?

    Reply
  3. Stefan

    Hi
    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?

    Reply
  4. 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?

    Reply
  5. 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?

    Reply
  6. dukedblu

    Great!!

    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!

    Reply
    1. Oscar Post author

      it probably means your telemetry isn’t setup correctly.
      Would you mind posting on IntoFPV.com? 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.

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

    Reply
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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

  13. 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
  14. 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
  15. TweakRacer

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

    Reply
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. 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
  22. 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
  23. 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.

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