Flash Frsky Receiver Firmware: R9 Mini, R-XSR, XSR, X4R, XM+, D4R

I will show you how to flash Frsky receiver firmware on your R-XSR, R9 Mini, XSR, D4R-II, X4R-SB, XM+ and some other RX. Updating RX firmware is useful when you have the wrong firmware that prevents you from binding, and getting the improvements and bug fixes in the latest firmware.

The same methods described in this guide should also work on other D series and X series RX, such as the D8R-II Plus and X8R.

Why do we need to flash receiver firmware?

Firstly, updating firmware to keep your Frsky RX up to date with bug fixes and improvements. But beware that new firmware can sometimes introduce new bugs that break existing features unexpectedly. Therefore we don’t recommend messing with new firmware if everything is already working for you, unless you know what you are doing.

Secondly, there are 2 different types of firmware for Frsky RX and the transmitter RF module, they must have the same type of firmware, otherwise they won’t bind/work. The two types of firmware are:

  • Non-EU firmware (International)
  • EU LBT firmware

Note that your transmitter’s internal RF module firmware is not the same as your Taranis firmware. The RF module is an internal device that sits inside of your Taranis.

Think of it as your Taranis is in charged of the interface, while the RF module talks with your RX and they are running 2 separate firmware. For example, flashing firmware on your Taranis, will not affect your RF module, and vice versa.

Differences between EU and Non-EU firmware?

Originally there was only 1 firmware which is the International version. But later on the EU (LBT version was added to comply with regulations in the EU. LBT stands for “Listen Before Talk”)

All you need to know is that EU firmware won’t work with non-EU firmware, so if you are having problem binding RX to TX, it’s likely that your RX has the wrong firmware and need flashing.

What firmware do I have?

If you got your TX or RX from Chinese vendors like Banggood, Gearbest or Aliexpress, they will most likely come with international firmware.

If you are not sure, here is how to check what firmware you have on your Taranis.

The differences between these firmware in a more technical terms

  • Sensitivity: -90 dBm on EU version while the non-EU has -104dBm. Note that the reduced duty cycles, and software engineer magic supposedly makes the range the same. However if you are flying with something that might hinder your RF signal (like a carbon fiber frame), you might want to pay closer attention to antenna placement as your range will likely be lower on the EU version
  • Listen Before Talk (or broadcast) is now required by EU law

Flashing receiver firmware in a nutshell

X-Series Receivers (XSR, X4R-SB, X8R, etc)

We can flash firmware on these RX through the SmartPort telemetry port since it is a bi-directional serial port (aka half-duplex). You can even use your Taranis as a programming tool to update the firmware on that.

D-Series Receivers (D4R-II etc)

However, the ways we flash firmware on the D Series and X series RX are different due to the receiver hardware. (The telemetry port on the D series is not a bi-directional serial port)

Fortunately, the D Series RX do have a normal serial port (TX and RX), so you can wire it directly to an USB FTDI adapter.

R9 Mini, X4R-SB, XSR, R-XSR, X8R Receivers


This should work on any X-Series FrSky receiver (with an X at the beginning of the name, such as XSR and X8R), but this guide is focused on the X4R-SB. Flashing the new R-XSR is exactly the same as XSR.


Summary of the steps

  1. Download the firmware you want to flash
  2. Boot your Taranis TX into bootloader mode
  3. Connect Taranis to computer
  4. Connect your receiver to the radio
  5. Flash your receiver from your radio
  6. Bind and fly


  1. First of all, download the firmware you want from Frsky’s website. The folder should contain both the Non-EU and LBT(EU) .frk files.
  2. To start you are going to need to put your Taranis into bootloader mode. To do this, make sure your TX is swtiched off first, then press both of the lower trims (rudder and aileron) toward the inside of the transmitter.

While holding those two trims, now switch on the TX and it will turn into bootloader mode.


3. Now that you are in bootloader mode you need to connect your Taranis radio to your PC using the mini USB cable which connects into the back of your Taranis radio.


If you get a pop up window saying “installing device drivers”, it is probably your first time connecting your Taranis to the computer under bootloader mode. The driver installation should happen automatically, so wait until the little dialog box disappears or states that the drivers were successfully installed.


After the drivers are installed you will have two newly mounted drives (F and G drives in my case). Ignore the Taranis drive as you are not going to be using it, it should be the other drive in our case “TARANIS1_SD” (it might be called something else in your case, if you are not sure, just verify it has the same folder structure as shown in the next step)


Check if you have “FIRMWARES” folder in there, if not, create it. This is where we are going to drop our receiver firmware files. Extract and copy the .frk files in your “FIRMWARES” folder. After that, unmount the drives (safely eject) and then unplug the USB cable. Now turn off your Taranis.

flash-frsky-rx-firmware-taranis folders

4. While your radio is off connect the receiver to the pins located inside the Taranis’s external TX bay. You can use female to female jumpers to plug into the Taranis pins.


Most Frsky RX’s has an input voltage of 3.5V to 10V, so make sure you don’t damage your RX by powering it with voltage above 10V.

The VBAT pin is your battery voltage.

If your Taranis is powered by 3S battery (11.1V), you could fry your RX if it’s only rated for 10V max. In this case you might want to power your RX separately, e.g. by a 5V source or 2S LiPo.

Here is the connection between JR module bay and receiver. From your RX, ground goes to ground, 5V+ goes to VBAT, and Smart Port connects SPort, as shown in the following table:

X-Series RX Taranis TX module bay
GND GND (Ground)
Smart Port SPort

Make sure your servo cable has the correct wire order! Some cable that comes with most Frsky receivers are in the wrong order, some are correct, please check. Otherwise you can burn your receiver.

X4R-SB Connection to the Taranis X9D for firmware flashing


XSR Connection to the Taranis X9D for firmware flashing

Connection between the R-XSR and Taranis

R9 Mini to Taranis S.Port:

For those with a Taranis QX7, you need to use the “Smart Port” on the bottom of the radio, on the left of the SD Card slot. The pinout is different too, correct pin order is GND, +5V, S.Port going from left to right (SIG pin being closest to the SD Card slot). You can simply plug a servo cable into it.

5. Now Turn your radio back on as normal (make sure USB cable is not plugged in, and without pressing the trim buttons this time), hold down the Menu button for about 2 seconds, and scroll to a page that says “SD Card”. Scroll down to the folder where you placed the firmware files, select the file, and hold down the Enter button.

Warning for MAC OS users:

MAC sometimes generates an additional file next to your firmware file, which has the “_” (underscore) before the filename. For example, if the firmware file was called “abc.frk”, you might see “_abc.frk” in the same directory.

DO NOT select the one with undersocre e.g. “_abc.frk”, this will brick your RX. Instead only select the .frk file without the underscore symbol.

You should see the option “Flash external device”, select that, and the flashing process will begin. The receiver will be powered on, and start flashing. You will also see “Writing…” on the Taranis screen and it should finish within 2 mins.


6. When it’s done, your receiver will powered off, and you are okay to disconnect the wires, and you can now bind the RX with your TX.

XM, XM+ Flashing

Very similar to how we do it with the X series receivers above. You can flash it with the Taranis, but instead of connecting the “Antenna” Pin on the Taranis to Smart Port on the RX, you can connect it to the “SBUS” pin on the XM or XM+ receivers.

The rest of the procedures are the same.

D series Receiver (e.g. D4R-II, D8R-II Plus)


What’s required


  • Download RX Firmware
  • Bridge ch1 and ch2 pins
  • Connect Rx to PC
  • Use FrSky update tool
  • Bind and fly


To start out on this method you are going to need a USB-Serial adapter (aka FTDI adapter), which can make your target device talk to your computer. If you don’t have one, check if you computer has a DB9 serial port which also works (explained at the end of the article)

First of all, download the desired firmware from Frsky-rc.com and make sure you get the correct firmware for the receiver you are flashing.

Short channel 1 pin and channel 2 pin. This will force the receiver into bootloader mode when it powers up. Connect power to your receiver. I like to use an ESC or BEC coming off from a lipo.

After the download completes extract the zip file to a folder on your PC, run the exe file provided with the firmware.

Connection is between the D4R-II RX and FTDI is fairly straight forward.


For other D series receivers you should be able to find the TX/RX pins somewhere on the RX, for example on the D8R-II Plus:

flash-frsky-rx-firmware-d series P1 port


Then plug your receiver into serial or USB, wait a few seconds for the PC to recognize it. You should see a new COM port appearing, if nothing appeared you might have to close the frsky Update program and reopen it.

After selecting the new COM port, which is our RX, now select the .frk file that came in the firmware package, it should be the only one. Click to download. When the program finishes and goes to 100% you should now have an updated receiver!

Your D4R-II RX is now updated.

Edit History

  • May 2016 – Article created
  • July 2017 – Article updated for OpenTX 2.2, Added instructions for XM/XM+

74 thoughts on “Flash Frsky Receiver Firmware: R9 Mini, R-XSR, XSR, X4R, XM+, D4R

  1. Amenska

    John van Veggel, you just saved me so much pain and heartache. I was about to start pulling the pin connectors from the cable that the R-XSR comes with to swap them around into the “correct” order, then I stumbled across your comment. I had no idea there was a 3-pin connector in the battery compartment (Taranis X9D+ SE 2019)!!!
    Oscar, if you happen to read this, it might be beneficial to add a note somewhere in this page that if you have a Taranis X9D+ SE 2019, you can use the servo cable that comes with the R-XSR as-is (no need to change the order of the wires). Just a thought…

  2. John

    Hi, I have the D8R II Plus, how exactly do I connect to FTDI adapter and which pins need to be bridged? Thanks John

  3. Gary Frodsham

    John van Veggel thank you very much iv been pulling my hair out over this trying to use the other pins like all the videos say until i just noticed your comment, so tried it and worked,.. Thanks, your a life saver,

  4. Gary Frodsham

    Hi iv been trying to flash my frisky rxsr receiver with my Taranis Taranis X9D Plus SE 2019 but all it says when trying to flash is WAITING FOR XR

  5. Michael Dawson

    Hi Oscar,

    Thanks very much for the article. Before I go ahead and tempt fate with this RX firmware flash I was hoping to check what firmware i have currently on my XM+ receiver but I haven’t found any info on how to do this. Is this possible?

    1. Oscar Post author

      As far as i know, it’s not possible to check what firmware you have on the receiver. I normally just re-flash it to the desired firmware if I am not sure.

  6. John van Veggel

    Thanks for your great articles Oscar.
    Herewith an update with some “fresh” material.
    I just succesfully flashed RXSR with ACCESS, from Taranis X9D+SE2019. This Taranis has an S.port connection hidden in the battery compartment. The standard cable which comes with the RXSR is correctly configured, connect to that S.port, just make sure GND (black wire) is on the right when you plug it in (Vcc RED in the middle, Signal YELLOW on the left). Note that the receiver does not give any sign of life untill you trigger the flash, apparently this port and its power is only enabled when flash is triggered.
    Keep your articles coming Oscar (donation done ;)

  7. Robin

    I have an external XJT module which has 3 pins labelled Smartport, “+” and “-“.
    Assuming the voltage on the “+” pin is 5v, can these pins on the XJT module be connected to the receiver for flashing firmware?

  8. Anthony Clay

    I have successfully gotten 2 R-XSR’s installed and they work great with my qx7 but the XM plus did not go good,i might of flashed 2 firmware’s on one receiver or maybe mine was defective IDK. Im not sure which firmware to flash since there are old ones and new ones. I just got sent a new XM plus from RDQ’s so i cant screw this up. Which firmware do i write for the rssi to work and can you write more than one firmware on one receiver or is there a one time flash limit?

  9. Jelmer

    Hi Oscar,

    I just measured the xjt pins on my x9d se, and the upper pin is vbat, ground is second from bottom. No 5v output on others, so don’t know what to think about the differences in your schematics. Vbat was 7.6 volt (original battery). Also, you mentioned 5v and 2s lipo in one instruction, be careful about that, because with 2s your vbat will be 8.4 volt.

    1. Oscar Post author

      When I say 5V, i mean the V+ pin on the receiver. They normally take 5V from the flight controller, but they can actually take 2S battery as well, so feeding it the voltage from your 2S transmitter battery is fine.

  10. Benny

    In the latest OpenTX version 2.2.2 you can see in the flash menu a new position “Flash SPort”. Some guys say, you have to use this now, when you flash an R-XSR receiver with a Taranis Q X7 using the front socket, instead of “Flash ext. modul”.
    Is this true?

  11. Daniel

    Hello friend,

    I bought a betafpv v1.0 f4 brushless fc with frsky rx.

    How i can flash the global spi frsky rx to EU lbt?

    Can’t bind with my qx7 eu-lbt

  12. Jan Štěrba

    Hello, can anybody help me please? I am very newbie in the hobby, and I need to flash Frsky XM+ on my Hawk 5 to enable OSD RSSI, but I don’t have Taranis, I have Jumper T12. I have tried this: https://oscarliang.com/flash-frsky-rx-fc-passthrough/ but have some trouble, since I have F4 board and some guy in FB group told me, that it will be some problem with smart port and I should try to flash it thrue JR( or RJ). Can abydoy point me to the easiest way how flash it for newbie on the Emax M4 magnum AIO with Jumper T12 please?

    1. KILu

      You can easily flash your receiver via Jumper’s external port connector, just like in Taranis (because T12 is technically clone of Q7). Just select firmware file, then “Flash external device”.
      I’ve just flashed R9MM with flex fw via external port in T12 with official JumperTX 2.2.3 firmware. Interesting thing: I’ve initially swaped VCC with GND, thankfully nothing has burned.

  13. Keith Hertzog

    Thanks to you for a very helpful article.
    I am unable to find any information on flashing my receivers using my HOURS X10S with opentx.
    Can the x10s flash receivers. Tehre is an sport. I cant seem to make it work . There does not seem to be voltage applied to the sport when i select firmware and then flash sport.
    Thanks again

  14. John Roberts

    Anyone tried flashing the G8RX receiver a newish receiver that has the built in vario. Can’t get it to bind as the receiver is EU LBT and the Tranmitter is FCC. Firmware. Want to keep the transmitter FCC as works with all my other receivers.
    Very little info about it or videos explains how to flash it. The Frsky website has the two different Firmwares for it. Have tried many different ways with Frsky update adapters, nothing. No idea what pins should connect to what in the back of the transmitter. Lots of good info from Oscar on other receivers here but nothing on the G8RX. Look forward to any advice.

  15. Chris

    Trying to flash my rxsr via sport on x7 but get no error or flash it just goes back to the list of files!
    Tried first on 2.2 and now on 2.2.2 which actually has internal device external device and sport options .
    Reciever bound ok and will briefly flash the led but nothing more when trying to update it.
    Driving me nuts !
    Ps great work oscar

  16. melagodo

    Hi Oscar.
    You say “If your Taranis is powered by 3S battery (11.1V), you could fry your RX if it’s only rated for 10V max. In this case you might want to power your RX separately, e.g. by a 5V source or 2S LiPo.”

    Since i’ve lost many hours of troubleshooting, just wanted to say that I’ve not been able to flash the module with external power supply (in my case a 5v ftdi adapter).
    Once I bought a 2s lipo and connected to Taranis, flashing was successful at first attempt.
    I’ve asked on forums, and I’ve been told this is due to a timing issue (module has to be turned on right before flash starting).

    Just my 2 cents :)

  17. Unusual RC

    To make sure: I have a Tanaris QX7 and a X4R-SB receiver with supplied smart port cable.
    With that I do not have to cross wire the cable in order to flash the Rx, when using the smart port socket at the bottom of the Tx?

  18. Raymond Kerr

    I have a original X9D Taranis (NOT PLUS) I have updated the firmware and bootloader to the latest 2.2.1. I have an R-XSR receiver on the latest firmware from the frsky website. I can’t get the receiver to bind with the Taranis. I have successfully managed to bind the same receiver with a new Taranis SE with an older 2.2.0 firmware. I have ensured that both TX ad RX are on EU (LBT) firmware and I know the RX is working fine, just not with the OLD taranis radio.

    Any ideas ?

  19. Alex van Breda

    Kindly please assist. I have taranis X9D (non-eu X9D016932B01). I have firmware version opentx-taranis-2.0.20 on my radio.
    I have downloaded and saved a upgrade for X8R receiver but ony get the “delete” option when trying to flash to the rx – no sub menu with options to flash to external device etc.?
    My cable is correctly orientated for the s-port
    The downloaded file does have the extension .frk

    Thank you

  20. Koray

    What did I mess up now? Flashed the new firmware to the RXSR to fix the telemetry, and now it gets burning hot within 30 seconds and won’t talk to the quad. It lights up and is bound

  21. Larry

    Is there any other way to update xm plus after it already connected to the flight controller so it doesn’t have to be unsoldered and soldered again? They are so small and all that heat could damage those little boards! Mine is on old firmware and will not do telemetry in channel 16 so I figured it has the old firmware.

    1. Mike

      I am in the same situation. I am wondering if I can solder a pigtail to the the other side of the receiver for flashing – while leaving the wiring to the flight controller (BFF3) intact. Is there any risk of power from the Taranis affecting the FC?

  22. Andrew C.

    Thank you for this very useful article.

    For those using a QX7 on 3S power, I can confirm that the voltage supplied to the S.Port is 5V. I had was initially concerned that the full pack voltage may have been applied to the S.Port. However, a test measurement and an actual receiver flash proved this not to be the case.

    See also:


  23. Keith Burrage

    Really good tutorial, if only I had noticed the warning about Mac OS!! So now I have bricked my X4R SB, can it be recovered or do I have to renew it?

    1. Jesse

      Really need to put that warning BEFORE the part about flashing the firmware. Killed my R-XSR for the same reason as above.

  24. Nicholas

    I just got a micro quadcopter running Omnibus F4 Nano with Frsky XM+ receiver directly soldered. Currently the receiver does not seem to send RSSI on channel 16 so I am looking at updating the firmware on the receiver to enable this.

    My question is can I flash the firmware on the XM+ using a Taranis while it is still connected to an unpowered flight controller as I don’t want to desolder the receiver if it can be avoided?


      1. JP

        I thought about this as well, however I decided against this and dismantled my components as voltage will be supplied 7/11v+ from the controller I didn’t want to back feed any components and smoke anything. As this was a small Whoop Acro build it didn’t take me long. Worked really well tho. Good luck!

  25. Reinhard Plietsch

    great guideline, worked like a charm. Maybe worth a hint: Since you need the S.Port pin of the R-XSR to flash it, it is NOT a good idea to do what I did: Doing the S.Port hardware inversion mod first (by cutting the existing trace to pin 3) and THEN trying to flash update the R-XSR. Had to reconnect the cut trace with some squeezers :-)

    squeezers = tweezers :-)

  26. Rodrigo Larenas

    Hi Oscar!, I’m having hard time updating my XSR rx (wanna use LUA) , my Taranis X7 does have a S-port on the bottom, but when y tried to flash the RX alway got a messagge “FW update error bottom pin no resp”.

    Any ideas?

    Open Tx 2.2.0

    1. Sam

      Hi Rodrigo,
      Did you find a solution to this problem, I have the exact same problem trying to update a XM Plus Rx from International to EU-LBT firmware. Hope you found a solution you can share, since I’m really frustrated looking for answers but with no luck.

      OpenTx 2.2.3


      1. Manu


        FYI, I had the “FW update error bottom pin no resp” message when I badly wired the receiver to the radio…

        Hope it helps.

  27. Matthew W Morley

    I just tried this with my R-XSR and It started to flash from my X9D Plis. About halfway through the flash I got got white smoke and now it’s dead. Is there anything I can do. I checked everything. Connections were all correct. I’m using the stock battery (this RX is rated to upto 10 Volts).

  28. Jarret

    In part 5, you may want to remind users to normal start their Taranis, or unplug the USB connection to PC as the bootloader option isn’t used at this point.

  29. Mark Euro Eufemio

    I need some help.. after flashing two of my xsr.. now i cannot bind them to my taranis q x7.. 2 lights are on, no flash.. I dont know what to do next.. and i try to reflash them.. but my x7 having an error.. when trying to flash..

  30. Paxn

    Just fried my Receiver by flashing while powering the Taranis with a 3S Battery…
    PLEASE ADD TO YOUR TUTORIAL: Taranis must NOT be powered with more than 2S as this voltage is passed to the RX!!!

    1. Oscar Post author

      thanks for the warning man, sorry for you loss, I would’ve never realize it’s a problem as I am using stock battery.

  31. Jorge

    This did not work for me. When I use the smartport on the X7 nothing the xsr does not power up and when I try to flash it says error finding pins.

  32. Alex

    Good afternoon!
    I decided to buy the first quadrupter. I bought a set of Vantac Q100 and Taranis Q X7. I could not connect Taranis to the receiver (FrSky XM). I tried to reflash the receiver according to the instructions https://oscarliang.com/flash-frsky-rx-firmware/. Taranis wrote (FW update error, version request, failed). Now when the receiver is connected to the FC, only the red light is on it. Both in bind mode and in normal mode. I tried to use all the firmware from the FrSky website. The error is repeated. I tried to use the firmware from this topic –

    . Without changes. Help me please

  33. oliv

    My 50ct for binding QX7 to XSR (as it’s can be a pain in the a**). I’ve recently bought a non-US QX7 (2017/06), and an EU XSR.

    I first noticed these prerequisites (for me) to flash :

    – the smarport of the QX7 (near the SD card slot) must be used to flash RX firmware if openTX 2.2 newer than 2017/02/13 (backside pins won’t work : I had a 2017/02/23 version)

    – inverse : only the backside pins work with X7 Firmware (openTX 2.2) from 2017/02/13 (and maybe older ones)

    I’ve tried all firmwares from frSky site (EU/non-EU) for both the XSR and the QX7; impossible to bind RX and TX in non EU firmwares, here the only pair which worked for me (and permit to bind TX/RX) :

    – SD Card version 2.2V0006
    – FIRMWARE-X7_170213 (flash bootloader then reboot in bootloader mode to install it)
    – XJT_LBT_build151223
    – XSR_LBT_build151118.frk (flashed on XSR) *FIRST* *THEN* XSRLBT170619.frk (which binds).

    I followed these steps :
    – flash X7 firmware to 170213 : flash bootloader, reboot TX in bootloader mode then install it
    – install XJT_LBT_build151223 : flash on internal module then reboot
    – flash XSR_LBT_build151118.frk on external device (XSR) with backside pins
    – try to bind with error, but no more both green/red solid leds, I had instead to a quick flashing red one
    – flash XSRLBT170619.frk on external device (XSR) with backside pins
    – bind TX/RX normally : put TX in bind mode, boot XSR in bind mode, unplug the battery, exit bind mode on TX, then plug the battery

    Hope this helps, I wasted a while on that :-)

  34. NablaFPV

    Hi there, just wanted to thank you for the article.
    Managed to flash an xm+ from a Taranis QX7 (smart port near SDcard, +5V in the middle).

    It nows sends RSSI value on Channel 16 (AUX12 in BetaFlight), so I have RSSI on OSD with this non-telemetry receiver.

  35. Stefo

    If you are on Mac, pay attention not to flash the phantom files that start with _. from your taranis to your receiver, I’ve bricked 2 XM+ like that…

    1. gr000T

      Yeah, I just learned that lesson the hard way too. If you use the terminal, you can remove those files using dot_clean /Volumes//FIRMWARE

  36. Luca

    Hi i’m Luca and i live in EU. I have taranis plus and recently i bought 2 receivers from china. So.. these two receivers have the firmware NO EU. How can i do to flashing X4R with Eu firmware? Because not bind!

  37. fpvbrian

    the last bit wouldn’t work for me, the maintenance mode bit, what i had to do was turn radio on normally,long hold menu, go to the firmware folder, push enter on the firmware, flash external device and away it went and flashed the rx…happy days;)

  38. Qu4d

    Hi Oscar, thank you for your great explanations, as usual.
    But for sharing my experience with your other followers:
    if you want to use usb-to-serial adapter (ftdi chip), you need to invert rs232 signals (for both rx and tx).
    You can do it by flashing the chip easily (if you have a genuine FTDI chip, otherwise it could be difficult to flash), with the software ft_prog available here: ftdichip.com/Support/Utilities.htm#FT_PROG
    It can’t work without this inversion.
    And don’t forget to cancel inversion by flashing again.

    Have a good flight :)

  39. John Craven

    I think you need to check the last breadboard schematic at the end of the article.
    I am pretty sure the 5v and gnd wires from breadboard power rail that go down to the centre of the breadboard are reversed!

    1. George Hanes

      Yeah, LBT stands for Listen-Before-Talk which is the main difference between firmwares. It was done this way to be in compliance with EU laws.


Leave a Reply

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

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