Fork me on GitHub

Project Notes

#455 Piezo Transducers and Buzzers

Exploring techniques for driving piezo transducers and buzzer units for audio output.


Here’s a quick demo..



Piezoelectric sensors for generating sound are commonly found in two form factors:

  • indicator (aka buzzer): complete piezoelectric unit including circuit to produce sound
    • just requires an applied voltage to produce sound - fixed frequency by default
    • may be combined with external circuitry to mix/alter the sound and frequency
  • transducer: a basic piezoelectric diaphragm/disk
    • sometimes called a “passive” buzzer element
    • can be used as an input transducer as well as for sound generation
    • does not self-oscillate - requires external circuit to produce sound


Driving Piezoelectric Indicators

Piezoelectric indicators (aka buzzers) are simple voltage-controlled devices. Typically used as alarms or action feedback indicators. They come in a range of forms - from the very cheap suited to breadboard experiments through to quality devices suited to security alarm installations.

Driving a piezoelectric indicator is simple - it just needs a voltage applied.

Common PCB Mount

Available for pennies and ideal for PCB or breadboard prototyping (however I have come across devices with leads that are far too thick to use on a breadboard without damaging it). It is usually OK to even drive a 3-5V component directly from a 20mA-limit GPIO pin


High Volume Alarms

Beefier devices are more suited to serious alarm purposes, for example this 95dB SPL Continuous Sound Beeper

  • Buzzer Type: Piezoelectric
  • Sound Pressure Level 95 dB
  • Rate Voltage: 12V DC
  • Operating Voltage: 3 - 24V
  • Max Current Rating 10mA
  • Frequency 3900±500Hz
  • Drive Method: Drive Circuit Built in Mounting Holes
  • Sound: “Di” Continuous



Alarms with Effects

Sometimes the piezo indicator circuit has a built-in effect, like for example this device which emits a beep every half a second or so.

  • Sound Pressure Level 95 dB
  • Rate Voltage: 12V DC
  • Operating Voltage: 3 - 24V



Driving Piezoelectric Transducers

Piezoelectric Transducers require an external oscillator to produce sound output.

A common circuit for turning a Piezoelectric disk into a buzzer uses a low-side switch. Plain piezo disks require a bypass resistor to dump the charge (else no sound will be produced). Additional resistance can be added to limit current and reduce volume.

In the following test circuit, I have a 555 astable oscillator with variable resistor to generate a pulse from about 152 Hz to about 10kHz

The 555 output switches a low-side 2N7000 n-channel FET.

I’ve selected a 10kΩ bypass resistor. Lower values start to attenuate the output.

A 2.2kΩ series resistor limits current without much impact on volume.




Credits and References

Project Source on GitHub Project Gallery Return to the LEAP Catalog

This page is a web-friendly rendering of my project notes shared in the LEAP GitHub repository.

LEAP is just my personal collection of projects. Two main themes have emerged in recent years, sometimes combined:

  • electronics - usually involving an Arduino or other microprocessor in one way or another. Some are full-blown projects, while many are trivial breadboard experiments, intended to learn and explore something interesting
  • scale modelling - I caught the bug after deciding to build a Harrier during covid to demonstrate an electronic jet engine simulation. Let the fun begin..
To be honest, I haven't quite figured out if these two interests belong in the same GitHub repo or not. But for now - they are all here!

Projects are often inspired by things found wild on the net, or ideas from the many great electronics and scale modelling podcasts and YouTube channels. Feel free to borrow liberally, and if you spot any issues do let me know (or send a PR!). See the individual projects for credits where due.