Setup Reliable Low Voltage Alarm on Taranis using Logical Switch

If you use Telemetry and voltage warning on your Taranis TX, you might notice the frequent false alarms due to voltage fluctuation, e.g. sudden drop in voltage due to punch-outs. In this tutorial we will show you how to set up Logical switches to make a more reliable voltage alarm.

For beginners, we recommend you to take a look at this guide on how to setup a simple voltage alarm to gain a basic understanding how this work.

Also check out this list for more awesome Taranis hacks and tricks.

Disclaimer: There are million ways to achieve the same thing, this might or might not be the best or most efficient way, but it works great for me. Please let me know in the comment if you have different ideas.

Why set up voltage alarm on the Taranis?

There are many ways to monitor your battery voltage, such as using OSD and voltage alarm buzzer. But my favourite way is to use the Taranis for low voltage warning.

You can make a low voltage alarm easily in the Taranis using simple logical switches, but the amount of false alarms can be both annoying and confusing.

So in this article I will show you how I setup a more reliable and sophisticated low voltage alarm.


Step 1 – Setting up Logical Switches

Logical switches are just virtual switches, they can be activated when certain conditions are met.

We can use these switches to create audio and visual feedback both on the Taranis and on your quad. For example, to play a warning, or read out the battery voltage :)

On your Taranis, go to the page “Logical Switches” by pressing the [MENU] button once, and press the [PAGE] button to skip to the next page.

The following screenshot shows the logical switches on my Taranis.

They might look a bit daunting, but they are actually quite simple! i will explain the purpose of each of these Logical Switches.

Logical Switch Conditions Info
L01 a<x   VFAS   14V   L02 This is our primary logical function, it will activate when VFAS (our battery voltage) gets below 14V and when L02 is on (you can set it to any voltage you want, 14V is a good value for 4S LiPo batteries)
L02 a>x   VFAS   0   L03 This switch is used to avoid false alarms when we are just powering on the Taranis TX. When Smart Port is initiating, VFAS will read 0V. This switch is only on when L03 is on.
L03 a>x RSSI 0dB This switch is also used to avoid false alarms, when Telemetry connection is lost.
L04 Edge   L01   [4.0:<<] Battery voltage on our mini quad can jump up and down a lot, and the edge switch is there to prevent false alarms caused by voltage fluctuation.
It will only activate when L01 has been activated more than 4 seconds, i.e. it will only turn on when voltage is below 14V for 4 seconds or longer. The switch will not activate when L01 suddenly deactivates before the 4-second is reached, i.e. voltage is recovered above 14V.
L05 a>x   VFAS   14V This switch is used by the next switch, it simply checks if the battery voltage is recovered above our threshold voltage
L06 Stcky   L04   L05   L07 This is the switch we will use in our Special Function.
The Sticky switch activates when the first parameter is activated (L04) and it turns off when the second parameter is on (L05). This switch stays on or off until the one of the parameters changes state, thus the name “sticky switch”.
L07 Timer   6.0   0,1 Without this timer switch, the voltage warning will only trigger once, if that’s what you want you can simply remove this switch. Using this timer switch, the warning can every 6 seconds (you can change to whatever duration you prefer). Beware this switch is added to the “AND” function of L06.

To summarize what we have so far… L06 is only activated when the voltage drops below 14V for more than 4 seconds (L04), and L06 is disabled when the voltage rises above 14V (voltage sag recovers or new LiPo attached). The timer switch will ensure the warning is triggered every 6 seconds.

Step 2 – Setting up the warning

There are more than 1 way to inform yourself of low voltage, you can choose to:

  • Play an audio track, that says “Warning, voltage is getting low, please land ASAP” or something like that :)
  • Or simply read out the voltage

I personally prefer to just know the actual battery voltage, so in the next page, “Special Functions”, assign L06 to a function, and select “Play Value” and “VFAS”.

That’s all! Now the Taranis will keep telling you your battery voltage every 6 seconds when it’s below 14V, most importantly you should get the minimum amount of false alarm.

If you have any questions, feedback or improvements to this script feel free to share them in the comments.

Edit History

  • Jun 2016 – Article was first created by guest writer, Salih Ergezen
  • Nov 2017 – Updated Logical switches for the latest OpenTX 2.2 and some improvements were made

38 thoughts on “Setup Reliable Low Voltage Alarm on Taranis using Logical Switch

  1. Carlos Mario

    Thanks for this guide, Oscar.
    I have a question, whenever I power on the radio it reads “Zero volts” just once, ia there a way to stop it from happening? I did followed all the steps in your guide on my Xlite.

  2. Geraldo

    Thanks for the tutorial, when the quad battery is below 14V and I disconnect the battery (telemetry lost) the warning continues to be triggered every 6 seconds, is there a way to fix it? Thanks!

      1. Geraldo

        Thanks for the answer… No i’m not, my L03 is the L07. So it doesn’t happen to you, it may be something related to the logical switches ordering, I will try to put them first like yours, mine is like this:

      2. Benoit

        L03 will not be checked by the sticky function to switch it off.

        When there is no ‘AND’ parameter defined in the sticky switch, the sticky function will only change from False to True when the ‘ON’ parameters transitions from False to True. The value of the ‘OFF’ parameter is not looked at. Once the sticky is true the value of the ‘ON’ parameter doesn’t matter anymore (that is why it works with the Edge function which is only on for a very brief time). For the transition of the sticky from True to False it is comparable. It will only go to false when the ‘OFF’ parameter gets true, whatever the value of the ‘ON’ parameter. It is important to note that what is triggering a change in state of the sticky is a transition of the ‘ON’ or ‘OFF’ parameter from False to True (not the actual state of the parameter). So if sticky is True and the ‘ON’ parameter is also true, it will switch off if the ‘OFF’ parameter goes from False to True. It will only switch back to true when the ‘ON’ parameter gets from False to True (so it will have to switch from True to False and back to True to activate the sticky).

        When an ‘AND’ parameter is added to the sticky, the True state changes to a ‘potentially True’ state, from which the value depends on the value of the ‘AND’ parameter, if the ‘AND’ parameter is True it will be True if not it will be False. This ‘potentially True’ state further behaves exactly as described above for the True state without ‘AND’ parameters.

        So, in your script the only event switching the sticky off is defined in L05 and thus the alarm will switch off only when VFAS gets bigger than 14V. If VFAS doesn’t get above 14V after the flight the alarm will stay on. As the telemetry data for VFAS is not updated anymore on loosing telemetry or removing the battery (it doesn’t go to 0 but stays at the last value), it will stay on…

        It all sounds very complicated, but it is easy to test by assigning 3 switches to the ‘ON’, ‘OFF’ and ‘AND’ parameter. That is what I did to understand it…

      3. Geraldo

        Thanks Benoit, I understood it… Basically I need a transition from false to true to disable the sticky… I’m trying to create it, thanks!

      4. Geraldo

        I found a possible solution, if I use a function like “VFAS>14 XOR RSSI=0” to turn the sticky function off it would work (I think) but when the telemetry is lost my RSSI value freezes =(

  3. Antoine

    I just have to post because it is wayyyyyyyy to complicated for no reason . I i like oscarliang website and i rarely comment so i have to do something about this.

    Remove/Delete L04
    Remove/Delete L05
    Remove/Delete L06
    Add delay “4.0” to L1 (last option in the line in opentTX)
    Change VFAS to A4 (only available on newers version of cleanflight/betaflight i think , surely was not there some time ago i clearly remember)
    Change 14V to 3.5V (or any suitable value for you) 3.5 X 4 = 14V read bellow
    –>> this way you can have ANY CELL COUNT , the alarm will ALWAYS be adapted
    –>> A4 is the calculated voltage of 1 cell by the Flight controller
    AUTODETECT cell count when you plug battery , very reliable , not a false count in thousand of flight
    In special fonction replace L06 by L01
    It will do EXACTLY the same behaviour as previously

    Remove/Delete L07
    In special fonction replace “1x” by “6s” (repeat every 6 second like L07 before)

    We can easily add Throttle stick Level to avoid alarm after landing (normaly if you land fast enough the voltage will go up and the alarm will stop)
    L04 a<x Thr -95
    in L01 add L04 after 3.5V

    Regarding L02 and L03 i dont see any use either , i dont use them for more than maybe something like 2 years and never have a false positive.
    SmartPort data is empty when i power my TX , not "0" and so L01 is not activated.
    tested with openTX 2.0 dont remember, 2.1 sure , 2.2 sure

    Regards , have a nice flight

    1. monster

      This is pretty slick. Amazing open TX work – i’d like to impliment it on a model – but the oscar ling way sounds like it will work a little better with all platforms raceflight / and kiss in mind. Betaflight already has such a fancy OSD i dont really need to set this up but the fact that you can shows why BF is so amazing.

  4. Brad

    Question: I use both 3S and 4S batteries. How would one go about setting a switch to change the alarm voltage?

  5. Ed Scott

    Instead of L1 checking L02 (Above 0) and L03 (RSSI) why not just check that the ARM Switch is High, mine is SG. This will also prevent avoid false alarms when we are just powering and saves 2 steps.

      1. Chris lowe

        I like the way this works over any of the throttle position based setups. However I am having an issue I haven’t found the solution to yet. Once the alarm trips and i land. If the voltage did not climb above 14v before I unplugged the quad. The sticky is still updating and warning every 6 seconds. I either have to turn my transmitter off, or plug in a new battery to stop it. How can I get it to recognize that it’s unplugged and disable the sticky? Can I trigger it based off arm status, or have it look for rssi below a threshold?

      2. Oscar Post author

        okay, maybe we can add another logic in there with throttle level, or arm status like you said (switch position), but I think throttle level is better. When you’ve landed, throttle level should be lower than 5% or something… i will revisit this when i have time.

  6. Beeb

    For OpenTX 2.2, the Edge switch must have the following time constraint: [3.5:<<]. Otherwise, the switch will wait until L1 is false to trigger.

  7. Frank

    Please ignore the former post.
    Confirmed working on OpenTx 2.2 and with a certain elegancy:
    L01 as above
    L02 as above
    L03 a>x RSSI 5 dB —- 0,0 0,0
    L04 SRFF L01 L02 L03 0,0 3,5

    Best regards, Frank

  8. cahe

    This doesn’t work anymore. Please update according to changes to Edge switch in recent opentx releases.

    1. Oscar Post author

      Yes the old version was outdated, we have just updated the script for OpenTX 2.2.
      Everything should be working now.

      1. Roberto

        Oscar, Where is this updated script available for opentx 2.2
        pleasse help out.

        my taransi keeps reading the voltage after battery disconnect.

        Thx a lot

  9. Rigo Torres

    Hi Oscar,

    Thanks for the writeup, very useful. I’m new to the Taranis, got it last night. Everything is set up but I did find the voltage warnings annoying on punchouts.

    Quick question though, what if we wanted to add two warnings one for battery low and one for battery critical? Would it be a matter of copying the first 4 switches again with different values?

    I think I’m missing a step somewhere so that it stops giving me low battery and to just give me battery critical after it drops under a certain threshold.

    Thanks Oscar :)

  10. Edgar

    I added one more switch that there is no alarm if the voltage is below 1V. I did this to avoid the annoying warnings if my main battery is not connected i.e. if I configure CleanFlight.

  11. Aaron

    Wow gonna try this. Im wondering why my Taranis warns me at the right time battery is critical . Battery voltage is reading back correctly on the screen . But she says 3volts all the time 3v , 3v, 3v. no matter what the voltage is.

    1. Mark

      Sounds like you have updated your firmware on your taranis. Believe it or not you need to download a new sound pack. I had this problem, i also have a custom sound pack, I solved it by getting the new pack and looking at the differences and found the sound files for decimal numbers and added those to the radio, works as advertised now.

      1. TomDrone


        It doesn’t really work in my case. I have all new sound pack (including sounds for decimal numbers) but it doesn’t work as you write. I’m facing the same problem as Aaron when amber is saying 3 volts all the time.

        Whichever forum or facegruup I ask the question about it I got the same answer – update sound pack to newest one which is not really a solution.

        Oscar – this might be something for you ;-)

  12. Adriano

    Liked your solutuon! And learned some new functions, thanks!
    Just sharing how Its mine…
    I use only one function (like yours L1), addind the seconds on duration and delay columns (last 2 columns)…
    This function triggers a playtrack like you do.
    I don’t use feedback to the quad, as the tx is always near (and “singing”). I also have a channel/switch to activate beep on flight control (used only as a beacon when crash).

    1. Mark

      Yeah i’m not sure if i’m missing a benefit to using “edge” over the delay feature in every single logical switch!

  13. David Kyjovský

    I use a similar system – except instead of using a delay, I suppress the alarm IF my throttle is above certain threshold (like 20% above mid throttle). Works great.

  14. Sketch

    I used the throttle stick to avoid false battery warnings on punch outs, a lot less complicated. Instructions in this video.


  15. Paullex

    Hi Oscar, your Battery source is A4? If I am using X4r-sb, using smartport, should I be using Vfas as source and instead of individual cells (3.6 etc) I use the full pack voltage (ex. 14.6)?


Leave a Reply

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

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