VTX Control: change VTX settings from Betaflight OSD or Taranis

VTX Control is a new feature in mini quad VTX’s that allows you to change VTX settings such as channel and output power in your Betaflight OSD or using your Taranis LUA Script. VTX Control is sometimes also called “VTX Telemetry”.

No more fiddling with dip switches or push buttons!

It’s so much easier to be able to change VTX settings remotely using your radio transmitter. It might not sound like a great deal, but once I tried it on my quads a few times, I was totally blown away how convenient it was and I strongly recommend giving it a go yourself!

VTX Control is useful, say when you was in race and you crashed, you can enable PitMode on your VTX right from your seat without rushing to your quad. This ensures minimal disruption to other pilots who are still in the air, and potentially protects your VTX from overheat due to the lack of airflow.

Check out our VTX guide for beginners.

Index of Content

Limitation

One issue with VTX control from OSD is that you have to be on the correct channel to begin with, otherwise you would have to go through the frequencies on your VRX to find your VTX channel.

That’s why it’s probably easier to do it from your Taranis Screen using Lua script, you can change video transmitter settings regardless of your VTX channel.


Video Transmitters That Support “VTX Control”

There are currently a few different types of protocol that allow users to change VTX settings from their Taranis using LUA Script, or in the Betaflight OSD menu.

However most VTX manufacturers seem to only use either “Tramp Telemetry”, or “SmartAduio”. Here is a list of the latest VTX’s that use these protocols and support VTX Control:

Tramp Telemetry:

SmartAudio:

All of these different protocols serve the same purpose, and the setup should be similar except in Betaflight Configurator you need to select which protocol you are using.


Hardware Connection

You only need to connect one wire!

Connection of different VTX protocols is the same, the only difference is what the pin is named. For VTX’s using Tramp Telemetry, the pin of connection is usually called “Telemetry“, while for the SmartAudio, the pin is called “Audio” or “SmartAudio“. Some even call them FC UART…

Simply connect the “Telemetry” pin or “SmartAudio” pin to the TX pin of any UART.

Example connection between the Betaflight F4 FC and AKK X2 VTX


Settings in Betaflight

In Betaflight Configurator, go to the Port tab, and under Peripherals of the UART you’re using for VTX Control, choose the corresponding protocol/device from the dropdown.

  • For Unify Pro VTX and AKK VTX’s, choose “TBS SmartAudio
  • For Tramp Telemetry, select “IRC Tramp

Save it and FC should now reboot.

Then go to the Configuration tab, and enable Betaflight OSD feature. If you are new to Betaflight, here is a guide that shows you how to use Betaflight OSD.

Save your changes, and that’s it, you should now be able to access the Betaflight OSD, and see your VTX settings.

Access VTX Control in Betaflight OSD

To enter the Betaflight OSD menu, simply move your throttle to the centre and yaw left, while pitch forward.

Select “Feature” in the OSD menu.

VTX SA” is for SmartAudio, and “VTX TR” is for Tramp Telemetry. Select the one you are using.

And in this screen you should be able to see your VTX settings.

If no info is displayed, then there is probably something wrong with your hardware connection, or perhaps wrong port settings. Try a different UART if you keep getting problems. Also you can try Soft Serial if nothing works.

The interface is self-explanatory, here you can change VTX band, channel and output power. To save the changes, select “SET“, and “Confirm“.

VTX Control also works with MinimOSD too if your FC doesn’t have Betaflight OSD integrated.

Here is a tutorial how: http://intofpv.com/t-control-vtx-through-minimosd


How to change VTX Settings from Taranis using LUA script

In order to use VTX Control from your Taranis you need to:

  1. Follow sections “Hardware Connection” and “Settings in Betaflight” in this guide
  2. Setup LUA script on your Taranis; Tutorial: How to Setup Taranis LUA Script in Betaflight
  3. get Smart Port Telemetry working in your quad

This diagram shows you how simple the hardware connection is.

Example connection between the Betaflight F4 FC, R-XSR RX and AKK X2 VTX

And now you should be able to change your VTX settings, PID and rates right from your Taranis screen, how convenient is that?!

Not working?

If you cannot see the VTX page in your LUA script, but you can see the PID and Rate Pages, then there is something wrong with your SmartAudio / Telemetry connection or port config. You should verify if it’s working in Betaflight OSD too.

If none of the pages are working in LUA script (including VTX, PID and Rate), then your LUA script probably isn’t configured correctly. If you are using the R-XSR receiver, you should get it updated to the latest firmware (201710xx) which fixed a known bug with LUA script. (Here is how to flash Frsky RX) Try different UART, and also try Soft Serial.

27 thoughts on “VTX Control: change VTX settings from Betaflight OSD or Taranis

  1. Tucker Tanis

    Hoping I can get a response. I have a tbs unify hv, and whenever I unplug the battery and plug it back in, the vtx reverts back to 25mw. Even if I set it higher in the osd. I heard somewhere that the FC is telling the vtx to revert back but don’t know how to change it. please help.

    Reply
  2. LCoolen

    Hi Oscar,

    Great work on the website it opend the world of FPV to me.

    I am using a Matek vtx hv on betaflight 3.5, I tried to change the power output of my VTX via the OSD menu. Though when I set the value to 200mw for example, the LEDs on my VTX do not display this change in setting and stay lit on the 25mw.
    Is this normal? the LEDs should show the change in power output right?

    Please help.

    Reply
  3. clar

    Hey Oscar, your videos are so instructive for me. Thanks a lot!

    A short question: do you see any possibility to bind, for example, a rotary knob of FlySky I6 TX to transmitting power of AKK FX2 VTX? That would be so great, to change the power on air.
    From a short search, it sounds like I need to flash the OpenTx implementation for FlySky and make some LUA Scripts.
    Or?

    Thanks

    Reply
    1. Oscar Post author

      I believe this is possible with Betaflight… but to be honest i’ve not looked into this feature/function yet. Maybe i will cover this in the future. thanks for the idea!

      Reply
  4. Mike Malinoski

    I’m using sunrise cicada aio F4 I can see and change VTX Settings in osd but won’t save plus I don’t even have telemetry wire hooked up I’m trying to use led pin but not having success please help can I put it on tx6 even though I’m using Ibus on rx6 ??

    Reply
  5. Scott Bradford

    Great article. Only problem I’m having is the settings don’t save once kwad batt is unplugged. I have to select band and power every time I change batt on kwad. When I disconnect/reconnect Aomway power settings remain unchanged (as set) I’m running Atlatl VTX and Aomway goggles. Is this normal? If not, any suggestions? Btw I’m new to kwads.

    Reply
    1. James

      Scott I have this issue too with two of the three TBS vex I have. It then always verts back to 5740 even when I even set by the buttons in the vtx. The only way to get it to stay on the setting is to turn smart audio off. I think I prefer the dip switches on my aomway too. They are much quicker.

      Reply
      1. james

        Cancel above – just re flashed my tx. Now changed channels via tx and the lua scripts are not even crashing anymore or out of memory’ing. Now after removing battery the channel and band remain on the set one.

  6. Francisco Gomes

    Hello, and first thanks for sharing your knowledge with us. I have this flight stack 20x20mm HGLRC F438-TX20 V2 Flytower Micro F4 Flight Controller & 33A BL_S ESC & 25/100/200/350mW VTX and I connected the ‘OSD TX Control’ from VTX to ‘TX3’ to Flight controller, and I want to know, if to use this Lua script for my Taranis QX7 if I need a receiver with smart port like the R-XSR or if I can do it with mine XM+ micro receiver.

    Thanks.

    Reply
    1. Jeremy

      You have to have a receiver with smart port telemetry to use lua scripts. You can still change the vtx settings with betaflight osd.

      Reply
  7. Adamooo

    Trying to set up lua scripts to control VTX, and my flight controller does not have Vin/Vout for Betaflight OSD. Your lua section says to follow the “Settings in Betaflight” section earlier, I have configured Ports but I assume I do _NOT_ have to enable Betaflight OSD under Configuration as I don’t have that feature? FrSky SmartPort telemetry is already working on a separate UART, I am receiving FC telemetry (e.g. Vfas).

    BF lua scripts load VTX page but all values are 0 and I can’t edit.

    FC: UHF DTFc with Betaflight 3.1
    VTX: RaceDayQuads Mach 2 with Smart Audio
    Xmitter: Taranis X9D+ running OpenTX 2.2.1 w/lua
    (trying SoftSerial on the LED_STRIP pin, which may be the problem, just want to make sure I’ve kicked other tires before re-soldering elsewhere)

    Thanks!
    Adam

    Reply
    1. Oscar Post author

      Yes you are correct, you only need to setup SmartPort and Telemetry, no need to enable OSD.
      Why not update Betaflight to 3.2?
      Make sure you selected SmartAudio and not Tramp Telemetry in the Ports tab.
      Do you get PID / Rates in the LUA script?

      Reply
      1. Adamooo

        Corrected Betaflight is 3.2.4.

        I had some separate issues with out-of-memory condition document e.g. here:
        github.com/betaflight/betaflight-tx-lua-scripts/issues/97

        In addition to some clean up for that, I moved Smart Audio to a physical UART instead of SoftSerial, and lua screens are now working. I can set VTX details as well as FC PIDs etc. Suspect SoftSerial was the issue.

        Thanks for the article, and the reply.

  8. Tim

    Great tutorial. I now have Taranis control of vTx, among other things. Had to flash my R-XSR to get the LUA to work. And I used your tutorial for that too. It all worked out. Thanks.

    Reply
  9. Irwan

    Im using matek hv..its working great but some time the vtx value is not appear, i check the connection all ok..it happen several times, even im replace the uart and also replace the matek hv itself with new unit (cause i tought its hardware issue)…any advise on this?

    Reply
    1. Oscar Post author

      there are still bugs in the LUA script that affect VTX usage, sometimes values get stuck or not appearing until you re-enter the LUA script. Future script update should fix that.

      Reply
    1. ZEFel

      just by using script VTXprog.lua from that post github.com/betaflight/betaflight/issues/3094
      i found one problem – have to change the file name to shorter one. vtxprog.lua >> vtx.lua for my Taranis Q7 to get this script found in custom lua scripts section.

      Reply
  10. James Heenan

    Hi Oscar,

    I have set-up Tramp Telemetry on my Betaflight F3 board with no problem. I just got a Betaflight F4 board for a new build, and I cannot get Tramp telemetry to work. I have tried wiring and configuring Tramp telemetry with different UARTs, with and without soft serial. No matter what I try, I can’t see or change the VTX channel in my Betaflight OSD.

    Do you have any tips for getting tramp telemetry working with a Betaflight F4 board?

    Thanks,
    James

    Reply
    1. Oscar Post author

      When finished setting up, always power cycle your FC (unplug USB and battery, then power it back on).
      Also with the BFF4, UART2 is inverted, so you can only use UART1 and 3 for SmartAudio.
      It should work with or without soft serial.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

Are you Robot? *

For prompt technical support, please use our forum IntoFPV.com. I check blog comments weekly.