Leave Your Message
Active and Passive Buzzer Driver Circuit Design Guide: Prevent Failures and Improve Product Reliability
Blog

Active and Passive Buzzer Driver Circuit Design Guide: Prevent Failures and Improve Product Reliability

2026-06-26

Introduction
An electronic component as small as the buzzer is found on a circuit board. Most of the engineers put more time in choosing their micro-controller or power management IC than in buying the buzzer. That is understandable. However, it can be the place where difficulties begin as well.
A driver circuit is simply a circuit that allows you to switch between your microcontroller and buzzer. Get it right, the buzzer will function reliably for the life of the product. It could be one of many issues: no sound, distorted sound, unpredictable sound or even an MCU GPIO pin or power rail that goes haywire across the entire board when you've gone wrong.
These are edge cases and not uncommon. The above are failures which commonly occur during development process and sometimes after mass production. There are almost always the same root causes, Under estimating current needs, neglecting back-EMF from inductive loads or having the wrong topology.
This blog takes you through the primary buzzer driver settings, then discusses them in simple terms and presents the most popular buzzer driver mistakes and how to avoid them. BESTAR has a wide variety of active & passive buzzers available, we have shipped them to many application industry and regularly review and design driver circuits for customers. This is a blog that is written keeping in mind the experience gained from really encountering issues in the field.

Part One: Driving an Active Buzzer
An active buzzer output should have an internal oscillator circuit as part of the component. It plays sounds when you put a direct current voltage in. No frequency is required. All that is required to do is to switch between powering on and off. This will make it very easy to control active buzzers, but the driver circuit must be attended.


Option One: Direct GPIO Drive
The current flow in some active buzzers is very small, generally below 10 mA. In these cases, it is possible to drive the buzzer directly from an MCU GPIO pin. The current of MCU can output varies from pin to pin with the specific MCU, and ranges from about 8mA to 20mA.
When a buzzer's operating current is in between the above values, direct GPIO drive can be used. But you must be sure to check datasheet for both your MCU and your buzzer, you must check for yourself that the GPIO pin current limit is not a per GPIO limit; and you must confirm by your own that you can still fit it into the total current budget of the GPIO power domain for your MCU. Exceeding these limits for any period of time can damage or ruin the GPIO driver circuitry.
Do not use the direct-driver approach with any buzzer with an operating current larger than 10 mA. Change to use a transistor switch instead.


Option Two: NPN Transistor Switch Drive
The common way to induce an active buzzer, and the one that we suggest using in most cases.
The basic circuit is a transistor. The buzzer is placed in the collector circuit for the transistor between the positive supply rail. The emitter is grounded. The MCU is connected to the transistor base via a current limiting resistor.
When the GPIO pin is set to high, the pin induces a current in the transistor, which is known as base current. The transistor is turned on, and current flows from the power supply, through the buzzer and back down to ground. The buzzer sounds. When GPIO pin is set to Low, then the base current is not pushed through and the transistor turns off, buzzer  stops beep.
A means to free the buzzer completely from the sound of the buzzer current of the MCU. All it requires is a couple millamps to put current into the output of the buzzer current is completely through the transistor. The buzzer uses the power that follows, you stay safe.
Choose the transistor based on the transistor's current capacity with a buffer to be safe. For a buzzer that needs 50mA, you'll need a 100mA (at least) transistor. To determine this, perform a calculation to make sure that the transistor saturates completely when the GPIO pin is high. Unless it is fully saturated, a transistor will have a heat that will not switch perfectly.

Part Two: Driving a Passive Buzzer
There is no internal oscillator in a passive buzzer. It basically consists of an electromagnetic coil and a diaphragm. To cause it to emit a sound, a frequency signal adjusted to the frequency of the desired sound is applied to it. Apply the DC and nothing happens. Apply a square wave at 2 kHz and it produces a 2 kHz tone. Increase or decrease the frequency and pitch changes.
This way you can set your own sound output levels for tone, melody and timing. It also results in a somewhat more complicated driver circuit.
This configuration uses a single transistor in PWM mode.This is a single transistor PWM configuration.


Option One: Single Transistor with PWM
The simplest passive buzzer driver is a single NPN transistor configured in the same manner as the above switching circuit, but the MCU pulses the base instead of driving it with a constant transistor control signal.
The MCU produces a square wave on the GPIO number of a pwm capable one. This square wave can also be used to control the frequency, which in turn can change the pitch of the buzzer. Current pulses are given to the buzzer coil, with the transistor being turned on and off at that frequency. The sound pressure it produces is proportional to the frequency to which it is driven and it vibrates back and forth accordingly.
Change PWM frequency in firmware to change the tone. To stop the sound, either stop the PWM output or hold the pin low. This is a clean, low component count offering performance suitable for most consumer, industrial uses where a moderate volume level can be tolerated.


Option Two: H-Bridge Drive for High Volume Applications
For those applications that demand high sound output and driving a passive buzzer with low power supply voltage, an H-bridge buzzer driving circuit may be considered.
A normal single transistor driver will only direct current into the buzzer in one direction. The buzzer coil and diaphragm oscillates in one direction for every drive pulse and in the other direction is mechanically returned. Buzzer is powered by H-bridge in both directions alternately which makes the mechanical stroke amplitude to double at the same supply voltage.
This has the effect of a sound pressure level rise of 6 dB or more, depending upon the mechanical properties of the buzzer. The difference is between a buzzer that can be heard throughout a quiet room, and one that will work in a moderately noisy factory setting.
Take the buzzer between the two output ports of the H-bridge, and use opposite PWM signal from the MCU. The bridge voltage is switched at every half cycle of the drive voltage between positive and negative values in the buzzer coil.

Part Three: Common Driver Circuit Problems and How to Solve Them
Problem One: The Buzzer Will Not Turn Off Completely
Symptom: After setting a GPIO pin low with buzzer off, it's still being heard, or a GPIO is confirmed as low and the buzzer is still playing.
Cause: There is a small leakage current (when in the low state) in GPIO pins. In certain arrangements, this leakage is sufficient to partially activate the transistors putting a low current through the buzzer coil. This is particularly with the sensitive buzzers or higher temperatures.
Fix: Place a resistor between the transistor base and ground. This resistor provides base leakage current the path to ground and fully switches the transistor off when GPIO pin is low. This is a normal part of a properly designed transistor switch circuit and should be provided at the outset.


Problem Two: The MCU GPIO Pin Gets Damaged After Running for a While
Problem: After using a while, the buzzer control has stopped working. When a test is performed, it is clear that the GPIO driver is faulty. This is more likely to occur when using electromagnetic buzzers that are turned into at higher power levels.
Cause: An inductive load is a coil that resides in an electromagnetic buzzer. A sudden switch off of current through the inductor causes the magnetic field to collapse and the energy must be dissipated elsewhere. It will create a voltage spike (peak voltage) in the reverse direction, sometimes as much as 50V or more depending on the circuits. This current hits the transistor and sends its way back if the transistor is not suitable for it, or through the GPIO pin. Repeatedly shocked over time erodes or ruins the transistor/pin.
Fix: Connect a flyback diode to the buzzer, cathode to positive supply and the anode to the collector side of the transistor. Once the transistor shuts and the inductive spike gets to the transistor, the spike will be clamped to the diode drop, above the supply voltage and it will dissipate at no risk of damaging the diode. The spike is never seen at the GPIO pin. 


Problem Three: The Screen Flickers or the MCU Resets When the Buzzer Activates
Symptom: Visual noise (brown noise) appears on the display upon buzzing or the MCU resets or acts up on buzzer. When the buzzer is taken off, the problem goes away.
Cause: The inrush current on buzzers is fairly high when they switch on. This inrush reduces the power supply voltage for a short moment when it is installed on a common power rail with minimal bulk capacitance, or when installed on a thin PCB trace. When a digital circuit or microcontroller gets a drop in its power supply to the brown-out reset threshold, it resets. When displaying, a voltage drop results in lines that are visible.
Fix: Put a decoupling capacitor as close as possible to the power pins of the buzzer. The capacitors are local storage, and they provide any inrush current required by the buzzer when it turns on, but smooth any sudden demands before reaching the rest of the power rail. If a problem still occurs sometimes, then perhaps a small series inductor or ferrite bead between the common power rail and the buzzer supply line will help but further isolate the transient.

buzzer-inside.png

BESTAR: More Than a Component Supplier
BESTAR has years of experience in the electroacoustic components field. Actives Buzzers & Passives Buzzers are supplied as can in large numbers to manufacturers in various industries such as Consumer Electronics, Industrial Equipment, Medical Devices and Automotive. Tolerances in the tight range for frequency, current and acoustic output are ensured to maintain the consistent output high volume production.
However, we realize that providing a good buzzer is just one of our customer's needs. The buzzer must be able to perform well in actual use, in a real circuit, on a real PCB, in actual operating environments. BESTAR's engineering team extends its service to our customers for engineering their drivers' circuits and reading engine drawings.
We have a lot of experience in determining whether a buzzer specification or a driver circuit design is the issue with reliability problems, if you are already in production. Our aim is to make it easier for you to make a reliable product available sooner and with fewer hardware revision changes.

Conclusion: The Driver Circuit Is Part of the Product
A buzzer is a straightforward component that works with a straightforward job. Correct buzzer function requires a driver circuit capable of matching the electrical characteristics of the buzzer, output ability of the MCU and power supply capacity. The three following hardware failures are the most common and most expensive hardware failures that can be avoided if those three things are taken care of from the start.
Discuss your supply voltage, current budget, board space and acoustic needs with our technical team. We will suggest the appropriate buzzer to be used for your application, and give your direction on the driver circuit to match. To get samples or make arrangements for the engineering team to come for a technical consultation, please call BESTAR.