Buzzer / Piezo
Passive Piezo Buzzer
Piezo buzzer that requires PWM — play melodies and variable-pitch tones, not just fixed beeps.
A piezo buzzer that requires a driven PWM signal, allowing variable-pitch tones and simple melody playback rather than a fixed beep.
Specifications
| Operating voltage | 3V - 5V DC |
| Control | Requires a driven square wave (PWM or the Arduino tone() function) — pitch equals drive frequency |
| Usable frequency range | ~2kHz - 5kHz for clearly audible tones (piezo response falls off outside this band) |
| Silent when idle | No internal oscillator — a constant HIGH or LOW produces no sound, unlike an active buzzer |
Pinout
| Pin | Name | Description |
|---|---|---|
| 1 | VCC / I/O | Signal input on breakout modules with 3 pins — a raw 2-lead piezo just has + and - |
| 2 | GND | Ground |
| 3 | I/O | On 3-pin modules: the driven PWM/tone signal; on bare 2-lead piezos, drive across the two leads directly |
tone() on Arduino drives this directly from a digital pin with no extra hardware; on ESP32 use the ledc PWM API instead since tone() isn't implemented the same way there.