Flash Frsky Receiver Firmware – XSR, X4R, XM+, D4R

In this article we will show you how to flash/update firmware on your Frsky receivers such as D4R-II, X4R-SB, XSR and XM+. This is useful when you have mismatched firmware that prevents you from binding, or you might simply want to update to the latest firmware version.

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, you might want to keep your Frsky RX firmware up to date for bug fixes and improvements. But note that new firmware can sometimes 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, because there are 2 different firmwares for Frsky receivers. Your transmitter RF module and receiver must have the same firmware, otherwise they won’t bind/work. The two firmwares 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 firmwares. For example, flashing firmware on your Taranis, will not affect your RF module. Your RF module will need to be flashed separately.

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.

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.

Here are the technical explanation in case you are interested:

  • 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 Broadcast (or Talk) 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.

X4R-SB, 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.

Requirement

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

Steps

  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.

flash-frsky-rx-firmware-Trims_inward

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.

flash-frsky-rx-firmware-Taranis_USB

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

flash-frsky-rx-firmware-x4r-xsr-d4r-ii-Driver_Update

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)

flash-frsky-rx-firmware-taranis_mounted_drives

Check if you have “FIRMWARES” foleder in there, if not, create it. This is where we are going to drop our receiver firmware in. Extract and copy the .frk files into your “FIRMWARE” folder. After that, unmount the drives (safely eject) and then unplug the USB cable. 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.

Here is the connection for the X9D Plus. From your RX, ground goes to ground, 5V+ goes to battery, and Smart Port connects Antenna pin, as shown in the following table:

X-Series RX Taranis TX module bay
PPM
+6V
VCC Battery +
GND GND (Ground)
Smart Port Antenna

flash-frsky-rx-firmware-Taranis_module_bay

Connection example for the X4R-SB.

flash-frsky-rx-firmware-x4r-sb-taranis-connection

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

5. Now Turn your radio back on, 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.

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 screen and it will finish in about 2 mins.

6. When it’s done, your receiver will powered off, and you are okay to disconnect the wires, and it’s ready to bind to 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)

FrSky-D4R-II-Receiver-PPM-RSSI-quadcopter-Multirotor

What’s required

Summary

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

Steps

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.

flash-frsky-rx-firmware-d4r-ii-ftdi-adapter-serial-connection_invert

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+

 

14 thoughts on “Flash Frsky Receiver Firmware – XSR, X4R, XM+, D4R

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

    rcgroups.com/forums/showthread.php?2802471-Do-NOT-flash-your-FrSky-XM-or-it-will-stop-working%21
    . Without changes. Help me please

    Reply
  2. oliv

    Hi.
    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 :-)

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

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

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

    Reply
  6. 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;)

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

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

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

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