Using the DShot Beeper in Betaflight – a quick and easy guide

Update: June 2019

At some point (I didn’t quite notice when, I just noticed it one day) the ability to setup Dshot beeper via the configuration tab was added in.  It certainly saves messing around with the CLI, and so is recommended.  I’m leaving the remainder of the original text as it was for reference about what you are changing under the covers.  I still don’t recommend using RX_LOST.

We covered the use of the DShot commands including setting up a DShot beeper and Turtle mode in a magazine article from April 2018 here but as there have been a few changes since this time, I wanted to come back and write a quick guide to setting up the beeper, rather than amending  that larger article with a few snippets.  However, if you are not sure about how it works at all, or what the pre-requisites are (essentially running DShot and having a minimum version of BLheli_S on your ESCs) then go and read the original piece first.

For the rest of you, a quick list of what changed.  In 3.2 the DShot commands were added into Betaflight and this gave us the ability to use a DShot beeper via the CLI command: beeper_dshost_beacon_tone.  When this was first released, we could use it with a switch (RX_SET in betaflight terms) but it wasn’t possible to use it if the control signal was lost (RX_LOST).  The Betaflight developers then went a fixed this so the DShot beeper would work in both circumstances.

But this was an issue, having the DShot beeper going for a long time isn’t kind to your motors and other people wanted the ability to use turn specific things off when using the DShot beeper, so in Betaflight 3.4, the beacon command was added.  I, for one, keep forgetting it’s name and hence I’m documenting what you need to do to have a DShot beeper working in 3.4 and above.

Take a look at the snippet from the CLI

A few changes here, the beeper_dshot_beacon_tone used to have a default value of 0, meaning it was off.  Now it is set to 1, which used to mean it was on, but at it’s quietest.  But now any value in beeper_dshot_beacon_tone doesn’t matter unless you look at what the beacon command is set to.  (I wouldn’t normally recommend setting the tone of 5 – the highest.  This is on a whoop-style quad, so needs as loud as it will go to stand any chance of finding it)

So beacon is a command, not a setting.  Just type beacon and it’ll tell you what’s disabled.  Note it won’t actually tell you what’s enabled, but you can use beacon list to see what’s available.  So you simply type beacon RX_SET to enable the DShot beeper to work with a switch, or RX_LOST if you want it to beep if the control signal is lost.  I don’t recommend using RX_LOST.  As mentioned before, you don’t want your quad laying there for minutes or hours beeping away using its motors.  If you are too far away that your radio can’t get a signal, then you are probably also too far away to hear the beeper as well.  Your mileage may vary though.  Incidentally, you can disable what beeps with ‘-‘ flag, so beacon -RX_LOST to disable RX_LOST.

As I write this, the current crop of quads du jour is the 2S “Tiny whoop” style quad which has enough power to fly happily outdoors, but hardly ever contain a proper beeper, and the DShot beeper never seems enabled by default.   So don’t forget to enable it to stand any chance of finding your tiny quads again !

One thought to “Using the DShot Beeper in Betaflight – a quick and easy guide”

  1. Nice post thanks. I found it by searching for dshot beacon but actually found the old post. It might be worth adding a link from the old post to this new one as it’s more relevant now.
    Keep up the great work, thanks.

Leave a Reply

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