SPECIFICATIONS
This module consists of an active piezoelectric buzzer and 3 male header pins. It generates a sound of aproximately 2.5kHz when the signal is high.
| Type | Active piezoelectric buzzer, built-in oscillator |
| Operating Voltage | 3.3V ~ 5.5V |
| Maximum Current | ≤ 30 mA |
| Resonance Frequency | 2500 Hz ± 300 Hz |
| Minimum Sound Output | 85 dB @ 10 cm |
| Working Temperature | -20°C ~ 70°C [-4°F ~ 158°F] |
| Storage Temperature | -30°C ~ 105°C [-22°F ~ 221°F] |
| Board Dimensions | 18.5mm × 15mm [0.728in × 0.591in] |
| Also sold as | HW-512 |
How the KY-012 Works
The KY-012 contains an active piezoelectric buzzer — the “active” means it has a built-in oscillator that generates its own square wave. Apply a HIGH signal and it immediately produces a continuous, steady tone at approximately 2.5 kHz for as long as the pin stays HIGH. No frequency coding required.
From an Arduino sketch, you control it exactly like an LED: digitalWrite(buzzerPin, HIGH) starts the tone, digitalWrite(buzzerPin, LOW) stops it. No tone() function, no PWM, no timing — the oscillator handles all of that internally.
Active vs Passive Buzzer
| Active Buzzer (KY-012) | Passive Buzzer (KY-006) | |
|---|---|---|
| Internal Circuitry | Built-in oscillator | No oscillator |
| Sound Generation | Apply DC power (HIGH) — continuous steady tone at ~2.5 kHz | Needs AC/square-wave signal from Arduino |
| Tone Control | Fixed pitch only — cannot change frequency | Variable pitch — play melodies with tone() |
| Arduino function | digitalWrite() |
tone() |







