We are pleased to offer EdgeTX "Queen Anne's Revenge" v2.12.0. Thank you for all the feedback and testing by you, the community (and partner manufacturers) which has allowed us to identify and squash both new and old bugs!! We simply cannot have done this without you! ๐ค ๐ป
Note
As with any firmware update, please ensure you back up your model and radio settings before updating, fully bench-test your models after updating, and report any issues you encounter.
For MacOS users, Companion is now only compiled for MacOS 12 and above. Stay with v2.10.5 or earlier if you need support for an older version of MacOS.
Migration Information
- If you have an old OpenTX Companion (
.otx) file you need to convert or open, you will need to use EdgeTX Companion v2.10 or earlier. - If you wish to upgrade from OpenTX 2.3 or EdgeTX 2.4/2.5, you must use either EdgeTX v2.8.x firmware or EdgeTX Companion v2.10.x.
See the EdgeTX Manual for more information.
Warning
If you are using a STM32 F2 based radio, EdgeTX v2.11 is the last release series to support these radios. Check this list or the Supported Radios list if you are unsure if this affects you. Because of this, EdgeTX v2.11 will continue to be supported alongside 2.12, 3.0, etc., with a focus on bug fixes.
Tip
Radios based on STM32H7 MCUs update differently to older radios. To update radios such as the Flysky PA01 & ST16, Jumper T15 Pro, RadioMaster TX15 and TX16S MK3, please follow the instructions in the EdgeTX Manual.
Highlights of this release include:
Support for several next gen STM32 H7 based radios. B&W screen radios get a model quick select option and source options for mixes are consistent with their color screen counterparts. Color screen radios get theme control of the quick menu, QR GPS code locator tool and a few more screen layout options. There are a lot of under the hood fixes and changes, as well as STM32F4 radios being generally faster to start than in 2.11. Companion has improvements to firmware flashing generally (in addition to the necessary added support for UF2 files), can download and install the ExpressLRS Lua tool as part of update checks, will preserve your calibration settings when writing old model and radio settings to the handset, and will also ensure your model notes are stored in your .etx file.
EdgeTX v2.12 is intended to be a stable firmware series for STM32 H7 radios which where added in 2.11 and the pre-release 3.0 which has been postponed as the new UI being worked on is not ready yet for prime time use. This is so you no longer have to use the nightly version or checking some manufacturer website to see if there are any updates. While the focus is for STM32H7 radios, it is suitable for anyone with a STM32F4 or STM32H7 handset (with one exception - the PA01 - there are some outstanding issues for this handset still which makes 2.11 the better choice for now).
New Handsets (since 2.11.0)
- FlySky ST16
- FlySky PA01
- FlySky PL18U
- Jumper T15 Pro (#6592)
- RadioMaster TX15 (#6484)
- RadioMaster TX16S MK3 (#7016)
๐ณ Black & White Screen Radio
๐ Features
- preview color on customisable switch LED when editing the color (#6716)
- make source selection consistent with color screen radios (#6685)
- add 'Model quick select' option (#6688)
๐ Bug Fixes
- cannot edit colors for customizable switch LEDs (#7106)
- cannot select channel for override Special Function (#7052)
๐งน Chores
๐จ Color Screen Radio
๐ Features
- show ambient light sensor on analog debug pages (#7030)
- add theme colors for quick menu (#6799)
- move model notes to model setup group in quick menu (#6737)
- add 4x2 and 6x1 main view layouts (#6660)
- delay load the built in widgets to improve responsiveness (#6480)
- spectrum analyzer peak hold (#6451)
- GPS QR code locator tool (#6431)
- extra glyphs for logical switches and curves, bolder icons (#2047)
- add fixed color set to the color picker (#6182)
๐ Bug Fixes
- top bar widgets may not be shown (#7174)
- main view trims and sliders may be created twice (#7149)
- built in widgets may not update when widget settings are changed (#7135)
- quick menu does not close when screen tapped outside quick menu area (#7124)
- rename 6x1 layout for consistency and add to Companion (#7055)
- key shortcuts should not be active on 'Keys' debug page (#7011)
- subtrim value on Outputs page not updated when copying all trims to sub trims (#6998)
- pressing a key may cause unnecessary page reload (#6996)
- simulator may crash or freeze when RF module is set to MPM (#6954)
- audio does not play for switch and throttle warnings (#6934)
- radio may crash if model yaml file does not contain any screen definitions (#6916)
- deleting last screen may not update the UI and corrupt model yaml file (#6887)
- ensure backlight ON & OFF sliders always visible (#6865)
- top level quick menu items not dimmed when sub menu selected (#6845)
- rotary encoder may not work after editing a telemetry sensor (#6852)
- radio may crash when using key shortcuts (#6832)
- new model may not load radio info and date/time widgets (#6825)
- UI setup widgets page crashes (#6824)
- UI quick menu may show invalid screens (#6817)
- full screen dialog may crash (#6806)
- simulator may crash on some setup pages (#6804)
- rotary encoder may not work in setup menus (#6801)
- memory leaks in UI code (#6794)
- model YAML not updated when screens are added or removed (#6780)
- focus outline clipped on the color bars when editing a color (#6741)
- add quick menu key mapping for PA01 and ST16 (#6734)
- remove unnecessary scroll bars from theme editor (#6740)
- theme preview layout not correct on some radios (#6731)
- radio yaml file may not be parsed correctly on H7 radios (#6725)
- top bar buttons overlap close button when editing a theme color (#6727)
- preview may not work when editing customisable switch colors in radio setup (#6714)
- color picker UI issue with fixed color set (#6709)
- quick menu showing logical switch button when logical switches not enabled (#6711)
- input curve preview not updating when 'Side' value changed (#6675)
- channel bars overlap close button on mix and output edit pages (#6665)
- popup warning may block UI and key input (#6648)
- quick menu may crash after using USB SD mode (#6662)
- source picker may show invalid switches (#6590)
๐จ Refactoring
- UI layout logic to better handle different screen sizes and orientations (#6134)
๐งน Chores
- use static memory buffer for LVGL (#6922)
- leave compressed bitmap data in flash memory (#6921)
- update font files (#6632)
- remove legacy color definitions (#6204)
- use dynamic memory allocation for screen & widget data (#6782)
๐ฎ All Radios Generally
๐ Features
- Flysky Gimbal 2.0 Sync Sampling Support (#5869)
- calibration now lets you configure stick inversion (useful if you have modded your gimbals) (#6394)
STM32F4
- use generic init system on F4 targets (start up faster!!) (#6183)
- re-enable pre-fetch, instruction and data cache (#6979)
- limit CRSF external module speed to 3.75Mbps (#6923)
STM32H7
๐ Bug Fixes
- range for V2 value may be incorrect for some logical switches (#7158)
- potential crash when using multi protocol module. (#7039)
- global variable value and range may not be correct (#7009)
- apps / tools list may show duplicate entries (#6703)
- incorrect conversion of custom switch settings in older YAML files (#6696)
- default customizable switches to be like classic 6POS (#6604)
- crossfire temperature sensor unit (#6602)
- check for errors when saving screenshots, invert on inverted B&W, and write valid BMPs on color F4 (#6935)
- don't override protocol defined distance and precision definitions (#6994)
- EM when selecting External RF mode PPM (#6909)
- make sure debug build bootloader always handles USB (#6900)
- FR translation not compiling (#6854)
- custom function switch initialisation should only add SW1-SW6 to group 1 (#6681)
- configure default switch warning for customizable switches (#6636)
- pushCS should not be a GF (#6571)
- firmware size in UF2 bootloader after flashing (#6542)
- review Jumper VREF values (#6285)
- CLI stack display (#6222)
- disable gyro in USB storage mode (#6917)
- generated yaml parser files may be incorrect (#6805)
- incorrect tilde character in logical switch 'a~x' function (#6798)
- telemetry sensors may show incorrect units (#6652)
- do not show Onebit on unsupported handsets (#6611)
- use correct flash size instead of 2MB (#6562)
- UF2 - prevent being unable to flash when corrupted firmware present (#6814)
๐จ Refactoring
- switch handling to better support customisable switches (#6095)
- unified battery and RTC voltage (#6065)
๐งน Chores
- update German ๐ฉ๐ช translations (#7122, #7123)
- preserve external COMMON_OPTIONS for non-Ninja builds (#7041)
- refresh MPM defs to 1.3.4.31 (#6515)
- common led driver (#6927)
- update Chinese (Simplified) ๐จ๐ณ and Chinese (Traditional) ๐น๐ผ translations (#6619, #6850)
- enhance CRSF parsing script (#6785)
- add vector source images for radio images, update some 800x480 images (#6646)
- only use nano lib when required (#6655)
- improve translation string management (#6502)
- update Italian translations ๐ฎ๐น (#6584)
- update SE ๐ธ๐ช translations (#6348, #6582, #6928)
- validate
fw.jsonsyntax and target order (#6533) - use Ninja for Win cpn and improve Python support (#6455)
- remove Qt and SDL2 from radio unit tests (#6452)
- remove
libfoxfrom ubuntu setup scripts (#6450) - cleanup GVAR code (#6332)
- update to LVGL 8.4 (#5038)
- translation housekeeping
- update Russian translation (#6559)
- update Hebrew ๐ฎ๐ฑ translation (#6770, #7173)
- update Danish ๐ฉ๐ฐ translations (#7078, #7092)
- pre prefix for non-release builds (#6596)
- separate DSMP and DSM2, cleanup code, add DSMP status display and Enable AETR option (#6932)
- autodetect IMU, add support for SC7U22 (#7191)
๐ป Companion
๐ Features
- add "use saved settings" option to application and profiles settings (#6999)
- add Express LRS script to update options (#6974)
- make it possible to use same scale in Log Viewer graph (#6818)
- flashing add profile check option (#6680)
- preserve current calibration when writing models and settings to radio (#6722)
- model notes and checklist files packaged with model files (#6578)
- improve flashing messages (#6588)
- enable Companion simulator to switch UI language at runtime (#6510)
๐ Bug Fixes
- topbar zones count and initialisation (#7147)
- simulator crash if attempts to play bye.wav on exit (#7085)
- range check initial GV own value (#6972)
- add validation check after pasting models (#6966)
- logical switch global variable unit and precision (#6906)
- show correct icon on Linux when using Gnome (#6837)
- paste models crashing on Windows (#6892)
- crash when creating a new model on Windows (#6869)
- log viewer chart times (#6739)
- radio settings initial voice language (#6693)
- profile radio settings management and use (#6654)
- missing Scrl Up' and 'Scrl Dn' buttons for PA01 & ST16 simulators (#6673)
- uf2 firmware checks (#6641)
- support IMU for TX15 (#6627)
- mode strings for surface radios (#6507)
- simulator colours (#6497)
- bundle MSVC++ redist with win64 installer (#6603)
- add dfu-util and libusb to windows build (#6516)
- win 64 installer to bundle sdl2.dll (#6508)
- windows installer support DLLs (#6461)
๐งน Chores
- remove magic numbers and align values with firmware (#7102)
- add warning message to global variables settings edit tab (#7008)
- new profile language from operating system (#6697)
- new models status icons (#6699)
- increase the number of profiles that can be created (#6672)
- move global variables from flight/drive modes tab to own tab (#6624)
- set default for CFS to mimic 6POS (#6607)
- refactor firmware flashing to use edgetx rs_dfu (#6521)
- build for Windows with Visual Studio (#6476)
- remove SKY9X/9XRPRO (#6410)
- upgrade to Ubuntu 22.04 and Qt 6.9.0 (#5986)
๐ Lua API
Generally
- allow Lua tools to be contained entirely within a folder (#6448)
๐จ Color Screen Radio
Features
- improvements to Lua API (#6846)
- extend Lua API to allow changes to choice values, widget settings title (#7152)
๐ Bug Fixes
- add error handling for Lua LVGL object creation (#7215)
- widget Lua 'update' function may give unexpected error (#7119)
- play startup 'hello' audio before Lua widgets (#7096)
- widget background function is called when a one time script is running (#7058)
- Lua widgets may not update when quick menu is open (#6967)
- back button may not be visible on Lua script 'page' (#6956)
- radio Lua override settings for customisable switches not saved to yaml file (#6955)
- Lua scripts do not see selected language when using ALL_LANGS build (#6937)
- navigation buttons are not place correctly in Lua 'page' (#6890)
- file picker may not work in Lua scripts (#6828)
- switch picker for Lua scripts may show incorrect switch names (#6390)
๐ณ Black & White Screen Radio
๐ Features
- add getSwitchInfo for detecting customisable switches and switch type (#6859)
- add getStickMode function (#6470)
๐ฆ Miscellaneous
CRSF / ELRS
- assign GPS Alt unique name rather than share Baro Alt (#6995)
Debug
Other
RadioMaster GX12
๐ Features
- add safety timer for port expander (#6325)
๐ Bug Fixes
- customisable switch startup/shutdown led animation (#7120)
- switch warning screen not detecting switch movement (#7121)
- periodically read IO expander in mixer (#7105)
- some customisable switches (SA/SD) set to NONE when updating (#7101)
- custom function switch LED state may be incorrect (#6763)
- use PCA95xx reset pin in case of read issues (#6358)
RadioMaster TX15
๐ Features
- allow for internal GPS (#6962)
- support BT and serial gimbal (#6628)
- enable PXX2 (FrSky ACCESS) support on TX15/TX16MK3 (#7189)
๐ Bug Fixes
- wrong power led colors (#6792)
- headphone detection (#6686)
- more error recovery for PCA95xx (#6585)
- 3POS not working for SE/SF (#6572)
HelloRadio v14
๐ Bug Fixes
- SA/SD LED init (#6338)
Full Changelog: v2.11.5...v2.12.0
Known Limitations and Issues
- Wireless Model Trainer and CRSF/ELRS - if using the Multi Protocol Module (MPM) as a wireless trainer in conjunction with CRSF/ELRS, do not go above 250 Hz, otherwise the MPM wireless trainer will be dropped. 250 Hz or below is stable.
- Companion has had some substantial changes made to backend profile management and settings code via #6654 as well as a few other things in #6877 and #6892, so please ensure you double check everything is being read and written correctly when you first read and write profiles with this version of Companion, and generally when manipulating, copy and pasting models, etc, just in case anything snuck through.
UI/UX behavioral changes and/or new capabilities:
- quick/main menu looks slightly different, due to the reversion of the EdgeTX 3.0 UI
- quick/main menu is now themeable - you can configure the foreground (icon/label) and background colours (#6799)
- model notes, when present, are shown as a tab in the model setup area
- heli options, when enabled, are shown as a button at the bottom of the model setup page rather than as a tab
- STM32F4: the UART speed for external CRSF modules has been limited to 3.75Mbps due to recommendation of the ExpressLRS developers (#6923)
Supported radios
The full list of supported radios and their support status can be viewed here on the EdgeTX website.
Installation Guide
https://manual.edgetx.org/edgetx-user-manual/installing-and-updating-edgetx
Flash firmware via Chrome based browser
https://buddy.edgetx.org/#/flash?version=v2.12.0
Language and Custom builds
Custom prebuilt firmware is no longer available. However, the CloudBuild option in EdgeTX is here to allow you to build your own firmware, with just a few clicks. Additionally, EdgeTX Companion now also has some support for CloudBuild, and will automatically fetch firmware for a supported language when you use the "Update components" option. But you can still build your own firmware online following this guide, request a specific build at TODO or ask on Discord for someone to build one for you.
Contributors
Thank you to the following contributors who made this release possible!
- @3djc
- @adelton
- @agnauck
- @Allain18
- @Doncuppjr
- @drung0418
- @elecpower
- @elektro-NIK
- @fpenard
- @frank26080115
- @frankiearzu
- @gagarinlg
- @gismo2004
- @Guilhem23
- @helloradiosky
- @hexfet
- @HThuren
- @ikkemaniac
- @kobakirill
- @LucaOverflow
- @lodriguez
- @mha1
- @mhotar
- @MRC3742
- @mshonak
- @Pancronos
- @ParkerEde
- @pfeerick
- @philmoz
- @raphaelcoeffic
- @richardclli
- @robustini
- @rotorman
- @siyeongjang
- @smagellan
- @sneone
- @stefan73
- @ulfhedlund
- @varajan
- @wimalopaan
- @zandorsp
- @zyren