Flash Frsky X4R-SB, D4R-II Receiver Firmware

In this article we will show you how to flash firmware on your Frsky receivers such as D4R-II, X4R-SB and XSR. You can get the most out of your hardware by upgrading RX firmware, there is also dedicated version designed for users that live in the EU, which we will explain why.

The same methods should also work on other D series and X series RX, such as D8R-II plus and X8R. Firmware updates from Frsky don’t cost anything and you may get some new features, or general improvements.

This guide is created by George Hanes.

Choosing Firmware (EU or Non-EU?)

  • If you live in the EU you should choose an EU version of the firmware. The reason for EU and non-EU versions is that non-EU versions are not compliant with ETSI EN 300 328 (EU RF laws, here is a more“user-friendly explanation)
  • If you are outside of the EU, go ahead and get the latest version, or the latest stable version.

So what is the real difference?

  • 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 FR 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
  • Compatibility, Non-EU Receivers (RX) should not bind with radio transmitter (TX) that has EU firmware

Let’s get started

We can flash firmware on the RX through the telemetry port since they are also serial ports. The ways we flash firmware on D Series and X series RX are different though because of the receiver hardware.

The D Series RX has normal serial port (TX and RX), so you can wire it directly to an USB FTDI adapter. However on the X Series RX, the telemetry port (as known as the Smart Port) is one single pin, and it’s bi-directional (half-duplex), so in fact you can use your Taranis as a programming tool to update the firmware on that.

For X Series Receiver (e.g. X4R-SB, XSR, X8R)

frsky-x4r-sb-receiver-rx

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.

What’s required

  • Mini USB cable
  • Taranis transmitter radio with OpenTX v2.1.x firmware
  • computer running Windows OS (with internet of course)
  • Some jumper wires

Summary

  • Download the firmware you want and a firmware for the radio to flash
  • Boot your Taranis TX into bootloader mode
  • Install drivers on your PC
  • Connect your receiver to the radio
  • Boot Taranis TX into maintenance mode
  • Flash your receiver from your radio
  • Reset your radio
  • Bind and fly

Steps

NOTE: The Taranis has to be the OEM firmware from Frsky-RC.com, only this firmware gives you the Flash External S.Port Device option. After flashing the RX, you can optionally switch back to firmware from Open-TX.org

Also make sure you flash the proper firmware (don’t confused Taranis Plus with Taranis).

First of all, download the firmware you want from Frsky’s website (assuming you are upgrading a Taranis X4r or x4r-SB)

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

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 so you need to install drivers first. 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 for now as you are not going to be using it, it should be the other drive in our case “TARANIS1_SD“.

flash-frsky-rx-firmware-taranis_mounted_drives

Check that you have “FIRMWARES” and “EEPROMS”, and “FIRMWARE” folders in there. If they are not there verify that you have the right drive opened.

Once you do go ahead and create a backup of all of those files and save it to your PC. The easiest way is to just copy and paste into a folder on your desktop. If you are sure you have the right drive open, but the folders are not there, go ahead and create them.

flash-frsky-rx-firmware-taranis folders

Make sure to verify you have downloaded the correct firmware for your receiver, by checking the readme file.

Once you have done that extract and copy the .frk file into your “FIRMWARE” folder. After that, unmount the drives (safely eject) and then unplug the USB cable.

Now you need to reboot the radio. After the radio turns on hold the menu button for a little over a second and find the page where you will backup your EEPROM and then hold the enter button for a little over a second. This will initiate the EEPROM backup. After the EEPROM has been backed up (you might want to check and verify this), turn your radio off.

Now press the two trims like earlier to open the bootloader mode again. This time however select the “write firmware” option. Choose the one that you downloaded (it probably ends with a “_rom.bin”).

Flash it. Once flashing finishes you will see a warning that says something like “Bad EEPROM”, or “bad EEPROM data”. Ignore this, as it is normal. Turn your radio off again, but this time don’t turn the radio back on just yet.

While your radio is off connect the receiver to the radio, you will probably will have to use one pin female to female jumpers or JST cable that came with the receiver, you will just have to move two of the wires around on one end.

From your X4R receiver, 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

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

Now it is time to turn your radio on, use the same two trims as before (Yaw and roll), but this time press them to the outside of the Taranis radio.The radio should boot into maintenance mode.

flash-frsky-rx-firmware-Trims_outward

Select the “Update Ext. SPort” option at the bottom of the list. Choose the firmware you wanted, and hit the “check mark” symbol, then confirm to start the update.

When the process finishes, Your X4R-SB firmware is now updated.

Update TX module firmware(Optional)

You can also update your built in transmitter module while we are here. Instead of selecting “Update Ext. SPort” you select “Update Int. XJT”. You don’t need to do it, but this is how if you decide to do so.

First make sure your radio is turned off, enter bootloader mode again (by pressing the two trims inward and while holding them that way, then press the power button).

Select the “Write Firmware” option. Select your original firmware (unless you want to take this opportunity to update your radio’s firmware as well, then select that, note that radio firmware is different from TX module firmware).

Hold the enter button to confirm if you are sure. If you have saved your original firmware to the “firmwares” folder you should see it, if you skipped that step previously, just plug the radio back into the PC and put it the “firmwares” folder.

When it is flashed you’ll get the EEPROM warning again, but don’t worry you get to ignore this warning like any other Windows user would. It will format the EEPROM. Now that that is done go ahead and restore your EEPROM data so that you don’t lose any of your original settings (bet you’re glad you saved that!).

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

Using a serial cable (if you don’t have a FTDI adapter)

If you don’t have a FTDI adapter, and your computer happens to have a DB9 serial port then you can try this work around.

flash-frsky-rx-firmware--PC-Serial_Pinout

RS232 (9 pin serial) Pinout:

 Pin 1 DCD -- unused
 Pin 2 RxD -- used
 Pin 3 TxD -- used
 Pin 4 DTR -- unused
 Pin 5 ground -- used
 Pin 6 DSR -- unused
 Pin 7 RTS -- unused
 Pin 8 CTS -- unused
 Pin 9 Power -- unused

Note that in serial Tx goes to Rx, otherwise you are sending to a port that is also sending (Kinda like when you and you wife get into an argument and are both yelling at the same time, and neither are listening)

FrSky’s P1 pinout:

 Pin 1 -- TxD )
 Pin 2 -- RxD
 Pin 3 -- 5v+ in
 Pin 4 -- 0v Ground

If you are making one of these from the end of a serial cable then this is the schematic you want.

flash-frsky-rx-firmware-d4r-ii-to-pc-serial-port-correct

Author: George Hanes

Join us as a guest writer and help move the hobby forward.

8 thoughts on “Flash Frsky X4R-SB, D4R-II Receiver Firmware

  1. 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
  2. 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
  3. 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: http://www.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
  4. 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 don't look at blog comments very often (maybe once or twice a week), so if you have any questions related to multirotor please post it on this forum IntoFPV.com... You're likely to get a response from me faster on there.