We are happy to bring you the release version of OpenTX 2.2.0, with support for the production version of the FrSky Horus radio and Taranis Q X7!

PLEASE NOTE the following important information before hastily jumping on it: Please back up your models and settings before upgrading so that you can go back to your previous version should you not like 2.2 or find issues that make it unsuitable for you. Use the “backup radio to file” companion feature for this to have an exact copy of what was on your radio.

  • As a new major release a new data format has been put in place, existing models and settings will be upgraded keeping things compatible as much as possible, but not everything can be converted. Only OpenTX 2.1 and later settings can be upgraded by the radio, if you currently run an even older firmware version you have to either go through 2.1 first before flashing 2.2, or do the conversion within companion. It is absolutely necessary to go through all your models after the upgrade, check they are operating properly and fix the potential issues before flying or applying motor power.

  • This is a .0 release. A lot of testing has been done by developers and beta testers, but inevitably some issues only pop up with large scale use and particular use cases, if you’re not very adverturous hold off for a few releases until things are well ironed out.

  • The manual has not yet updated to include all Horus documentation/OpenTX 2.2 changes, so get yourself a good coffee to wake up, and refer to the the great communities for help e.g. openrcforums here, RCGroups and threads like this one. You can pop in our chat room where other users and/or devs may be available.

  • Check during companion install that it installs itself in the correct directory, usually you want “Companion 2.2”. If you used 2.2 release candidates a bug may cause it to install itself in “Companion 2.1”, potentially overwriting your 2.1 install.

  • Companion supports reading and writing Horus firmware when the radio is powered off and then connected to USB, using dfu-util and the libusb drivers installed by Zadig, exactly like for the Taranis. See the “Flashing your Taranis Radio” section in this manual. Companion can back up existing firmware (see note below in known issues) including the stock FrSky one (save as .bin), and can flash the FrSky DFU bootloader so that no other tool and/or driver swapping is needed. You might need to disable the “Check hardware compatibility” checkbox in the flashing dialog.

  • SD card contents can be found here. Download the correct archive for your radio type, extract it to the root of an empty SD card and you’ll have all needed files. Please note that all existing OpenTX sound packs that where designed for 2.1 won’t work due to changes in the naming strategy, so you’ll likely want to use those that are included in this archive until popular 3rd-party packs are adapted.

  • OpenTX does not touch the internal flash of production Horus radios. Its contents do not need to be backed up and are not accessible in any way when OpenTX firmware is loaded.

  • There is no bootloader on Horus at this point. The SD card can be accessed while the radio is powered on, providing you selected the “massstorage” firmware option.. Selecting massstorage disables Joystick support (for all radio).

  • Due to changes introduces by Horus, image, sound, and script file names for ALL radio are restricted to 6 characters in most places.


  • Companion now offers assistance for model conversion from one radio type to another. The transferred models NEED to be completely checked and validation before being used, as some things like switches assignments may not get converted properly. The proper way to transfer models form one radio to the other is to: Select a profile for the destination radio, read the settings from the destination radio, open the source file or read the source radio, drag models onto the destination radio’s window, write destination radio.

  • FrSky X9E users: Previous version (2.1 or 2.2 before RC17) were reading additional toggle or 2pos switches incorrectly: those switches were toggling between middle (which should not exist for a 2pos/toggle) and either up or down (depending on how they are wired). This was generally not seen as an issue because Companion was not able to display/manage those and the functionality seemed ok, but it was a real issue. This has been corrected, and as a result, ALL USAGE OF ADDITIONAL 2POS and TOGGLE needs to be carrefully checked.

Known issues:

  • If you get an “Invalid Language” error when trying to download firmware after upgrading from 2.1 open the profile settings and reselect your radio type, even if it is already correct.
  • The progress bar in companion when reading firmware from a Horus is broken and will reach 100% at only 25% progress. Just wait, the window will close when the process is finished.

Download and install Companion and use it to retrieve and transfer the latest OpenTX firmware to your radio after configuring the proper radio type.

Horus production version and beta version use different hardware. Companion defaults to production hardware, for beta radios check the “pcbdev” firmware option in the profile settings.


Much improved and overhauled Companion software
  • New .otx file format
  • High DPI Display support
  • Show custom names for switches/knobs/channels/etc throughout user interface
  • Many performance and stability improvements
  • Improved Simulator integration
  • Fully re-worked “SD Sync” feature with options dialog, faster and reliable copying between any two folders
  • Chinese language support (Companion only)
Improved simulator
  • New startup options dialog for standalone Simulator to select radio profile, data file, SD path, etc. (also new command-line options)
  • New main user interface using docking sub-windows, improved radio simulator UI, and many improvements for other UI widgets
  • Added/improved full support for FrSky X9E, X7, & X12S radios, including custom radio “skins” for each
  • Improved debug output console, now with configurable filters
  • New back-end interface to firmware code, fixes many possible performance/timing issues, reduced CPU consumption, and enhances UI responsiveness
  • Custom hardware configurations loaded from the actual radio settings
Improved UI for 128x64 ARM based radios (X7 / Sky9X / 9X-PRO / AR9X)
  • Model backups now have date and time stamps
  • Virtual inputs
  • Support for communication over Sport, examples: S6R/S8R script, Crossfire and Betaflight configuration scripts
  • Allow adding/setting telemetry sensors from Lua scripts
  • Add support for generating/loading pre-complied Lua scripts (.luac) to improve memory consumption and loading times
  • Text and number alignment reviewed and fixed in many places. This may break layout of existing 2.1 scripts
  • SWR is no longer a telemetry value and can be accessed as RAS under analogs
  • X9E: hardware FPU has been enabled
  • mixersmon option is now always present (removed from option choice)
  • Significant improvement to FR translations, thanks to LapinFou
Radio protocols
  • Allow optional binding mode for X6R, X8R and XSR (“bindopts” firmware option, needs current XJT firmware on X9D+/X7D and receivers require beta firmware)
  • D16: Default to 16 channels output and display refresh rate
  • Support of DIY Multiprotocol Module
  • Support for latest TBS Crossfire protocol, including telemetry
  • Spektrum telemetry parser
  • FlySky AFHDS2A telemetry parser
  • “Reset Flight” special function now pops up the warnings and checklists that are enabled
  • Improved Mac OS X disk images
  • dfu-util and avrdude included in Mac OS X Companion app
  • SD Card version check to ensure correct SD Card content
  • Countless bug fixes and minor improvements
  • BMP folder renamed to IMAGES
  • FIRMWARES / EEPROMS folders renamed to FIRMWARE / EEPROM
  • Curve names shortened to 3 characters (was 6)
  • GVAR names shortened to 3 characters (was 6)
  • 64 Logical Switches (was 32)
  • tada.wav has been renamed to hello.wav

For more details, see here.

Changes since 2.2.0 RC18

  • FrSky X7: fix custom function screen when volume and adjust gvar is displayed [#4880]
  • FrSky Horus: Fix input line numbering, now correctly starting at 1 [#4966]
  • FrSky Horus: Fix crash when deleting a main view page [#4909]
  • FrSky Horus: Fix extended limits handling in Channel monitor widget [#4968]
  • FrSky Horus/lua: fix path buffer overflow when widget dir name exceeds max allowed length (13 chars) [#4839]
  • 9x: fix TELEMETREZ not compiling
  • Simulator: Revert logic switch names in Radio Outputs view to numbers-only
  • Companion: rework and improve SD Sync feature [#4837] [#4848]
  • Companion: Fix battery voltage and current calibration changes not saving
  • Companion: Fix custom failsafe no-pulse and hold options not being saved properly [#4904]
  • Companion: Fix crash/corruption when loading 9XR-Pro settings in some cases [#4961 #4959]
  • Companion: Match Logical switch names to radio (Lxx)

SDCard content for 2.2.0

Note: 2.2.0 uses 2.2v0010. Changes vs 2.2v0009:

  • Several fixes for Italian
  • FrSky X7: add S6R/S8R calibration tool
  • FrSky Horus: S6R/S8R Lua tools have been split (settings and calibration)
  • Change audio voices generation tool, they will now sound much better

OpenTX Companion 2.2.0 - Windows Installer If you get an error about “api-ms-win-crt-runtime-I1-1-0.dll missing” install MS VC++ runtime.

If you’re unable to run Companion 2.2. after install, try importing this registry fix to avoid companion importing settings from a previous version. Note this clears any existing Companion 2.2 settings.

OpenTX Companion 2.2.0 - Mac OS X Disk Image

OpenTX Companion 2.2.0 - Linux DEB Package 64-bit

OpenTX Companion 2.2.0 - Ubuntu PPA (Trusty, Xenial and Yakkety, i386 and amd64)


30 May 2017