Buzzer stops working with MatekH743-bdshot firmware

My quad is running on the Matek H743 Slim. If I use the MatekH743 firmware, version 4.3.6, my buzzer (iFlight JHE) works perfect when connected to the H743 “Buz-” pin. I have RC8_Option set to “Lost Copter Sound”.

If I load the MatekH743-bdshot firmware version 4.3.6 everything works perfectly (including getting esc RPM values) except the buzzer no longer works.

I can switch back and forth between the firmware versions and see the pattern repeated, so I assume this is a firmware issue or some hardware constraint when using bdshot I don’t understand. I’ve attached a set of my configuration settings.

If this is a firmware bug, hopefully it will find its was via this post onto a fix list. If not, perhaps there is some simple workaround. I spent a little time trying to configure one of the servo ports to GPIO to toggle the buzzer on, but that didn’t seem to work either (this could be pilot error on my part).

Backup_051423_bdshot.param (21.5 KB)

Jim

Using BDSHOT can take away from other non-important features due to the resource requirements of BDSHOT.
Personally I disable the buzzer anyway, since usually you can hear it inflight. They can also cause fluctuations on the 5vdc for the flight controller.

Sean, appreciate the response. Was able to work around the problem by enabling one of the servo outputs to a GPIO to control the buzzer. Regards, Jim

Jim I’m having the same problem. Could you explain your solution in detail? And what exact kind of buzzer/voltage are you using?

Thanks very much.

See NTF_BUZZ_PIN and related:
Buzzer

Thanks Dave - been there and done that and still no luck with a couple different types/models of buzzers.

Very dumb question, but - why doesn’t a buzzer just WORK by connecting to the BUZ/related pins?

If I connect a gps to the GPS pins, it works (usually).

If I connect a motor signal wire to a motor pin, it works (usually).

So why not the buzzer?

I’m mostly daft toward a lot of this (building drones for only 10 years) :slight_smile: but I just wouldn’t think it should be this hard to get something as common/simple as a buzzer, to work.

Thanks again…

Bill

bdshot version uses the timer allocated to the buzzer, so the only thing that will work is on/off buzzers
you can use a PWM output with appropriate circuitry by setting the alarm option

Thanks Andy.

So are you saying if a person uses a non-bdshot firmware that a “musical tone” beeper WILL work?

Or, if a given flight controller firmware is offered only WITH bdshot, that simply leaving it disabled will also allow musical tone beeper to work?

And could you explain what you mean by “use a PWM output with appropriate circuitry by setting the alarm option”?

Thanks

So are you saying if a person uses a non-bdshot firmware that a “musical tone” beeper WILL work?

Generally yes, but not always - some are put on pins that don’t have appropriate timers (what you need for musical notes). Many 30x30 boards were built for betaflight which doesn’t really support musical tones anyway

Or, if a given flight controller firmware is offered only WITH bdshot, that simply leaving it disabled will also allow musical tone beeper to work?

No, its done at the hardware definition level which can’t be changed

And could you explain what you mean by “use a PWM output with appropriate circuitry by setting the alarm option”?

SERVOx_FUNCTION 138 or 139 - this will output musical notes on the pin, but note that most buzzers require more current than can simply be delivered by a FMU pin so you either need to use a buzzer that has separate power or use some kind of FET setup

OK Andy, thanks very much.