Sunday, 10 January 2016

EU, non-EU/World and EU-LBT - module firmware demystified

[last updated 9 April 2017]

The latest ETSI directive EN 300 328 V1.8.1 has, I think it's fair to say, caused a certain amount of confusion amongst Taranis users. Many pilots are unsure whether they should upgrade their firmware, or how to do so. FrSky's fumbling firmware releases haven't helped matters, either.

The purpose of this post is to try and shed some light, and to answer common questions such as:

  • Do I need to upgrade my RF firmware?
  • How can I ensure compatibility between old and new equipment?
  • What are the implications for maximum range?
  • What is the upgrade procedure?
  • Can I continue to use my current version of OpenTx?

My thanks to my clubmate Matt Brett ('MattyB') for his RC Groups thread which has been an invaluable resource.

RF modules v. OpenTx

The new directive impacts the RF module firmware - that's the firmware which drives your transmitter's internal and external XJT modules, as well as your X-series receivers.

You may need to flash your modules if:
  • you are based in EU, and have devices manufactured before 2016.
  • you are based ouside the EU, and purchase your devices from EU suppliers.
Note that the RF firmware is distinct from the operating system firmware (OpenTx). The methods of flashing are different; in particular, RF modules cannot be flashed via Companion.

RF firmware overview

There are 3 versions (strictly 'branches') of the RF firmware, these being: 'EU', 'non-EU/World' and 'EU-LBT'. Each has a different impact on maximum range, D8 compatibility and ETSI compliance. It may sound obvious, but it's worth repeating: all your devices must have matching firmware - if you have EU-LBT in your transmitter, then you must also have EU-LBT in your receivers. Let's take a closer look at each version:

RF firmware: 'Non-EU/World/FCC'

Before Jan 2015, all systems were supplied with the same RF firmware. This version has come to be known as 'non-EU' or 'World' or 'FCC'. It's well tried and tested, however it is not compliant with new EU directive (that said, if your transmitter was originally supplied with non-EU/World, then you can legally continue to use it). From June 2016 new transmitters for EU markets may be locked against flashing this firmware.

RF firmware: 'EU'

Between Jan 2015 and Jan 2016, sets manufactured for the EU market were supplied with 'EU' firmware. This firmware complies with the directive, however a few users have experienced range issues. D8 mode was supported in an early variant, but support was later withdrawn. 'EU' is now deprecated in favour of 'EU-LBT'.

RF firmware: 'EU-LBT'

The latest EU-LBT firmware was released in January 2016. 'LBT' stands for 'listen before talk', an altogether different way of complying with the directive. EU-LBT offers improved range over the previous EU firmware. FrSky recommend that all European users flash their tx and rx's with EU-LBT. The current build of EU-LBT also includes support for D8 mode [reference]. However, support for D8 mode in future builds is not guaranteed. Note also that in order to use D8 mode, your version of OpenTx must offer the D8 option in the user interface (more about this later).

How to determine the RF firmware version

Unfortunately there is no quick way to determine the version of your RF firmware. However you can get a clue according to when/where your device was purchased:

Purchased in EU
Before January 2015: non-EU/World
Between Jan 2015 and Jan 2016: EU
After Jan 2016:  EU-LBT

Purchased outside EU
Any device purchased outside the EU will have non-EU/World

If you're still not sure, then flash your transmitter or receiver with a known version and see if it binds. Yes, I know it's crude... ;)

Choose an RF firmware policy

There are two options here:
  1. Stick with Non-EU/World for as long as possible. This is the conservative option. However, remember that receivers purchased after June 2016 in the EU may be locked to prevent flashing non-EU firmware, check with your supplier first.
  2. Change everything over to EU-LBT. The future-proof option. You should in any case do this if you current use the original EU firmware.

Flashing RF firmware using a transmitter

The easiest way to flash your RF modules is via your transmitter using 'Maintenance mode'. This is only possible with the following versions of OpenTx:
  • OpenTx 2.1
  • OpenTx 2.0 - custom build by Mike Blandford.
If flashing a receiver, a modified servo cable is needed to connect transmitter and receiver.

Flashing options for OpenTx 2.0

Stock versions of OpenTx version 2.0 don't have Maintenance mode, so more work is required to flash your RF modules. The options are:
  • Borrow a suitable transmitter (see above). This is the simplest method of flashing your receivers, but can't be used for your transmitter.
  • Upgrade your tx to OpenTx 2.1. Bear in mind that your EEPROM will be updated to a new format so it's a one way trip. Also telemetry works differently in 2.1.
    (edit 9 April 2017) This is the option that I recommend as 2.1 is a stable branch.
  • Flash your tx with Mike Blandford's custom OpenTx 2.0 build. This will give you Maintenance mode, without touching your EEPROM. After flashing your modules, you can either keep Mike's build, or you can restore your previous firmware, or flash a more recent 2.0 build - all with no risk to your precious EEPROM data.  You can download Mike's custom build from here. Note that the firmware is provided as a compressed .RAR file, if using Windows you will need WinRAR or 7-Zip to extract the files.

Obtaining documentation for flashing

OK, so now you're ready to flash your RF modules. The first thing is to ignore the instructions provided by FrSky, as these are terminally confusing! Also, the method of accessing maintenance mode depends on the version of OpenTx.
  • OpenTx 2.1: Use this excellent video here.
  • Open Tx 2.0 custom build by Mike Blandford: Mike Blandford's instructions are available in SportFlash.pdf however they are a little thin. I would recommend the instructions in this video, just ignore all references to ersky9x.

OpenTx Companion, the 'EU' build option, and D8 mode

OpenTx Companion offers a number of options to customise your version of OpenTx. Starting with versions 2.1 and 2.0.18, a new 'EU' build option has been introduced. In fact, the name is a little misleading: it simply omits the D8 option in OpenTx's Model Setup menu [reference].

If you're not sure, then leave the EU option un-ticked - the worst that can happen is that your system will not bind in D8 mode, because your module firmware doesn't support it.

The 'EU' build option in Companion

In closing

I hope this information has been useful in deciding whether and how to upgrade your module firmware for ETSI EN 300 v1.8.1 compliance. If you find any inaccuracies in this post, please let me know.

Useful links


Anonymous said...

Thanks allotfor the info :D

Unknown said...

Thanks, clear and well structured info!

Finn Krogvig said...

I really like your straightforward, no nonsense and clear info about the Taranis and OpenTx.
It's a goldmine for confused Taranis/OpenTX users.

Unknown said...

This clears up the questions decisively - well done Mike

RC Soar said...

Thanks all for feedback!

GlennJacobsen said...

Great job with this post, makes it easier to catch up on this whole EU and LBT-thing.

Thanks :)

Anonymous said...

Amazing compilation of information, too bad I cannot find a way to to determine the RF firmware version, just got a new QX7 and I'm a bit afraid to flash it without knowing what's inside (EU resident, bough it at a chinese website).

Many thanks

Unknown said...

Ahh, if only it could be that easy! I recently bought a used X9D with an X8R rx included. So I have no idea when and where bought new. It works perfectly and the supplied Rx binds faultlessly.
I then bought 2 x X4r and an S6R to bring all my models into line. The S6R and one of the X4rs are labelled EU LBT (I purchased these new with the intention of making everything compliant. None of these receivers would bind, they just sat there and glowered at me (both LEDs on constantly).
Various forum posts led me to believe this is a symptom of a firmware mismatch. No problem thought I (foolishly) I'll just flash everything up to EU LBT standard, upgrade to OpenTX 2.2 and away we go!
Well, I've done all that (left the original X8R well alone) And guess what? I'm back where I started! The X8R binds fine??? All the new RXs are still ignoring me. I've read your very thorough explanation and Can't see where I'm going wrong?

RC Soar said...

Saw your post on RCG. Probably something very simple, but need more - and more detailed - info about the state each component and the exact steps you took including the firmware files. Feel free to continue off-blog (email or PM me).

Unknown said...

Sorry Mike, don't know how to pm you on here. What is your username on RCG

RC Soar said...

RCG handle is "mikeshellim"