Académique Documents
Professionnel Documents
Culture Documents
0UserGuide
UserGuideby
Authors
,for
OpenTX2.0
lastupdated2015.01.21withreferencetoOpenTX2.0.15.
Commercialuseforbiddenwithoutexplicitauthorizationbythe
Authors
andtranslators.
OpenTX2.0UserGuide
OpenTXversioncycle
Importantchangesin2.0frompreviousversions
TheFrSkyTaranisradio
Whatyou'llfindinyourpackage
AnoverviewoftheFrSkyTaranisfeatures
TheTaranishardware
TheTurnigy9XRProRadio
Whatyou'llfindinyourpackage
AnoverviewofTurnigy9XRProfeatures
TheTurnigy9XRProhardware
OpenTX2.0Softwareoverview
Buttonnavigation
FrSkyTaranis
Otherplatforms
Mainviews
Telemetryview
Radiogeneralsettings
SDbrowser
TRAINER
VERSION
Diagnostics
HARDWARE
CALIBRATION
Modelmenus
MODELSETUP
HELISETUP
FLIGHTMODES
INPUTS
1
MIXER
MixerFunctions
SERVOS
TrimstoOffsets"function
CURVES
GLOBALVARIABLES
LOGICALSWITCHES
CUSTOMFUNCTIONS
Telemetry
LUAScripts
ModelPersistentLuaScripts
OnetimerunLuaScripts
LuaScriptsFolderStructure
LuaScriptsDocumentation
HowtouseLuafields
Templates(removeorreferencecompanionwizard/luawizard)
Firststeps
Settingupamodel
OpenTXbasics
Everythingaboutthemixerscreen
Servosscreen
Inputsscreen
Modelsetupguidelines
Advancedfeatures
Flightmodes
Telemetryvalues
Audio
Globalvariables
Afewinteractionexamples
IntroductiontoOpenTXcompanion
Basicconcepts
SettingupOpenTXcompanionfortheTaranis
Simulatingtheradio
UpdatingthefirmwareofyourTransmitter
TXOffmethod
Installingthedriver(forWindowsonly)
Installingtheflashingutility(forMacOSandLinux)
Downloadingandflashingthefirmware
BootloaderMethodUpdateFirmwareandBootloaderviaSDCard
TipsusingOpenTX
Usercan'tconnecttotheTransmitterviaUSBusingOpenTXCompanion
DifferencesifupdatingwiththeBootloaderorusingdfuuti
UseoftheEDGEcommandwhichreplacesHshortandHlong
WhatisInputsandthedifferencebetween"[I]Source"andSource"inmixes
Howtochangethesplashscreen
UseSubtrimstofixmechanicallinkageissues
Trims>Subtrims
InstantTrim
TheMixlinesisessentiallyamathpad
OpenTXSound
Settingup
2
RatesandExponential
4channelfixedwingaircraft
Flaperons
KnifeEdge(Aileron/Elevator)Mix
SequenceforRetraction/Extension
MultiEngines
ThrottlecutforElectricPoweredAircraft
ThrottlecutforInternalCombustionengines
BuddyBox/trainer
HardwareModifications
TaranisChangefromMode1toMode2(andviceversa)
TaranisSHSFswitchswapPatssolderlessmethod(goodforRevAandRevB)
TaranisUpdatinginternalXJTmodulefirmware
TaranisRemoveclicksonvolumechanges
TaranisUpdatingSpeaker&EnhanceSoundperformance
TaranisAddHapticMotor
Resources
Authors
Translators
Acknowledgementofcontribution
References
OpenTXversioncycle
One of OpenTX strengths compared to common radio firmwares is that it is highly dynamic and in
constant evolution. While brand name radio manufacturers will typically offer a very limitednumberof
improvementsand new functionstoagivenmodelthroughitslifecyclebeforerequiring the purchaseofa
new device to get further capabilities, a radio running OpenTX may be eligible for much more
comprehensive updates that can pretty much make itappear likeawholenewradio. The downside to
this is that unlike the former example where the user will always see the same device until he
purchasesanother,herethings maychange drastically from amajor versionto another. Itistherefore
very importantnottojustblindlyupgradefirmwarewhenoneisavailable,buttocheckprecisely whathas
been changed and how it can influence your setups. Upgrading to thenext major versiondoes mean
thoroughlycheckingsetups,unlearningoldwaysofdoingthings,andlearningnewones.
Versioningschemesarethefollowing:
Old scheme, pre2.0: Applies to OpenTX firmware that was developed using Google Code
managementtools,andwhere versionnumbers wererevision numbers.The last releaseunder
this schemeis 2940.companion9xwas a separateprojectwith relatively loose ties, anditslast
version is 1.52. Thismeansthat ifyouareusingpre2.0firmware, you must use companion9x
1.52asaPCsidecompanion.Themanualforpre2.0versionsisavailable
here
.
New scheme starting from 2.0: Both projects have been merged together on the github
managementplatform, andthussharethesameversionnumbers e.g.2.x.y,which mustbeused
together. xcorresponds to amajorversion,whichintroducesfeaturechangessignificantenough
to require a break in compatibility of models and in usage/documentation. y corresponds to
minorversionsi.e.smallbugfixesandfeaturechangeswithinthesamemajorversion.
Under the new scheme, amajor version ofOpenTX thuscomes completewithitsfirmware, companion,
and documentation. Upgrades between major versions is not automatic, but requires a separate
download of the corresponding OpenTX companion so as not to force the feature break on users (a
versionofcompaniononlyoffersupgradeswithinitsmajorversion).
Amajor version is considered stable for generaluseonce it has gone through enoughminorversions
for all important bugs to beironedout,and for features to have been refined basedon user feedback.
Until then, users willing to test or benefit from new features have to realise they are acting as beta
testers,they may notfinddocumentationfor everything theyseeinthefirmwareand/ormay haveto rely
on community feedback, and more importantly features may be added or removed, behavior or
functionality of any given feature may change between minor versions, sometimes without any other
noticethanachangelogentry.
As anexample, at the timeofthiswriting (2014.09.27) OpenTX2.0.12isthelatestminorrevision ofthe
2.0 version. Itis not stableyetasthisdocumentation isnt finished,and acoupleofsmallfeatureswill
still make theirwayintoit. Once theyare added, a reasonableamount oftime has passed withoutany
reports of important bugs and the documentation is closed, then 2.0 will be declared stable and
recommended. At that point people who want the new features should beable to upgradesafely, and
finddocumentation for all features. Others whodont want change arewelcome to stayontheprevious
stableversionofthefirmware(2940).
In parallel, the OpenTX team will be starting work on version 2.1. It willinitiallyonly bedistributedas
nightly builds intended only for developers andvery daring betatesters(i.e. ifyoudont find them, you
probablyshouldntusethem).Onceitsnottoobroken anymore,linkswillbepostedtothegeneral public
for broader alpha feedback (bench testing only). After positive feedback,when it isdeemedsafefor
flying major version 2.1.0 will be released generally as a separate product (no automatic upgrades
offered), and the cycle starts over. This will be beta again,i.e. nodocs,things might change, etcas
explainedearlier. Aftermaybeafewmonthsandadozenminorversions2.1should reachstablestatus
with documentation etc, and thingswillstart over with 2.2. Users of2940or 2.0will chooseatthis point
whethertoswitchto2.1ornot,etc.
The OpenTX team will continue maintaining at least thelateststable version with regard toanymajor
bug that may be found, so anybody not wanting the latest and greatest with the associated break in
functionalityshouldnotbeforcedtoupgradeifaminorissuethataffectsthem.
Please note that manufacturersupplied releases (e.g. what you will have on your radio when you
purchase a Taranis orTaranisPlus,v1.1.02 respopentxx9dp2.0.9)areexcludedfromthiscycle. The
Taranis as supplied by FrSky is intended to beusedasastandalone product,withoutcompanionbeing
an advertised orsupportedfeature.Basically,evenif the baseis the same the software assupplied by
FrSky should be considered completely independent, and mayor maynot work like releases from the
OpenTX team. Switching firmware to anything that is not suppliedbyFrSkyis tobe done onyourown
responsibility, and may come with surprises. So please think it through before proceeding, and check
everythingafterwards.
Importantchangesin2.0frompreviousversions
Now that the basics are laid out, if you are upgrading from pre2.0 versions of OpenTX, please take
notes of the important warnings and general usage differences that can be foundin
thisdocument
.If
yourestartingoffwithoutpriorexperience,thenthebelowinformationalreadyappliesto2.0.
TheFrSkyTaranisradio
The FrSky Taranis is a groundbreaking radio because it's the first time a renowned playerinthe R/C
industry and the creators of an opensource radiocontrolfirmware collaborate closelytoimproveboth
4
the hardware and software sides of a product, and come up with an opensource radio targeting the
mainstream market. This means that while the Taranis is a low cost radio, it is free of the usual
"marketingdriven" limitations that most manufacturers place on their offerings, and as such offers
featuresthatmatchandevenexceedthoseofthehighestendradiosintheindustry.
It isalso futureproof, as both teamsare always theretorespondto questions andsuggestions.Things
can evolve quickly to follow the needs of the various users! And should you havesome programming
experience theentire source codeof thefirmware isavailable for you to playwith andchangetoyour
liking.
Whatyou'llfindinyourpackage
Analuminiumcase(optionalonnewersets)
Aradio!
A6cellNiMHbatterypack
Apowersupplythatconnectstotheradio'schargeport
Aniceneckstrap
Dependingonthechosencombo,anX8Rreceiver
AnoverviewoftheFrSkyTaranisfeatures
Large212*64backlitLCDscreen
Quadballbearinggimbalswithhighqualitypotentiometers
Numerousinputcontrols(4sticks,4trims,2sliders,2pots,8switches),allfreelyassignable
60modelmemories
32logicalchannels
Internal telemetryenabled RFmodule capableoftransmittingup to 16channels, with arefresh
rate of 9msforup to 8 channels and 18msformore.Supportsthe existing D8protocol(useable
withallDtypeandVxRIIreceivers)aswellasthenewD16andLR12modes.
JRcompatible external RF module slot (no 6V supply) supporting transmission of up to 16
channels (depending on module) in various common protocols (PXX for FrSky modules and
PPM for 3rdparty modules). Supportfor serial DSM2forDIYSpektrummodulesisalsopresent
(seethe
9xmodguide
fordetails).
Mappingofthetransmitted channels is free, so once anexternalmoduleisaddedyouhavethe
choice of eithercreating a redundantsystem where thesamechannelsaretransmitted viaboth
internalandexternal RF, transmittingupto32independentchannelssimultaneously,oranything
inbetween.
5
Internal RF (and external RF when an FrSky XJT module is fitted) supports receiver lock (X
receivers only) and allows configuring failsafe convenientlyfromtheradiowith3 modes:Hold,
Stoppulses,Custompositions (only available withXseries receivers,D andVIIseriesuse the
usualreceiverbuttonpress).
Telemetrywith3 customisable screens and fully configurablespeechannouncements,supports
existing receivers and sensors as well as new Smart Port sensors. Configurable metric or
imperial units. Integrated audiovariometer (sensorrequired onthemodel).Dataloggingcanbe
enabledonthesuppliedmicroSDcard.
Selectablestickmode(14),totallyfreeoutputchannelassignment.
2timers,valuescanbestoredwhentheradioispoweredoff
64mixers
9flightmodes
16customcurveswith317pointseach,freelydefinablexcoordinates
32logicalswitches
StandardJRtype 3.5mm trainerjack(PPMsignalontip, groundonsleeve,compatible withboth
mono and stereo plugs, ringunused ifpresent), capableof receiving up to8channelsasinput,
and sending up to 16 channels when configured as output. Master/slave mode and signal
parametersareconvenientlystoredseparatelyforeachmodel.
OpenTX companion Windows/Mac/Linux software to save, edit and share your models and
settingsaswellassimulateyourmodelsetup
USBconnectionforfirmwareupgrades,microSDcardandOpenTXcompanionaccess
Stickscanbecalibratedbytheenduser
Multiple language support: English, French, Italian, German, Swedish, Spanish, Portuguese,
Czech, and maybe yoursifyoucontribute withyourowntranslationfile!(Radiocomes inEnglish
language,reflashingisneededtochangelanguage)
Open source communitydriven firmware, so unlike with major manufacturers if you need a
special function or have good improvement suggestions just raise your voice, and don't be
surprised if it's implementeda couple of dayslater!Visit
http://www.openrcforums.com tomeet
thedevelopers!
TheTaranishardware
Theradiohasarelativelystandarddesignandcontrollayout,namely:
2 sticks and their associated trims, labelled in the software as Thr, Rud, Ele, Ail and TrmT,
TrmR, TrmE, TrmA respectively. Thesticktoname mapping matches the selectedstickmode.
Trims are freely assignable (e.g. for crosstrimming), and can also be used as independent
controls and as general purpose switches (in this case they are referred to as tRl, tRr, tEu,
tEd,...i.e.Ruddertrimleft/right,Elevatortrimup/downetc).
2adjustmentpots,S1andS2
2lateralsliders,LSandRS
63positionswitches(SASE,SG)
12positionswitch(SF)
1momentaryswitch(SH)
PLEASE NOTE: The radio has an integrated NiMH charge circuitry designed to charge the
supplied6cellbattery.
Do not connect a smart chargertothe charge plug. It shouldonly be supplied with 12V
DC,polarityhoweverdoesn'tmatter.
Do not use the charge plug if you have replaced the battery with a different type
(chemistryorcellcount).
The gimbals have adjustable length and tension, and each of the vertical axes is fitted with a spring
disable featureas wellas aratchetandbrake.Thismeansthat thereis noneedtoswappartstochange
modes,andthatifyouwanttoyoucanhaveeitherbothornoneoftheverticalaxesspringloaded.
Ontheinside,thegimbalshave3differenttypesofscrews:
Yaxisratchetand/or"smoothbraking"actionstrengths(blue)
Yaxisspringdisable,screwitintodisablespring(green)
XandYspringtension(red),screwinformoretension,outerisYofcourse.
TheTurnigy9XRProRadio
Whatyou'llfindinyourpackage
TODO
AnoverviewofTurnigy9XRProfeatures
TODO
TheTurnigy9XRProhardware
TODO
OpenTX2.0Softwareoverview
Now might be the time to put the batteryon charge, so thatafterreading this sectionyou can directly
haveagoatputtingwhatyoulearnedinpractice!
Buttonnavigation
FrSkyTaranis
The Taranis has 6 input keys: astandard setof +//ENTER/EXIT,plus2contextual MENU and PAGE
keys.
On the main views,thePAGEkeywillswitchbetweenthe different viewsdescribedinthe nextsection.A
LONGpressof the PAGEkeywillbringup the telemetrydisplay.A SHORT pressoftheMENUkeywill
call the modelmenu, whileaLONGpress willcall the radiosettingsmenu.Inthose2menus, aSHORT
pressofthePAGEkey goes to the nextpage,whileaLONGpressgoesbacktothepreviousone.EXIT
goes back to the main views. In all model menu pages a longpressof the MENUkey will bring up a
channel monitortoallowquicklycheckingtheinfluence ofa changeinsettingson theoutputs.Ifamodel
notesfileispresent,itcanbecalledinthesameway.
The navigationina menu issimple: The +/ keyswillnavigateup/down betweeneditablefields,orlines
offieldsdependingonthescreen.
ENTER will enter the line of fields when applicable, then edit mode. Ineditmode,+/ will change the
value, ENTER or EXIT will validate the input and return to navigation. EXIT always goes backtothe
previousnavigationlevel.
Ineditmode,wehavefour2keyshortcutsavailable:
+/together:Invertvalue
/ENTER:Setvalueto100
EXIT/PAGE:Setvalueto100
MENU/PAGE:Setvalueto0
Otherplatforms
TODO
Mainviews
We have3mainviews showingthesamebasic informationinthetoppartanddifferentinputs/outputson
the lower part. On the mainviewsalongpressoftheENTERkeybringsupamenuwhereyoucanreset
the timers, telemetry data(min/max values, altitude,GPShome...),allof those,bringupastatisticsview
(throttle graph, timers), show the developer credits, and show model notes/checklist if present. As
mentionedabove,ashortpressofthePAGEkeyswitchesviews.
The title bar includes radio battery voltage, receiver signal strength (for FrSky telemetrycapable
receivers), main onboard voltage (canbe receiver battery,flight battery,or anything else dependingon
sensors the "Voltage" parameter in the telemetry settings), status icons (USB connected, trainer port
mode,logginginprogress),audiovolumeandtime.
10
The other "always present" items are model name, flight mode, and trim/pot positions. The logo isof
course customisable, you'll be able to load your model's photo there! See
this thread for a great
collectionofmodelsmadebythecommunity.
The first view liststhephysicalswitchstates inthebottom leftzone,andthe2timers(whenenabled)on
theright.
The thirdshows again the physical switches ontheleft,and the states of the32 logicalswitchesonthe
right.A dashmeanstheLSis unused, anempty rectanglemeanstheswitchisused andcurrentlyOFF,
afullrectanglethatitisusedandcurrentlyON.
The last view is a channel monitor showingtheservooutputs for all 32channels (+/change page). If
channel names are defined on the SERVOS page, they will show uphereinsteadof the numbers for
convenience.
11
Telemetryview
A LONG press of the PAGE key from any of the mainviews brings upthe telemetry views.The PAGE
and+/ keyswill thencyclebetweenthepower statusscreen(voltage,current,power orA1/A2 ifnotset,
cell voltages from an FLVS01 sensor if connected), the min/max and GPS coordinatesscreen, and if
definedfromone tothreecustomsscreensthatcanholdupto12itemseach, configuredinthetelemetry
setupmenu.If present, any Luatelemetry scriptsfortheselectedmodelwillbeadded tothepagecycle.
The display order is defined by the importance of configured screens: First any Lua screens, then
builtincustomtelemetryscreens,thenthe2defaultones.
12
Radiogeneralsettings
ALONGpressoftheMENUkeybringsupthemostlyselfexplanatoryradiosetupmenu:
Date/Time: To be set, they serve as info but also togivea correcttimestampto filesand logs
savedbytheradio.
Battery range: range of the graphical radio battery meter on the main views. To be set
accordinglywiththebatterytypeyouuse(2slipohere).
Sound settings: Mode, Master volume, individual volumes ofallmixed sources (Beeps,sound
files,backgroundmusic),beepdurationandpitch.
Variometer settings:PitchatZero defines the toneforthelow thresholdofaclimb,PitchatMax
defines the tone af max speed climb, Repeat at Zero is the repetition rate of the beeps at
minimumclimb.
Hapticsettings: Available onlyon radiosequippedwitha vibrationfeedbackmotor(TaranisPlus
and 9XR Pro out of the box,other platformsif the optionalmodule isinstalledand the haptic
optionisselectedinthefirmwareoptions).Settingsaresimilartobeeps.
Contrast:Screencontrastsetting.
13
Alarms > Sound off: if "SoundMode"is "Quiet", the radio will not even soundwarningslike a
lowbattery.Thisalarmwillremindyouofthatwhenturningtheradioon.
Inactivityalarmwillremindyouifyouhaveforgottentoturntheradiooff.
Backlight>Mode:If set to Keys,Controls orBoth,thebacklightwillturnonwhenastick/switch
ismovedand/orakeyispressed,forthedurationsetbelow.
Backlight>Alarm:Backlightwillflashwhenanalarmsounds.
Backlight>Color: Only present onTaranisPlus,allowssetting thedesiredshadebetweenblue
andwhite.
Splashscreen: OnTaranis the splashwillalways beshown as the memory takessometimeto
load.Thesettingdefineshowmuchlongeryouwantittoshowafterthat.
GPS time zone is there to show you the correct timewhena GPS ispresent,and coordinate
formatletsyouadjustdisplayformattoyourliking.
Country code: Must match your geographical location to keep RF transmission parameters
withinregulatoryrequirements.
Voice language:Allows you tochoosethelanguage of the voiceannouncements.Notethatthe
listcontains allsupportedlanguages,butyoualsoneed toensureavoicepackforthatlanguage
hasbeenloadedontotheSDcard(inasubfolderoftheSOUNDSdirectory).
Units:Allowschoosingbetweenmetricandimperialunitsfortelemetryvalues.
FAI mode (if the "FAI choice"option is selectedin OpenTX companion):Disablesalltelemetry
displays other than RSSI and voltage to comply withcontestregulations. Thisis oneway,i.e.
when you turn iton with thismenu optionit can'tbedisabledanymore,youneedtoconnect the
radiotothePCand use OpenTXcompanion toturnitoffagain (topreventcheating).Thisallows
youtocome to the field,doyourchecks/testflightswithtelemetry,and turntherestricted mode
onbeforethebeginningofthecontestontheradioitself.
Play delay:If oneuses voiceannouncements onthepositions ofa 3position switch, thisdelay
defines how long the switch has to stay on the middle positionbeforeitsassociatedsound is
played.It allows moving the switch from one endto theother withoutthe middlepositionsound
beingplayed.
Defaultchannelorder:Definestheorderofthe4defaultmixersthatareinsertedonchannels14
when creating a new model. Setthis to your preference. Theycanofcoursealways bemoved
later,thisisjustatimesavingoption.
Mode: Thisis your stick mode, e.g. Mode1for throttleand aileron ontherightstick,Mode 2for
throttleandrudderontheleftstick.
SDbrowser
ASHORTpressofthePAGEkeybringsuptheSDcardbrowserpage:
ThisallowsyoutobrowsetheSDcardcontents.
On each file orfolder,pressingENTER will bringup acontextualmenu with some basicfile operations
(copy/delete),aswellasothersdependingonthefiletype.
Foldersareorganisedassuch:
BMPfolder:Thisiswhereyoushouldplacethe64x32,4bitgrayscale.bmpfilesthatyouwantto
use as model logos. Filenames must be 10 chars long or less (not including extension). A
collection of files is available
here
.Placingthecursorover avalid fileinthis folderwillshowiton
the right side of the screen, and in the contextual menu you will find an entry to assign the
selectedimagetothecurrentmodel.
EEPROMS folder: Stores full EEPROM backups made on the Version page, which can
subsequently be restored from within the Bootloader, or opened in OpenTX Companion
(ARMbasedplatformsonly).
FIRMWARES folder: Storeany firmware files you may want to loadontheradiofromwithinthe
bootloadere.g.onthefieldinhere.
14
LOGS folder: Thisis where you willfind telemetry logsif enabled. Fileswillbe created withthe
samename as the model they were savedfrom, withthedateappended. Onelogfileiscreated
perdayforeachmodel.
MODELS folder: Model files saved by the "Archive model" command of the model selection
screen willbe placedhere.Similarly,modelsyouwant toreload using the"Restoremodel"ofthe
samepageneedtobeplacedtherebeforehand.
SCRIPTSfolder:ContainsvarioussubfoldersforthedifferenttypesofLuascripts(Taranisonly).
WIZARD:FortheNewModelWizard,available
here
FUNCTIONS: For any scripts that should be available to execute via the Lua Script
SpecialFunction
MIXES: For scriptsthatoutputvalues intendedtobeusedinthemixer,andareselected
on the Custom Scriptsmodel setuppage. Requires the lua optiontobe selectedin
thefirmware.
<modelname>/telemX.lua: Allows defining up to 8 lua custom telemetry scripts per
model. Please note that any spaces in the model name must be replaced by
underscores(_)inthefoldername.
SOUNDSfolder:This iswhere voice packs need to beplaced. ZIPfileswiththestandardvoice
packs can be downloaded from within OpenTX companion, or
here
. Extractthe ZIP filetothe
root of the SD card, and it will create the necessary subdirectories (e.g. SOUNDS/en for the
Englishpack). Any file you want to have availableforthe"PlayTrack"customfunction needsto
be placedwithin the language's directory as well. Inthis folder, the contextualmenu includesa
previewfunction.
On a valid 2.0 orlater firmware file(.bin) you will get anoption to upgradethebootloader with
theoneinthefile(ARMbasedplatformsonly).
On a text file (.txt), you will get a View Text entry to view the contents. Useful to display
remindersonthefield.
Lua onetime scripts (.lua) can be run. Note that the browser does not make a difference
between script types, so it is possible to execute a telemetry script, but doing so might give
errorsorunexpectedresults.
The microSD card can be formatted by selecting the relevant option in the menu that appears when
pressingMENULONG.Aconfirmationwillberequired.
TRAINER
ASHORTpressofthePAGEkeycallsthetrainersettingspage:
This page allows you to configurethetrainerfunction for "master" use (make suretheTrainer mode in
model settings is settoMaster). Foreach ofthe4mainfunctionsyouwill beable tosetthemode(OFF,
+=forAdd,:=forReplace),ratioandinputchannel.
Startbysettingthe modeforeachfunction(the"standard"wayisReplacei.e.whenthetrainerfunctionis
activated the functionis fully transferred tothestudent, Add allows bothmasterandstudenttoactupon
the function together). Then select the source channel accordingly to the brand/model of the student
radio, and set the ratio to 100% for now. Now ensure the student radio is connected and recognised
(moving the sticksofthestudent radio should change the 4 numbers atthebottomof thescreen)make
sure all its trims are neutral, all its sticks arecentered(includingthrottle).SelecttheCALfieldandpress
ENTERtwice.Thenumbersshouldnowbe0.0orveryclose.
15
VERSION
ThisscreenallowsyoutoseetheversionofyourcurrentlyloadedOpenTXfirmware.
Whenreportingabug,pleasebesuretoincludetherevisionnumberyouseeontheVERSline.
ALONG press of the ENTER key onthispagewillcreatea fullmemorybackupontotheSDcard,which
youwillfindintheEEPROMSfoldernamedwiththedate/timeitwasmade.
Diagnostics
Thenext2pagesaretheswitch andanalogdiagnostics,they will showyouwhatthefirmwarereadsfrom
the radio's keys and potentiometers. This is the first place to go to if you run into issues with badly
responding sticks / pots / switches. If things are wrong here (inconsistent stick centeringor endpoint
readings, flickeringvalue,...)thenyoucanbesure theproblemishardwarerelatedandnotdueto wrong
modelsetup.
TheAnalogpagealsofeaturesthebatterycalibrationsetting. Itshouldbe correctoutofthebox,butifnot
move the cursor to the field, and adjust it so that the displayed value matches the voltage you can
measureonthebatteryterminalswithavoltmeter.
HARDWARE
This screen allows you to tell the OpenTX firmware about some aspects of your radios hardware
configuration. On the Taranis, these choices include the type ofcontrol youinstalledon the S1/S2/S3
16
S1/2/3 can be either a standard pot, a pot without detent, or a multipos switch such as the
6position rotary switch sold by FrSky.If it isset as a standardpot, the middlepositionwillbe
ignored during calibration. If it is setas Pot with detent,then the center position matters and is
stored during the neutral calibration phase. If it is set to multipos switch, the calibration
procedure will recognisethesepositionsandequalisetheirspacingover thefullcontrolthrow,as
well as create virtual switches named Sxy that correspond to position yof control x andare
availableanywhereaswitchselectionispossible.
CALIBRATION
This istheplacewhere youcancalibrate sticksandpots.Follow the onscreeninstructions,andnotethat
whenaskedto centerthesticksthis includesthethrottlestickandthe2sliders,aswellasS1and/orS2if
youhaveselectedthemtobePotswithdetentontheHARDWAREtab.
Modelmenus
A SHORT press of the MENU key from the main views brings up the model selection screen. There
modelscanbe selected, deleted,backed upandrestoredto/formSDcardusingthemenubroughtupby
aLONGpressontheENTERkey.Theycanalsobecopiedormoved(oneSHORTpressonENTERkey
highlights the line, +/ create and place a copy of the model on the desired slot, while two SHORT
pressescreateadottedoutlinewhere+/simplymovetheselectedmodeltoanotherslot.)
17
MODELSETUP
ASHORTpressofthePAGEkeybringsupthebasicmodelsetuppage:
Trim step sets the precision of trimclicks. Exponential means veryfinestepsclose to the trim
center,butlargeronesthefartheryougetfromcenter.
Throttle reverse: Ensurescorrectoperationof throttlebasedtimersandfunctionsforpeoplewho
likehavingfullthrottlewiththestickdown.
Throttle source defines what triggerstheTHxfunctionsof thetimers.It'scommonto setittothe
throttlechannelinsteadofthestick,sothatthrottlecutorothermodifiersaretakenintoaccount.
Throttle trimidleonly: IC engine mode, where trimonly affectstheidlepart ofthethrowwithout
touchingthefullthrottlepoint.
Preflight checks:A groupof safety features thattake effect when powering up the radio and/or
loadingamodelfromthemodellist.
Display checklist: If a text file with the same name as the model is placed in the
MODELS directory on the SD card, the radio will recognise it as model notes. If this
optionischecked,thefilewillbedisplayedautomatically.
Throttlestate:Willwarnyouifthethrottlestickisnotatidle.
Switch positions: Defines whether the radio requests the switches to be inpredefined
positions. To set them, arrange your switches the way you like, and press ENTER
LONGon the<] field.Thewarningcanbeenabled/disabledforeachswitchindividually
byscrolling to itand pressing ENTER. If nopositionis displayedattherightofaswitch
name,warningisdisabledforthatswitch.
Pot positions: Same for analog controls. When enabled there are 2 modes for this,
Auto and Man. Auto will automatically store the pots positions when the radio is
turned off or anothermodel isloaded, while Man requires you to pressENTERLONG
on the labelofeach pot you want to store a new position for.Againeachindividual pot
canbeeitherincludedornotinthecheck,pressENTERonthelabeltotoggle.
Centerbeep:Makesabeepwhentheselectedcontrol(s)passthecenterpoint.
InternalRF:
Mode:TransmissionmodeoftheinternalRFmodule(OFF,D16,D8,LR12).
Channel range: Choiceof whichoftheradio'sinternalchannelsareactuallytransmitted
overtheair.
Receiver no (D16/ LR12only): defines the behavior of the receiver lock function.This
numberissenttothereceiver,whichwillonlyrespondtothenumberitwas boundto.By
default this is the number of the model's slot when it is created. It can however be
changedmanually, and will not changeif amodel is moved orcopied.Ifmanualsetting
or a copy/move operation results in 2 or more models on the radio having the same
number,awarning popup willshowup.Itisthenuptotheusertodetermineifthisisthe
desiredbehaviorornotandchangeifrequired.
Bind andrangecheckfields get activated by a press ofthe ENTER key.The radio will
beep every few seconds to confirm. Range check will display a popup withtheRSSI
valuetoevaluatehowreceptionqualityisbehaving.
Failsafe mode (D16 / LR12 only): Allows choosing between simply holding the last
received positions, turning off pulses (like old PPM MHz receivers), or moving the
servos to custom predefined positions. For custom positions a SET field will call the
failsafe settings page, where the position canbe definedseparatelyfor each channel.
Select the desired channel, pressENTERtogetineditmode,movethecontroltothe
desired position, and press ENTER to save. In D8 mode this field is hidden, failsafe
needstobesetonthereceiverasdescribedinthereceiver'smanual.
ExternalRF:
Module type: PPM for generic modules, XJT(sameoperationmodes asabove), DSM
for Spektrumhackmodules made using
theseinstructions
.NotethattheOrangeDSM
andSpektrumDM9modulesbothneedPPM.
Channelrange:sameasforinternalmodule.
Receiverno,Bind,Rangecheck(whenmoduletypeisXJT):Sameasabove.
19
HELISETUP
ASHORT pressofthePAGEkey will bring upthehelicopterCCPMheadmixerpage. Thispageallows
settingaswashplatetype,andlimitingthecontrolauthoritythroughtheSwashRingsetting.
The inputs of this mixer are the Ail and Ele Inputs (note: for thistowork you should NOTreorderthe
Inputs that have been automatically created when making a new model), plus the source selected in
"Collectivesource".ThelatterwouldtypicallybeanInputdefinedwithoneormorepitchcurves.
The outputs oftheCCPM mixer areCYC1, CYC2and CYC3,whichneedtobeassignedontheMIXER
pagetothechannelsyouwillconnectyourservosto.
Note that the settings made here have no effect unless you are using those CYC1, CYC2 andCYC3
sources.Amultirotororflybarlesshelicopterwhichusesonboardcomputers/mixerswillNOTusethem.
FLIGHTMODES
Nextupistheflightmodesscreen.
TrimOff():TrimwillnotbeactiveinthisFM.Thetrimtabswilldonothing.
UsetrimofFMx(:x)
Add own trim to trim of FMx (+x): Trim keys will only affect the current mode,butthecurrent
mode is also affected when FMxs trims are changed. For example you can have a thermal
mode FM1 that you can base onthedefaultFM0(+0),youtrim themodelinFM0,youswitchto
FM1, have to trim to compensate for that modes configuration. By doing so you wont affect
FM0.But ifforyour nextflightyouveputthebattery abit differentlyand caused achangein CG
thatneedscompensation,youonlyneedtoadjustthetriminFM0.As FM1strim isaddedon top
ofit,itsbeencorrectedtoo.
INPUTS
The nextscreenallows setting one ormore input formattingrulestoeachstickaxis.Thisisthefirststep
ofthecontrolchainwhereyoudefinetheamountofcontrolauthorityyouwantoneachstick.
21
Using the +and buttons we scroll further down the screen.TheSideparameter limitstheeffectofthat
formattingline toonlyone side of the stick.A summaryoftheselectedmodesforeachlineisshownon
themainscreen.
Trimparameter ON works similarly to mixinglines andallowstrimsettingsfromthecurrentflightmode
specific to the assigned input channel to be applied. However if theuser disablestrim in the INPUTS
screenthentheparticularchannelwillnothavetrimappliedinthemixlines.
MIXER
The nextpageiswheretheactionsonthecontrolswillbe mappedtoservos.OpenTXdoesnothaveany
predefined mixing functions thatrelate only toa particularmodel type or situation, itrathergives youa
blank canvas you can build upon. The key to configuring a model on OpenTX is not to think about
"activating the deltamix"like on certainradios,butratherto thinkabout whatyouwant yourcontrolon
the model to doinresponse to aninputon the radio's controls. Themixer iswhere all that "logic" gets
entered.
The various channels are outputs, for exampleCH1being the servo plug#1 onyour receiver (withthe
default protocol settings). Achannel without amixerlinewilljustcenteraservothatwouldbeconnected
toit.
22
Eachmixerlineconnectsoneinputtothechannelit'son.Inputscanbe:
The4stickaxes
The4potsandsliders
Thehelimixeroutputs(CYC13)
Afixedvalue(MAX)
The8physicalswitches
The32custom(logical)switches
Thetrainerportinputchannels(PPM18)
Each of the radio's 32 channels, which allows using channels as a virtualfunctionsforclarity
(mix several inputs into one reuseable function, that can then be assigned to one or more
channels).NotethatthesettingsoftheSERVOSpageareNOTtakenintoaccountthere.
Foreachmixerline,severalparametersareavailable:
Anamecanbeenteredforconvenience
The weight (in %) of the input can be set. This sets how much oftheinputcontrolhastobe
mixedin.Anegativevalueinvertstheresponse.
Anoffsetontheinputvaluecanbeadded.
Atrimcanbeused, forsticksthisisby default thetrimassociatedtothestick,butcanbechosen
to be one of the other trims (for crosstrimming for example) ordisabled altogether. Forother
inputsthetrimdefaultstoOFF,butcanofcoursebesettooneifrequired.
Eithera differential value can beset(reduces responsebythespecifiedpercentageononeside
ofthethrow)or acurve (builtinorcustom)canbeassigned.Whenacustomcurveisselected,a
pressoftheMENUkeywillbringyoutothecurveeditor.
Themodesthemixerlineisactiveincanbeselected(seeD/Rs).
23
Aswitch(physicalorvirtual)canbeusedtoactivatethemixerline.
Asoundwarning(1,2or3beeps)canbesettoplaywheneverthelineisactive.
The Multpx setting defines how the current mixer line interacts with the others on the same
channel. "Add" will simply add its output to them, "Multipl" will multiply the result of the lines
above it, and "Replace" will replace anything that was done before it with its output. The
combinationoftheseoperationsallowscreatingcomplexmathematicaloperations.
Response of the output can be delayed and/or slowed down with regardto the inputchange.
Slow could for example be used to slow retracts that are actuated by a normal proportional
servo.Thetimeishowmanysecondstheoutputwilltaketocoverthe100to+100%range.
What'sthecontrolsurfaceIwantthistoacton?
Elevator,whichisconnectedtoCH2.
Whendo I wantittomove?
WhenImovethethrottlestick
,inadditiontowhateverwouldalready
bepresent(usuallytheelevatorstick).
MixerFunctions
TODO
(X>0)onlyoperatesontheplussideofthesickand(x<0)worksontheveside.
Youcouldusetheseforsettingdifferentialorcomplicatedailerons.
([x])movingthestickfromcentreeitherwayresultsinanof0/+100
Ihaveusedthisoutputforsomeone'ssetup,butcan'trememberwhy.
(F>0) results in full travel to the plus side as soon as the stick is moved totheplusside and has no
outputontheveside.
(F<0)it'stheoppositeof(f>0).
([f])assoonasastickismovedtheoutputgoesfulltraveltothesidethestickismovedtowards.
Manyoftheseare"legacy"functionsfromer9Xorevenearlier.
Theycanbeusedtogeneratethingslikedifferential,whichwasaddedlater.
Theywouldstillbeusedtogeneratethingslikeknifeedgemixeswhereyouwantthecorrectiontobethe
sameforbothstickdirections
simpleexample
CH02(+100%)[i]Ele
(+10%)[i]RudnoTrimCurve(|x|)
SERVOS
The SERVOS page is the interface between the setup"logic"and the real world with servos, linkages
and control surfaces. Up tonow, wehave set upwhat we want our different controlstodo,now isthe
timetoadaptthattothemechanicalcharacteristicsofthemodel.
24
Foreachchannel,wecandefine:
The following diagram illustrates the respective behavior of both subtrim modes and how Center
adjustmentcomparestothem:
25
TrimstoOffsets"function
The last line after CH32 is the "Trims to Offsets" function. It is used to takethetrimsofthecurrently
selected flightmode, transfer their content tothesubtrims,reset them, andadjustallotherflight modes'
trims.Ifyou'reclose to running outof trim,insteadofhavingtoadjusteveryvalueoneaftertheother,all
it takes istoLONGpress ENTER onthis line and everythingisdonemagically.Bewarethatyoushould
still check if it would notbe wiser to correct the problem mechanically,especially with large values, as
depending on the subtrimbehaviorsetting it might leadtoeither insufficientand asymmetricthrows,or
clipping/deadband.
CURVES
Customcurves can beusedeitherininput formattingormixers.Thereare 16ofthemavailable,andthey
can be of several types (3, 5, 9, 17pt, both with fixedor userdefinablex coordinates). 3pt would bea
3pointcurvewithfixedx,9pt'isa9pointcurvewithuserdefinedxcoordinates.
Thesecurvesareavailableinadditiontothe"builtin"curves:
x>0,x<0:Ifinputispositiveresp.negativereturninput,otherwise0.
|x|:Returntheabsolutevalueoftheinput.
f>0,f<0:Ifinputispositiveresp.negative,return100%,otherwise0.
|f|:Ifinputisnegativereturn100%.Ifinputispositive,return+100%.
26
The curve editor allows you to define a name for the selected curve, the type, and of courseset the
coordinates.Whenthecursorisonone oftheeditablecoordinates,aLONGpressofthe ENTERkeywill
bringup a menu where you can choose a standard preset curve,mirrorthecurve vertically,orresetall
points.
GLOBALVARIABLES
Global variables are values that can be substituted to the usual number on every Weight, Offset,
Differential orExpo setting. Theirmain useis to groupthe adjustmentofseveralparametersthatshould
have the same value. For example, aileron differential on a glider with 4 surfaces responding to the
aileron function. When trying to find the sweet spot for the differential value, instead of having to
repeatedlyeditthedifferentialvaluein4 mixers, all 4canbesettouseaglobalvariable(e.g.GV1resp.
GV1,selected by a LONG pressoftheENTERkeyontheDifferentialfield).ThenadjustingGV1onthis
pageisallittakesforalldifferentialstobeupdated.
27
Global variables are also flight mode specific, so insteadofhavingtocreateseparate mixer lines with
differentvalues depending ontheflight modeone can simply use a global variablewithdifferentvalues
for each flightmode.This can significantlyhelp simplifyingthemixerscreenby avoidingmanyduplicate
entries.
Global variables can also be adjusted in flight thanks to the Adjust GVx Custom Functionthat willbe
described later, and help adjusting those parameters that are easier to tweak in flight likeD/R ratios,
exposoragaindifferential.
The Globalvariables screen allows setting aname foreach ofthe5availablevariablesforconveniency,
andseeing/settingthevalueeachofthemwillhaveineachofthe9flightmodes.
LOGICALSWITCHES
Thesearelogicswitchesthatareusedtocomparevaluesandcombinevariousconditions.
The first "operation" column lists a few arithmetical, logical and differential operations. In arithmetical
ones a and b represent variables,x representsa constant.Variablescanbe every source,i.e.allthose
availableinmixers,plusthe5globalvariablesandalltelemetryvalues. Inlogicaloperationstheavailable
sources are all physical and other custom switches. Differential functions compare the variation of a
variablesincelastmatchtoanothervalue.
28
Custom switches offer 3 more parameters: An extra AND condition (if selected, must be on for the
customswitch tobecomeactive),aDurationparameter(theminimumtimea customswitch willbeactive
for even ifitsconditions becomefalse instantly),and adelayparameter(thataffectsboth activation and
deactivation).Seethetitlebarheadertoseethefunctionofthefieldthecursorison.
Along press oftheENTER key onacustomswitch'slabelwillbringupapopupmenuthatallows youto
copy/paste/deleteanentryformoreconveniententryofsimilarsettings.
CUSTOMFUNCTIONS
This is the place where switches can be used to trigger special functions such as trainer mode,
soundtrackplayback,speechoutputofvariablesetc.
Scrollingthroughthelistyouwillfindtheseavailablefunctions:
30
A1 and A2 are the 2 analog ports available on D8R receivers. X8R receivers only have A1,
which measures the receiver's power supply. Range setsthemaximummeasurablevoltage,i.e.
3.3V/ (dividerratio). Forexamplewiththe receivers' internalsensor(1:4), this wouldbe13.2V.
For the FBVS01 sensor with the default ratioof1:6, this would be 19.8V.The number nextto
"Axchannel"willshow the currently measured value,and can beused toconfirm orcorrectthe
Range setting by comparing the reading with an external voltmeter. Offsetandcustomunits(A,
m/s, m, , %...) can be used in addition to help scaling the input to accommodate 3rdparty
analogsensors.
"Low" and"Critical"alarmsforA1, A2 andRSSI will trigger audiowarningswhenthemeasured
value goes below the definedlevels.WhenamicroSDcard with a Taranisvoicepackloadedis
present in the slot, those alarms will beannounced in clear voice(e.g."A1 Low", "A2Critical",
"RF signal Low"). If no card is present each will trigger a different beep pattern. We do
recommend the use of the voice capability as 6 different beeps can be difficult to remember
understress.
Blades:NumberofbladesfortheRPMsensor.
Voltage/current: Allows choosing the input for the power calculation and mAh count features.
Theseshouldmatchtheinputyou'veconnectedthecorrespondingsensorsto.
Variometer source: sensor typethat isinstalled inyourmodel."Vario" isforthenewFrSkyvario
sensors as well as the
openxvario (vertical speed is calculatedbythesensorand transmitted
digitally), A1/A2areforanalogsensorsthattransmitverticalspeedasavoltageconnected tothe
respective input. Limit sets respectively the maximum expected sink rate, low and high dead
band (no sound), and maximum climb rate for the sounds generated by the Vario custom
function.ThelowdeadbandcanbesettoOFF,whichdisablessinktonesaltogether.
parameters (9 in the main screen area and 3 in the bottom bar), or 4 bargraphs with configurable
upper/lowerlimits.
Each field can beone of the various availableparameters, ofcoursethe corresponding sensorsand/or
hubmustbeinstalledinthemodel:
Tmr1,2:Bothtimers
SWR:Transmitterantennaquality.Should always be below 51, or a popup warningwillappear
and an audio alarm will sound to warn youtochecktheradio'santenna. Thevalueitself isof
littlemeaning.
RSSI:Lowest ofthe RSSIvaluesfromtheradioandreceiverinD8mode.In D16mode, RSSIof
thereceiver.
A1,2:AnalogportsonDreceivers(onlyA1availableonX8Rreceivers,withreceivervoltage)
Alt:Barometricaltitudesensor
Rpm:Enginespeed,numberofbladesisadjustedinthesettingsabove
Fuel:Fuellevel
T1,T2:Temperaturesensors1and2
Spd,Dist,GAlt:GPSspeed,distancefromstartingpointandGPSaltitude
Cell:LowestcellonFLVS01
Cels:SumofallcellsonFLVS01
Vfas:FAS40/100voltagemeasurement
Curr:Current,sourceconfiguredinthesettingsabove(FASoranalog)
Cnsp:mAhusedtotalizer(needscurrentsourceconfiguredcorrectly)
Powr:Power,voltageandcurrentsourcesconfiguredabove
AccX,Y,Z:AccelerationvaluesfromTAS01
Hdg:GPSheading
Vspd: Vertical speed (eithercalculated by the radioorreportedbythesensor, dependingonthe
sensortypechosenabove)
xxx+/xxx:Minandmaxvaluesoftheavailableparameters
LUAScripts
OpenTX2.0addedsupportforLua(currentversion5.2.2)userscripts.
Lua is a lightweight multiparadigm programming language designed as a scriptinglanguage. Moreat
Wikipedia
TherearetwotypesofLuascriptsusedinOpenTX:
ModelPersistentLuaScripts
OnetimerunLuaScripts
32
ModelPersistentLuaScripts
Persistent scripts are loaded by the radio and
are run periodically andcontinuously,similar to mixers.
Several scriptsmay beactiveat the same time.Thereisalimitation(duetoRAMusage)onthenumber
of persistent scripts. 7 isthe maximum (shared by all categories). If a scriptuses too muchmemoryor
processortimeitwillbeforcefullyterminated.
Therearethree types of
ModelpersistentLuaScripts
usedinOpenTX.Modelscripts,Functionscripts
andTelemetryscripts.Theyallusethesamescriptlanguage,butareusedinslightlydifferentroles.
Modelscripts
A model script runs on a continuous basis once loaded into amodel.Aslong as the modelis
selected, the script is running. You shouldnever use amodel script for calculatinganysort of
inputthatisvitaltoyourmodel.Rememberthatscriptsmaybeterminatedatanytime.
Functionscripts(addedin2.0.3)
Scripts that can be called fromtheSpecial Functionsscreen. Much liketheavailable firmware
functions.
Telemetryscripts(addedin2.0.4)
Used for building customized telemetry screens. Theoretically it is possible to have up to 7
customtelemetry screens, all writteninLua. Itispossible tousedifferentscriptsona permodel
basis.
Onetimerun
LuaScripts
These scripts are executed when they are called upon by a specific radio function or when the user
selects them from a contextual menu. Once the subroutine is completed the task is terminated and
unloaded. Pleasenote thatallpersistentscriptsare haltedduringtheexecutionofonetimescripts.They
are automatically restartedonce the onetime script isfinished. Thisis done to provideenough system
resourcestoexecutetheonetimescript.
Themodelwizardscript.
This scripttype adds a wizard functionto theradio thatprovidesguidanceinsetting upmodels.
Onceinstalleditiscalledautomaticallywhenanewmodeliscreated.
Templatescripts
(plannedfeature).
Thefunctionalityofthisscriptstypeisnotyetdescribed.
LuaScriptsF
olderStructure
LuascriptsmustbeplacedontheSDcardinfolder
/SCRIPTS
andhaveanextension
.lua
.
The script folders werereorganized in OpenTX2.0.3.ThefolderstructureinOpenTX2.0.3orlaterlooks
likethis:
/SCRIPTS/WIZARD/FortheWizardscript
/SCRIPTS/MIXES/Formodelscripts
/SCRIPTS/FUNCTIONS/Forfunctionscripts
/SCRIPTS/modelname/telemXX.luaFortelemetryscripts
/SCRIPTS/TEMPLATES/Fortemplatescripts
33
LuaScripts
Documentation
LuaScripts
Documentationisdividedintosubpages:
LuaModelScripts
describescontinuouslyrunningmodelscripts
LuaOnetimeScripts
describesonetimerunninggeneralscripts
LuaScriptReference
detailedreferenceofOpenTXLuaimplementationandinterface
LuaGeneralFunctions
generalpurposefunctions
LuaModelFunctions
modelmanipulationfunctions
LuaDisplayFunctions
LCDdisplayfunctions
LuaScriptExamples
someexamplescriptswithcomments
HowtouseLuafields
A Lua Field is a Lua Parameter available in OpenTX to be used in Lua scripts. The Lua
Fieldmightbeameasuredvaluefromtelemetry,stickinput,GVARvalueetc.
The list of available Lua fields for the latest OpenTx releasetogetherwiththeirdescription
canbefoundinOpenTXsource:
http://jenkins.opentx.org/downloads...lua_fields.txt
ThesectionbelowexplainshowtoobtainthevalueofaLuaFieldinscripts:
TherearetwowaystogetavaluefromgetValue()function:
1. usefieldnameasparameterslowway
2. usefiledid(number)asparameterfastway
If certain value is needed only small number of times, then the easiestway is touse the
filedname.Example:
Code:
localfoo=getValue("cellmin")
If certain value is used a lot in the lifetime of the script, then usage of getValue() with
numeric field id is advisable, because it is faster. The downside is that it involves a little
morecode.Theprincipleis:
1. scriptinitphase:getfieldidofrequiredfieldandstoreitforlater
2. scriptrunphase:usestoredfiledidtoretrieveitscurrentvalue
Example Lua standalone script, output of print statements is seen in console on Linux
systems:
Code:
localcell_min_id
localfunctioninit()
34
localinfo=getFieldInfo("cellmin")
cell_min_id=info.idsaveidforlater
print('cellminhasid'..cell_min_id)
otheritemsininfo
info.name=fieldname
info.desc=fielddescription
print("info:id="..info.id.."name="..info.name.."desc="..info.desc)
end
localfunctionrun(event)
nowusestoredidhereforfastgetVAlue
localfoo=getValue(cell_min_id)thisisequaltogetValue("cellmin"),butfaster
localbar=getValue("cellmin")
print("foo and bar should be the same (except ifcellminchangedbetweenthetwo
calls)")
print("foo="..foo)
print("bar="..bar)
return1
end
return{run=run,init=init}
Outputofabovescript:
Code:
f_open(./field_id.lua)
cellminhasid214
info:id=214name=cellmindesc=LiPosensorlowestcurrentcellvoltage[volts]
fooandbarshouldbethesame(exceptifcellminchangedbetweenthetwocalls)
foo=2.5
bar=2.5
Scriptfinishedwithstatus1
NOTE:
The usage of old constants forgetValue()isdepreciated. Theseconstantswillberemoved
from Lua Fields in thefuture releases of OpenTX.ThereforeallearlierOpenTxLuascripts
should convert to the new system (described above).
In detail these constants below
willberemovedfromfuturereleases:
Code:
"MIXSRC_FIRST_INPUT"
"MIXSRC_Rud"
"MIXSRC_Ele"
"MIXSRC_Thr"
"MIXSRC_Ail"
"MIXSRC_SA"
35
"MIXSRC_SB"
"MIXSRC_SC"
"MIXSRC_SD"
"MIXSRC_SE"
"MIXSRC_SF"
"MIXSRC_SG"
"MIXSRC_SH"
"MIXSRC_CH1"
"SWSRC_LAST"
Templates(removeorreferencecompanionwizard/luawizard)
The templates are currently "startingpoints"for model setups. When selectedwithENTERLONGthey
will either add to or replace the currentmodel's mixers and settingswith the usual ones fortheusage
scenario theycorrespondto (best usedon a newly createdmodel). These can beusedtobuilduponor
tweaktoachievethedesiredresult,orsimplytogetanideaofwhat'srequiredforthatmodeltype.
Firststeps
Now that you've seen the basics and that your battery has some charge, what about a little bit of
practice?The radio comes from the factory with thesticksalreadycalibrated,sothe firstthingto dowith
your radio would be to configurethe general settings.Getto therelevantpagewithMENU LONG,set
time, date, sound volumes to your preference (the lower end of the volume slider is typicallyneeded
when using headphones, whilethe upper endis good for using withtheinternal speaker), play with the
backlight setting, set theRFcountry codetoyourlocation, thedefaultchannelordertoyourpreference,
and the stick mode to match yourflying style. Batterygaugeand alarm arefactoryset for the supplied
battery.
The radio will have createdanemptymodelforyou,soafterhavinggonebacktothemainviewyou'llbe
able to gotothemodel setup screen bypressingMENU SHORTand PAGE SHORT. There you'llwant
tomakesureyou'vesetthe RFmodethatmatchesthereceiveryouwanttouse.Whenusingtheinternal
module, to bindyourreceiver select the"Bind"fieldandpresstheENTERkey.Theradiowillbeepevery
few seconds. Now follow your receiver's instructions for binding (press and hold the F/S button then
apply power for D andX receivers,connect jumper toS pins of channels 1 and 2 and apply power for
V8xIIreceivers).The receiver LED will flashfasttoconfirmbinding.Pressexitontheradio, Removethe
jumper on the receiver if applicable, and cycle receiver power. You should now have servocontrol of
channels14withthesticks.
36
Settingupamodel
OpenTXbasics
Now thateverythingworks, it'stime to stopamomentfor sometheoryabout the basicoperation ofthe
OpenTX
firmware.
As briefly described above, OpenTXdiffers from the majorityof mainstream radiosby its programming
philosophy.Owners of Multiplexradios will however feel at homeveryquickly, astheprinciplesarevery
similar. As opposed to common radios that offer a choice between a limited set of predefined usage
scenarios(airplane,glider, helicopter), anumberoffunctionsthat are commonlyusedwithsuchmodels
(delta, flaperon,camber,butterfly...),and have fixed assignations (sticks
always
controltheirrespective
channels), OpenTX offers a blank canvas on which you will build your setup: the mixer screen. This
approach ensuresmaximumflexibilitybecausewhateveryoudoyouwillneverhavetoworkaroundwhat
the radio expects youto do,whichis a blessing for anybody havingtowork with "new" modeltypesor
configurations which still "don't exist" for mainstream radio manufacturers, and as such for which the
builtin functions are usually useless. So you can see it that way: For some model types, usual
predefined functions canallowsettingupamodelin seconds(just enable afunction),butfor othersyou'll
spend hours trying to get around their limitations. On OpenTX everybody ismore or less at the same
level it might takea little longeratthebeginningto setupa seeminglysimplemodel,butacomplicated
one won't take much more. As there is no existing function you can just turn on, it will require basic
understanding of how your modelis supposed to work, and what you want each control surfacetodo.
Thismeansthatyoumightevenlearnsomethingaboutyourmodelintheprocessofsettingitup!
The control order path starts from the hardware controls, goes through the STICKS screen (anything
affecting control response like dual rates and exponential), continues to the mixer,and ends up being
adaptedtothemechanicalcharacteristicsofthemodelintheSERVOSscreen.
Everythingaboutthemixerscreen
We'llstart with this as itis thecenteroftheradio.Themixerscreenliststhe32outputchannelstowhich
you canlink one ormore inputsfroma longlistof physical controls (sticks, pots,trims, switches), logic
sources, otherchannelsand trainer inputs.Each assignation is done witha
mixerline
.Anewmodelwill
have 4 predefined mixer lines on channels 1,2,3 and 4 that link the 4 sticksto them accordingtothe
channel order preference you have set. These are therepurely for convenience,and can of course be
editedordeleted.
Let's delete them all by highlighting them, pressing ENTER LONG and choosing "Delete". Your mixer
screen is now empty, which means the radio doesnothingatall.Wellit does,itsends outthenumberof
channels thatare definedonthemodelsetuppagetothereceiver(channels18bydefault),butasthose
channels areempty in the mixer screen noservo will respond, they'llallbecentered. Youwon'tgovery
far with that, so you'll wanttoadd control inputs to thosechannels. You'llcreateamixerlineonCH1by
highlighting it and pressing ENTER LONG, and will end up in the INSERT MIX page. Scroll to the
"Source" field,pressENTER, and selectthe control you want to acton CH1.Youcandoitby browsing
the listwith the +and keys, ortake the easyroute and just move the desiredcontrol(ifit's aphysical
one, of course). Movetheaileronstick, andthefieldwillchangetoAil(itmighthavealreadybeen thereif
your channelorder preference setinthegeneral settings hadA for thefirst channel,asthat'stakeninto
account).Youcanleavetheotherparametersattheirdefaultsettings,whichmean:
The mix ratio of thisinput is 100%, so the scalingof the mixer line's outputwillbe equal toits
input.Avalueof50%wouldmeantheoutputwouldbehalfoftheinput,andinverted.
Thereis nooffset, sowith an inputof 0theoutputofthemixerlinewillalsobe0.Avaluehere
wouldshifttheresponsebythatmuchpercentageof(inputxweight).
37
Trim is ON, it could instead be excluded from the calculation(OFF), orone of the other trims
could be used (for crosstrimming for example). D/R and expo (the entries on the STICKS
screen for thatchannel)are used. Untickingtheboxwouldmean the mix receivestherawstick
inputevenifaD/Risactive.
Differential is 0, so the mixer output will be symmetrical on bothsides.A value of 20% would
mean the line's output would be 20% less on the negative side than onthepositiveone. The
"Diff" field is editable, and by using the +/ keys on it you'll be able to selecta curveinstead
(predefinedorcustom).
The mixer line is active for all flight modes. By "unticking" some of the numbers, you would
disablethatlinewheneverthecorrespondingflightmodeisselected.
No switch is assigned to the line, so it's always active (as long as the modes setting above
allows it). Selecting a switch (physicalor logical) would allow activatingor deactivatingtheline
whenneeded.
Warning isoff.If set to 1,2 or3 the radio would emit1,2or 3shortbeepsevery fewsecondsto
letyouknowthatlineisactive.
Multiplex is Add, so this line is just added to the previous oneson the samechannel. If setto
multiply it would multiply the
calculatedresultofthe linesaboveit,and ifsettoreplaceitwould
replaceanythingthat'saboveitwheneverit'sactive.
Delays are 0, so if that line had a switch assigned it would be activated/deactivatedinstantly
whentheswitchistoggled.Timeisinseconds.
Thereis noslowing down,so theline'soutput reacts instantly toinputchanges.Timessethere
areexpressedinsecondstocovertheentire range(100to+100).If2secondsareselected,the
line's output will take0.5 secondtogradually sweep from 0 to +50%if the input wasmovedby
thatmuchorthemixerlinewasactivated/deactivatedbyaswitch.
You can also name the mixer line. This name is shown on the mainmixerscreen, so setting
names is a good idea to help maintain complex setups where you might havemany lines on
eachchannel.
active, while the first one fades back to normal as it's been deactivated by the Replace type of the
secondline.Againthatseemslong,buttakesasmuchasabout30secondswhenyou'reusedtoit.
Of course if you've followed you'll certainly understood that we could have setthesecondlinetouse
switch "SAup", and that subsequently the role of the 2 lines would be swapped (second active when
switch is up, first intheother 2 positions).But thenI wouldn't havehad the opportunitytoexplainthe!,
andalso asapersonalpreference IlikemyswitchdefaultpositionstobeUP,andthefirstmixerlineon a
channeltobethedefaultvalue.
A little simple one next: You have 2ailerons with separate servos.Using a Ycable to linkthemis too
oldschool nowadays, so let'suseanotherchannel.We alreadyhavethefirstailerononCH1,CH5and6
aretaken by gear and flaps, solet's use CH7.Wehaveanaileronthatmustmovewiththeaileronstick,
which is actually just like the first one. So let's just copy the first mixerby highlighting itand pressing
ENTER LONG, and selecting copy. Move ittoCH7and press ENTER.This would workjustfine,butI'll
throwina personal preference again, and changeitsweight to 100%because"logically" thataileronis
supposedtomoveintheoppositedirection.We'llseelaterwhythismakessense.
Next up: a little mix. I'm going to be lazy and just tell you to go back upand check the
mixer screen
description a bit further upfor the throttle>elevator compensation. I'm sureit will seem muchclearer
now!
Let'sdoadeltamix.Again,whatkindofcontrolsurfacesdowehave,andwhatdowewantthemtodo?
We have 2 elevons. They must move in the same direction when the elevatorstickis moved,butthey
mustmoveinoppositedirectionswhentheaileronstickismoved.
So, let's pick 2 channelsto connectourservos to. CH3 and 7, because... why not.Tryingtomake you
forgetaboutoldschoolfixedchannelassignmentshere)
CH3 must movewiththeelevatorstick,sowecreateamixer linewithEleassourceonit.CH3mustalso
movewiththeaileronstick,sowecreatea2ndmixerlinewithAil assource.Weleave multiplexingset to
"Add",asthat'sexactlywhatwewanttodothe2inputsmustbeaddedtogether.
Now let'sdiscuss the weights a little. They arenowset to100%.This meansthatafulldeflection ofthe
aileron stick will create a full deflection of CH3, same for the elevator stick. But now as weadd the 2
together, ifwe put the stick intheupperrightcorner(assumingmode2)wehave100%+100%=200%
output on CH3. Now,thelimits defined ontheSERVOSscreenareset to100%whichmeansthatthe
output will beclipped. When the mixer's output for achannel goes beyond 100%,theservowon'tmove
anyfurther. Thisis not different from otherradios predefineddelta mixes willusually giveyouratiosto
enter for elevator andaileronauthority, which isjust the same. Ifyouenter too high ratiossome of the
stickthrowwillbeineffective.
Now the discussionas to whattosetthe ratiostois probablyendlesssomearehappywith100%and
clipping,some will like50%sothatthereisneveranyclipping,andsomelikemyselfwilllikesomethinga
bitinthemiddleIuse70%.
So, let's say we nowhave 2 mixer lineson CH3,70%Ail and 70% Ele. Aswesaid,CH7mustrespond
the samewaytotheelevator input,sowe adda 70% Ele mixertoo. Itmustrespondtotheaileronstick
bythesameamount,butintheoppositedirection,sowe'llset...70%.
This isthe reasonforwhichIset100%inthepreviousdualaileronexample.Forcingyourselftoenforce
that logic thinking even when not really necessary will help you to get it right when it's needed. For
example in the dualaileronscenario wecouldhaveset both ailerons to100%,thenusedservoreverse
to invert one aileron to achieve the same result on the model. BUT in the delta scenariothiswouldn't
work.
Servosscreen
Now that the mixer isconfiguredand the controls' behaviorsare defined,thenext step is to set up the
way theseorderswillbe carried through tothe servos.At this pointyou'llwant to actually connectyour
servos to your receiver, remove the control horns from the servos, the props from themotors (safety
first),andconnectareceiverbattery.Bindthereceiverifnotdoneyet.
39
Center all controls (you can look at the channel monitor and aim for 0), and for each servo start by
mounting the horns sothat they're asclose to perpendiculartothecontrollinkagethey're goingtodrive
aspossible. Murphy's lawensures thatit's always right between 2of the steps, so usethe PPMcenter
adjustment to make them perfectly perpendicular. Using this setting instead of subtrim avoids losing
throw, and makes suretheoutputs seen inthechannel monitorare real "control" inputs.Connect your
linkagesso that the control surfaces are atneutral(or middleoftheir expectedthrow forthingssuchas
flaps).
Now move theradio'scontrols carefullyto exercisethe servos but being aware of possible mechanical
binding. Set servo reverse where needed. Adjustthelinkages in ordertohavea little morethrowthan
what you'll ever need in both directions. Ifthere isa little binding on one side toreach the appropriate
sideontheotherand/orthethrowsarenotsymmetricalit'snotaproblem.
Thenadjusttheminandmaxlimits.Theseshouldbesetsothat:
Youhavealittlebitmorethrowthanwhatyou'lleverneed
Thereisnomechanicalbinding
Throwsarethesameonbothsideswithfullcontrolinputdeflection
We'redoneforthisscreen.You'vealreadynamedyourchannelsofcourse)
Inputsscreen
You'veprobablynoticedthere'sonethingwehaven'tdoneyetadjustthrows.That'swhatwe'lldonow.
For eachstick, create arate line.Settheweighttoachievethedesiredthrows.Addexpoifdesired.This
isyourdefaultrate,sodon'tchooseaswitch.
If you wantmultiple rates,create a new line
before the default one, enter the new rate/expo,choosea
switch. Repeat as many times as desired. What's important to know is that the
first line that hasits
switch on (starting from the top)willbe the active one.Soifyoucreateratesbelowonewithnoswitch it
will never be active. Think aboutthepriority if you choose switch combinations thatcanlead to 2 rates
having their switchon the topone will override the other.Ideally you should choose yourswitches so
thatneverhappens.
There,wecangoandfly!
Modelsetupguidelines
Timefor a little summary. Aswe'veseen,there'sliterallyaninfinitenumberofwaystodothesamething
in the firmware,so let's mention a fewgoodpracticeswhensetting up models. If yousticktothemthey
will helpyou setup yourmodel quicker, keepyour setupclean, and understand whatyoudid6months
later.Withasimple4channelmodelwhere eachservo iscontrolledbyonlyonecontrolinput,ifyouwant
toreduce aileronthrow you could doit eitherwith the aileron D/R, in the weightofthemixer linelinking
the Aileron stick to the aileron channel,and with the Limits forthat channel. Forsuch asimple modelit
won'tmattermuch whereyoudo it, but assoon asyou'llget tomorecomplicatedmodelswithflaperons,
butterfly mixes etc, doingit in thelimits forexample would simplymakeitimpossibletosetupthemodel
properly.
AlwaysdefinecontrolthrowsusingtheSticksscreen.
Advancedfeatures
Flightmodes
FlightmodesinOpenTX are relatively simplecomparedtomostradios.Thesettingsaresimple:Aname
(displayed on the main views), a switch to activate them,a trimsetting and2 fade in/out settings. Yet
they are verypowerful,becausethemain settingsareactuallyjustlocatedsomewhereelse: intheD/Rs
and mixers. Each of these has a flight mode selection list,that will determine in whichone(s) they are
active. So (nearly) everything isdonethroughdedicatedmixers.The mixersthat arecontrolledbyaflight
mode will see their activation fade in/out according to the mode's settings. As the trims can bemade
flightmode specific (they are by default), using flight modes to activate thingslike gear or flaps allows
usingtheseparatesetoftrimstocountertheextradragthatoftencausesaneffectonpitch.
Telemetryvalues
The followingwill assume yourradioisloadedwitha microSDcardanda validvoicepack,whichshould
be the caseasitis suppliedwiththeradio.ProbablythemostimportanttelemetryvalueisRSSI,which is
an indication of how muchsignalthereceiver in the modelisseeingfromthe radio,andwillwarnyouin
advance if you are at risk of losing control beit duetoexternal interference, excessive distance, badly
orientedor damagedantennasetc.The
telemetrysettingspagegivesyou2alarmlevelsyoucansetthat
will be announced in clear voice ("RF signal low" and "RF signal critical"). They are set by defaultto
levels thathave been consideredsuitable and safefornormal lineofsight flight (45 and 42), but if you
wanttoadjustthemyourselfthefollowingexplanationswillbeuseful:
RSSI onFrSkyequipment isrepresentedusinga logarithmicscale(dB),notin%.Thismeansthat when
RSSI ishigh,asmalldifference indistancebetweenthetransmitterandreceiverwillleadtoabigchange
oftheRSSI value.It is perfectlynormaltoseeavalue ofabout100 whennexttothemodel,andalready
down in the 70'sby the time you've walkedto theotherendofthefield.Whenyouhaveareadingof50,
it will howevertake a lot of extradistance to reachthealarmlevelof45.Thebasicapproximationruleis
thatadoubling ofdistance between pilot and model will resultinadropof6dB ofthe RSSIvalue, which
should make the previous explanationclear: Ifyouare 5mawayfromthemodelitonlytakesanother5m
to reduce RSSI by 6dB, but if you are 600m away from the model it will then take another 600m to
reducethevaluebythe"same"6dB.
41
Audio
One of the major features of the radio is the speech output function. Provided a microSD card
(FAT12/16/32format)loadedwiththesoundpackavailablefordownloadfromwithinOpenTX companion
is insertedintheslot in the batterycompartment, the radio will beable toplayaudiofilesinresponseto
various events like reaching trim center/ends andactivationofaswitch(physical orcustom),to play a
background music file, and last but not leastto announce every availablevalue(telemetry, parameter,
stickposition) in clear voice. Custom sounds can be placedinthe SOUNDS/(selected_language)folder
of the card and will be available for use (name must be 8 characters at most, not counting the .wav
extension, and with no special characters). Language is set in the radio general settings and can be
changedontheflyaslongasthepackforthatlanguageisloadedonthecard.
ZIP files with the standard voice packs can be downloaded from within OpenTX companion, or
here
.
Extract the ZIP file to the root of the SD card, and it will create the necessary subdirectories (e.g.
SOUNDS/enfortheEnglishpack).Ifyouwishtocreateyourownfiles,therequiredformatis:
WAV,8or16bit,Mono
8,16or32kHzsamplerate
PCM,ulaworalawcompression
Thestocksoundsaboveusethebestavailablequality,i.e.16bit,32kHzandPCM.
Audiooperationisrelativelysimpleasitonlyconsistsof5"andahalf"CustomFunctions:
42
Play Track: Just play an audio file from the SD card when the associated switch is active.A
repeatoption isavailable, whensetthesound will repeatatthesetinterval aslongastheswitch
is active. This can beused toannounce flight modes, gear position,flap position etcwhenthe
associatedswitchisactivatedoronrequest.
Play Value: Say the value of the selected parameter when the switch is active. The repeat
parameterisavailabletoo.
BgMusic: Starts playbackof abackgroundmusictrack(thatcanofcoursealso beatimedflight
programannouncement).Theswitchmuststayoninordertocontinueplayback.
BgMusic ||: This pauses the background track while active, and resumes playback when
deactivated. The BgMusic switch muststay active the whole time or thetrackwillstartfromthe
beginningagain.
Vario:Reproduces thesound ofaglidervariometerusingthealtitudeorVerticalspeedtelemetry
data.
Volume:Adjuststheaudiovolumefortheentireradiotothevalueofaninput,e.g.apot.
ThefollowingexampleshowsafewCustomFunctions settoannouncewhatswitchesactivatewhenthey
are, as well as SHdown triggering playbackofthevalueofTimer2 followedby theconsumption (mAh
countobtainedfromanFrSkyFAS100currentsensoronboard).
In addition to the sounds played by custom functions, there are a few predefined sounds that willbe
playedautomaticallywhenaneventhappensifanappropriatelynamedfileisplacedintherightfolder.
Currentlythefollowingeventsaresupported:
FlightModeChange:
Whenflightmodeisactivated,file
/SOUNDS/(selected_language)/modelname/flightmodenameON.wavisplayedif
present
Whenflightmodeisdeactivated,file
/SOUNDS/(selected_language)/modelname/flightmodenameOFF.wavisplayedif
present.
Globalvariables
We have already mentioned how global variables could be used to group multiple adjustments in one
place,and to makethatadjustmentflightmodespecific.Itwas alsonotedthatthesecould beadjustedin
flight this is done using the Adjust GVxcustomfunctions. Anytimethecustomfunction'sswitchisON,
the value ofthe globalvariable will follow theselected input.Asareminder,thereare 4groups ofinputs
that can be switchedbetweenby pressingENTERLONG on the input field,and don't forget to tickthe
safety box once you're done configuring and you've made sure the switch is off again to avoid
overwritingyourGVARbymistakewhilescrollingthesourcelist.
This is the way to adjust values in flight. Thecustomfunction's switch servesas a"lock"tofreezethe
value orallow adjustment. When avariable is being updated,a popup with the variable name and new
valuewillshowuponthemainviews.
One of the available sources for adjusting global varsis the list ofchannels.This is probably the main
way you'll use to adjustGVARs for a simple reason: Let's sayyouwanttoadjustaD/RratiowiththeS1
pot. If you select GV1 as the weight parameter of that rate line and just use the Adjust GV1custom
function withS1 assource,youwillnowbeadjustingyour ratebetween100%and+100%.Beingableto
disableandevenreverseyourratedoesn'tsoundterriblyfun,soyou'llwanttolimittheadjustmentrange.
The easiest way is to use a free channel for that. Create a mixer line on say CH12, and use the
43
Afewinteractionexamples
Thepowerofthesystemnowcomesfromthecombinationofthedifferentfeatures.Customswitchescan
be usedto createconditions thatwilltriggeraudio playback,forexampleusingcustomswitch"CS1|d|>x
Alt 10" as trigger for "Play Value Alt" would result in the altitude being announced every time it has
changedby 10m/ft. "CS2 a<x Spd35"triggering"PlayTrack lowspd" would play the lowspd.wav fileon
the SD card, thatcouldberecorded tosay"LowSpeed"whenGPSspeedgotunder 35km/h.Ifyouhave
several parameters you want to have announced sequentially on request, you could set several Play
Value Custom Functions all triggeredbythe SHdownmomentaryswitchas shownabove.Apress ofthis
switchwillthentriggerplaybackofalltheparametersoneaftertheother.
But as weknow thatcustomswitchescan beusedanywhereaswitchisdefinable,nothingpreventsyou
fromreusingthat same CS2 to trigger automaticflapsdeploymentoncespeedgotbelow35km/h.That's
right,anythingcanbeusedtoaffectanything.
IntroductiontoOpenTXcompanion
Aswehavebrieflymentioned,OpenTXcomeswithacomputerbasedcounterpartthatrunsonWindows,
MacOSandLinux,
OpenTXcompanion
.
This software will allow you to backup,editand shareyour radio's settings. Itcanalso simulateboth a
model's setup andtheradio'sowninterface onthecomputer,soit'sagreattooltotrythingsevenwithout
a radio.Whenyouhaveone, itcanspeed up new modelsetups significantly thanks tothePC interface
that'snotlimitedtoasmallscreenandafewbuttons.
Basicconcepts
OpenTXcompanionhandles2maintasks:
Managingradiosettingsandmodels
Downloadingnewradiofirmwares,andtransferringthemtotheradio.
Flash is the memory where the radio's firmware or "operating system" resides. "Flashing the
radio" means replacing the firmware,which you wouldusually doeither to upgradetoa newer
versionor to changelanguage.Modelsandsettingsarenotaffected whenflashingthe firmware.
On the Taranis, flashing is done with the radio
OFF
. So turn the radio off, thenplug ittothe
computer'sUSBport.
EEPROM is the separate settings/model memory. Reading itallowsbackingup andediting in
OpenTX companion,writing itsendstheresultoftheeditsbacktotheradio. OntheTaranis,this
is done with the radio
ON
. Turn iton,dismiss any warnings in order to get to the mainviews,
thenplugtheUSBcable.You will see twoUSBdrivesappear,oneistheSDcard,andoneisthe
EEPROMvirtualdrive.
OpenTX companion will thus handle 2 different types of files. Firmware files, that can be downloaded
from the Preferences dialog, which are noneditable andcanjustbe transferred to/fromtheradio, and
EEPROM files for which OpenTX companion provides an editor that allows tochange anything in the
samewaythatwouldbedoneontheradioitself.
Whencreating (File>New)or opening (either by draggingitonto themainwindoworviatheFile>Open
menu command) an EEPROM file, a document window will appear.Severalofthose windows can be
openatthesametime,allowingyouto copymodelsorsettingsbetweenfiles.Tryingtoopenafirmware
file the same way will throw an error saying the file is invalid this doesn'tmean that the firmware is
invalid,butsimplythatitisnotasettingsfile.
44
ReadEEPROMfromTXwillreadtheEEPROM contentsfromtheradio,andopentheminanew
document in OpenTXcompanion.The document isopened for editing, but isnotsaved to disk
automatically.
WriteEEPROMto TXsendsacurrentlyopenand selecteddocument(ifyouhavemorethanone
open,makesuretoclickontheoneyouwanttotransferfirsttoselectit)totheradio.
45
SettingupOpenTXcompanionfortheTaranis
The first thing isofcoursetodownloadandinstalltheappropriateversionofOpenTXcompanionforyour
system from the
OpenTX home page
. Once the program is launched, you will see the main window.
OpenthePreferencesDialogwithFile>Preferences.
Therearequiteafewsettingsthere:
Softwarelanguage
AutomaticupdatecheckatlaunchforbothOpenTXcompanionitselfandtheselectedfirmware
AchoiceofwhethertodisplaythewelcomescreenwhenlaunchingOpenTXcompanion
Simulator options: Whether to remember switch positions between 2 sessions (useful when
closing the simulator to edit something andcomingback), backlight color, andscreenshotsave
location
Splash screen replacement settings: The splash screen is the image that is displayed on the
radio's screen when powering it up. Downloaded firmwares come with the standard OpenTX
logo, but many userslike to customiseit.Soyoucanselect afolder whereyoustoreyourown
splash screens,and select a defaultone eitherfroma fileor from OpenTXcompanion's library
(notethelibrary doesn'thaveTaranissizedonesyet).Splashscreens needtobe212x64pixels
for Taranis, up to 16grayscales.Youwillbe abletoapplyyour splashscreenchoicewhenyou
flashthefirmware.
EEPROMbackupfolder:NotusedforTaranis.
Firmware type, language and options: this is where you will choose which firmware andradio
type you will be using with OpenTXcompanion.It is importantthat these setting always match
the firmware type and options currently on the radio. For Taranis the choice has been
46
intentionally limited so that most of the functionality is available toeveryone by default.A few
"personalchoice"optionsremain:
noheli:RemovestheHeliCCPMmixermenupage.
notemplates:RemovestheTemplatesmenupage.
nogvars:Disablesglobalvariablesupportandtheassociatedmenupage.
ppmus:Displayschannelvaluesinmicrosecondsinsteadof%.
sqt5font:Analternativedisplayfont.
faimode:DisablesalltelemetryexceptforRSSIandvoltage,forcompliancewithcontest
regulations.
faichoice: Adds amenu entry in the radio generalsettings to enable FAI mode.Allows
youtotrainon contestdaywith telemetry,thenturnFAI modeon inthemenubeforethe
contest to disable telemetry. FAI mode can then not be turned off on the radio again
withoutconnectingtoacomputertoavoidcheating.
SD structurepath: For the Taranis and sky9x board, this letsyouchoose afolder onyourhard
drive where you havemade a copyofwhat ison the SD card oftheradio.This allowsOpenTX
companion to populate the modelimage selectorwiththeimagesthat are onthecard,and do
thesameforaudiofiles.
Automatically addversionnumbertofirmwarefiles: Whendownloadinga firmwarefile,itsname
includestheselected options.Ifthisboxis checked, therevisionnumberwill beappendedtothe
filenametomakeitmoreconvenienttomaintainfilesofdifferentversions.
Default Stick mode and channel order: These will be applied when creating a new EEPROM
documentinOpenTXcompanion.
Profiles:Allows storing different settingsetsand easily switchingbetweenthem.Forexample,if
youhave 2 different radioswithdifferentfirmwaresorboardtypesit isnotconvenienttohaveto
redo all settings(firmwareselection,tickingoptions,...) every timeyouwanttodo operationson
the otherradio. So you can configure all settings,chooseanemptyprofilewiththenumberbox,
type a name to identify the particularradio, and click save. Do the samefor the second radio.
You will now be able toselectthecorrectprofile for the radio you areabout toworkonwiththe
profile selector button and menu entry on OpenTX companion's main window. Note that the
profilescanalsostoreand retrieveeachradio'sstickcalibrationandhardwaresettings(voltage
alarms, audio modes,...) from the General Settings page of an open document. This allows
copying a document from oneradioto theother without needingrecalibration or reenteringthe
hardwaresettings.
Joystick:Thisletsyouconfigureajoysticktosimulatethesticksintheradiosimulator.
For a Taranis radio, the first thing you would do is select "OpenTX forFrSkyTaranis"inthefirmware
dropdown.Selectyourfirmwarelanguage,andthevoicelanguage.ThetopDownload buttonwillcompile
anddownload the latest availablefirmwareversion withtheselected languageand options.Thebottom
Downloadbuttonwill openyourwebbrowseronapageshowingyou aselectionofvoicepacksavailable
fortheselectedlanguage.
Set yourflight modeand preferred channelorder in the dropdownsbelow, and dismissthe Preferences
dialogwithOKfornow.
Simulatingtheradio
You can nowcreate a new document.A windowwillappear, with the first line being theradio'sgeneral
settings, and the next being themodel slots. You can havealookinthegeneral settings andcreatea
modelbydoubleclickinginanemptyslot.
Thereare2waystosimulateeitheramodelorthewholeradio.
47
In the model editor, the bottom Simulate buttonwill openthe model simulator with the current
settings. Notethat if a changeis madeinthe model while the simulatoris open,it needsto be
closedandreopened.
At the bottom of the "document" window is a "Simulate Tx" button that will open a similar
simulator, however this time with anextratabshowing the radio's LCD screen and UI buttons.
The virtual radio will have the same data as the document when the simulator is started.Note
thatchangesontheradiointerfacearenotcarriedoverbacktothedocument.
UpdatingthefirmwareofyourTransmitter
As mentionedbefore, the programofyourradiocanbe replaced,either tochangethedisplaylanguage
ortotakeadvantageofnewfunctionsorcorrections.
Youhavetwooptionstoupdatethefirmware
TXOffmethod
Thefirstthingtodoistopoweryourradiooffandconnectittoyourcomputer'sUSBport.
Installingthedriver(forWindowsonly)
This isonlyrequired the first timeyouflashyourradioonagivencomputer.Ifalreadydoneyoucanskip
thissection.
DownloadtheZadigutilityforyouroperatingsystemfromitshomepage:
http://zadig.akeo.ie/
RunitasAdministrator(Rightclickandselecttherelevantentry).
In the big dropdown, you should find an entry named "STM32BOOTLOADER". Select it, and
clickthe"InstallDriver"button.
48
Zadig will install the driver, and should report success. When done you can dismissthemessage and
closeit.
49
Installingtheflashingutility(forMacOSandLinux)
Downloadand installthe
dfuutilpackagefor MacOS X,or the
32bit/
64bitpackageforUbuntu12.04
andlater.
50
Downloadingandflashingthefirmware
In OpenTX companion's preferences window, make sure the proper firmware is selected
(OpenTX for FrSky Taranis), and thelanguage / optionsmatch yourpreference, thenclickthe
top Downloadbutton andselectalocationforthefile.Thiswillautomaticallybuildanddownload
thelatestavailableversionofOpenTXforTaranis.
Close the Preferences window, and select the Burn > Write Flash memory command. Make
sureyourradioispoweredoffandconnected.
Browse for the file you just downloaded. It will berecognised automatically and the versionwill
bedisplayed.
If you wish to replacetheradio'ssplash screen,youcaneither loadone from afile orselectit
fromtheavailablelibrary,andclickthe"Substituteimageinfirmware"box.
Click"BurntoTX".
Once the progress bar is done and the success prompt is shown you can dismiss it and
disconnectyourradio:)
If you get anerror aboutthedfuutilexecutablenotbeing found,open theflashingtoolsettings
withtheBurn>Configuremenuitem.Browseforthedfuutilexecutable,whichshouldbe:
On Windows: In the OpenTX companion installation folder (by default C:\Program
Files\companion9x\dfuutil.exe on 32bit systems, and C:\Program Files
(x86)\companion9x\dfuutil.exeon64bitsystems).
OnMacOS:/opt/local/bin/dfuutil.
BootloaderMethodUpdateFirmwareandBootloaderviaSDCard
1.
UsingCompanion,downloadthelatestCompanionversionandOpenTxfirmware.
2.
On your Taranis, hold both the horizontal trims (rudder and aileron) tocenterandturn on the
transmitter.Itshouldstartupinbootloadermode.
3.
Attach your USB cable between your Taranis and your computer. You should now see two
drives,RemovableDiskandTaranis.
4.
51
5.
6.
Safely disconnect the transmitter from your computer, then remove the USB cable from your
computer.YourTaranisshouldstillbeontheBootloaderscreen.
7.
On the Bootloader screen, select"WriteFirmware". Select the binfile from the FIRMWARES
folder andpresstheENTbutton.Thenewfirmwarewillbeinstalled.Whenitis complete,youwill
bereturnedtotheBootloaderscreen.
8.
On the Bootloader screen, select EXIT and press the ENT button. Your Taranis should now
startupnormally.
9.
Thento update the bootloader, from the normal main screen ontheTaranis,Longpress menu,
then press page togettoSDbrowser.Go totheFIRMWARES folder andpressENT,thengo
to your firmware file and press ENT again.. On the menu which pops up, choose "Flash
Bootloader"andpresstheENTbutton.
TipsusingOpenTX
Usercan'tconnecttotheTransmitterviaUSBusingOpenTXCompanion
Somepeoplemightstruggle toconnect to their transmitterwithOpenTX2.0+especiallyifyouupgraded
fromapreviousversionofOpenTX.
The reason you cant connect to OpenTX companion is because the firmware default USB functionis
JoystickwhenyoupluginatransmitterloadedwithOpenTX2.0+.
Another option is to download OpenTX2.0+ with option (nojoystick) seelcted. This option disablesthe
joystickfunctionality in the firmwarethusthedefaultUSBfunctionismassstorageandassuchyoudon't
needtogointothebootloadertouploadeeprometc.
DifferencesifupdatingwiththeBootloaderorusingdfuuti
UseoftheEDGEcommandwhichreplacesHshortandHlong
TODOusetextfrom
http://www.rcgroups.com/forums/showpost.php?p=28563984&postcount=301
http://www.rcgroups.com/forums/showpost.php?p=28578961&postcount=581
WhatisInputsandthedifferencebetween"[I]Source"andSource"inmixes
TODOusetextfrom
http://www.rcgroups.com/forums/showpost.php?p=28958120&postcount=3006
Howtochangethesplashscreen
TODOusetextfrom
http://www.rcgroups.com/forums/showpost.php?p=28976443&postcount=3110
UseSubtrimstofixmechanicallinkageissues
TODOusetextfrom
http://www.rcgroups.com/forums/showpost.php?p=29129266&postcount=3700
Trims>Subtrims
TODOusetextfrom
http://www.rcgroups.com/forums/showpost.php?p=29260142&postcount=11816
InstantTrim
TheMixlinesisessentiallyamathpad
TODOusetextfrom
https://code.google.com/p/opentx/issues/detail?id=193&can=1&start=100
Ialsowantedtoaskifyoucanexpandthefirmwareandmakepossibletousemathtosetupa
source.forexampleonevalueforgvarscanbeusedtotosetuptheflaperons.
GVARFM0=90
GVARFM1=80
53
CH02(+100%)AilSwitch(SB)
R(GVAR1)AilSwitch(SB)
R(GVAR1)AilSwitch(SB)
(+100%)CH09Slow(u2:d2)
CH09(100%GVAR1)MAXSwitch(SB)
(100%GVAR1)MAXSwitch(SB)
Iwillcheckmonitorandservoandreportback(possiblytomorrow).What
aboutallowingimplementationofmathfunctionsassourceinadditionto
stick,switch,gvars?I.ech9(100gvar1)
ThemixerISamathpad:)
100%CH9
GV1%CH9
OpenTXSound
OpenTXSpeakerVoicegeneratorforTaranis
OpenTX Speaker can be used to produce a complete set of spoken sentences for use in one of the
radios with audio capabilities. You can also change the existing sentences andaddyourowncustom
sentences.OpenTXSpeakerisintendedforuseonWindowsVistaandlater.
OpenTXRecorderVoicerecorderforTaranis
OpenTX Recordercanbe used torecordcompletesetsofspoken sentencesforuseinoneof theradios
withaudiocapabilities.OpenTXRecorderisintendedforuseonWindowsVistaandlater
Settingup
RatesandExponential
TODOusetextfrom
http://www.rcgroups.com/forums/showpost.php?p=29090046&postcount=3505
http://www.rcgroups.com/forums/showpost.php?p=29169826&postcount=3834
4channelfixedwingaircraft
Flaperons
TODOusetextfrom
http://www.rcgroups.com/forums/showpost.php?p=29110658&postcount=3613
http://rcsettings.com/index.php/viewdownload/3fixedwing/49lotsofdifferentwaysimplementingflapero
ns
KnifeEdge(Aileron/Elevator)Mix
TODOusetextfrom
http://www.rcgroups.com/forums/showpost.php?p=28635689&postcount=9702
54
SequenceforRetraction/Extension
TODOusetextfrom
http://rcsettings.com/index.php/viewdownload/3fixedwing/47landinggearandgeardoorsequencingu
singopentx
MultiEngines
TODOusetextfrom
ThrottlecutforElectricPoweredAircraft
TODOusetextfrom
ThrottlecutforInternalCombustionengines
TODOusetextfrom
Helicopters
TODOusetextfrom
Gliders
TODOusetextfrom
http://rcsettings.com/index.php/viewcategory/11sailplanes
BuddyBox/trainer
TODOusetextfrom
http://www.rcgroups.com/forums/showpost.php?p=29067775&postcount=3404
http://www.rcgroups.com/forums/showpost.php?p=29069336&postcount=3421
http://www.rcgroups.com/forums/showpost.php?p=29069673&postcount=3423
HardwareModifications
TaranisChangefromMode1toMode2(andviceversa)
Taranis SH SF switch swap Pats solderless method (good for RevA and
RevB)
TODOusetextfrom
http://www.rcgroups.com/forums/showpost.php?p=26467096&postcount=279
SHSFswitchswapsolderlessmethod
First thing I did to my Taranistodaywasswap the momentary with the 2wayswitchon the other side.
Didn'tfeellikesolderinginanywires,sohereishowitcanbedone.
1)openradio
2)removethenutsholdingthetwoswitchesinplace.
55
3)removetheswitchesandunplugtheconnectorsfromeach.
4)plugtheswitchesintotheoppositeside.
5)reinstallthem.Keeptheconnectorsfacingleftasbeforetogetthecorrectswitchingdirections.
Nowtokeeptheprogrammingthesame:(Momentaryswitchhassomespecialapplicationsinopentx)
6)Carefully unplug connector from P8 on the RF daughter board (topone ontheright side) pullingon
alternateendsseemstobethebestwaytoremoveit.
7)Swapthetwowiresshown,firstfromtheleftwiththirdfromtheright.
(Use the tip of an xacto, small jewellers screwdriver to hold up the plastic tab while pullingon the wire)
Makesuretheyareinallthewayandtherightwayupwhenyoureinstallthem.
8) plug back intheconnector. Support the free end of the PCBwhile rocking itinendto endasyoudid
whenremovingit.Makesureitisfullyseated.
Done.
Ultimately i will replace the momentary with a SPDT ONOFFMomentary switch, that will probably
requiresomesoldering.
While I haditopenIusedabitofhotmelttofastenthewirestotheswitchestokeepthemawayfromthe
gimbals.Mythrottlewashanginguponthemabit.
56
TaranisUpdatinginternalXJTmodulefirmware
TaranisRemoveclicksonvolumechanges
RevA
http://www.rcgroups.com/forums/showpost.php?p=27458997&postcount=1155
RevB
http://www.rcgroups.com/forums/showpost.php?p=27460752&postcount=1161
and
http://www.rcgroups.com/forums/showpost.php?p=27535319&postcount=1215
TaranisUpdatingSpeaker&EnhanceSoundperformance
TaranisAddHapticMotor
WarningifyoudonthavethehapticmotorinstalleddonotloadOpenTXfirmwarewithhapticenabled
57
Resources
Authors
Kilrah(
AndreBernet
)
ckleanth(
GeorgeConstandinides
)
Translators
Acknowledgementofcontribution
Invarioussectionofthisdocumentmaterialhasbeenindirectlycontributedbythesepeople
ScottPage
Pat
Tomfly
PeoplecontributedwritingmaterialforOpenTXUniversity,
http://opentxu.org
References
1.
2.
58