When it is silent
Start with the LED. It sits on the transistor, so it tells you whether SIGNAL ever went HIGH, whatever the buzzer did. Dark means wiring or the pin number; lit and steady with no sound means SIGNAL is stuck HIGH, which is the one fault that costs current. Everything else is pitch, duty or a timer.
The LED first
The LED is wired from VCC to the transistor, beside the buzzer, so it lights exactly when the transistor conducts. That makes it a test of everything up to the buzzer: power, ground, the SIGNAL wire, the pin number and the sketch. It says nothing about the buzzer itself.
- Dark while the sketch should be playing: nothing reaches the transistor. Wiring or pin number.
- A dim glow during notes: the transistor is switching. If there is still no sound, look at the buzzer: something pressed against its side port, or a damaged part.
- Fully lit, steady: SIGNAL is HIGH and staying there. No sound, and about 200 mA through the coil. Fix the sketch before anything else.
Stuck HIGH is the one to fix at once
Every other fault here is harmless: silence, a quiet note, a stopped PWM pin. A stuck HIGH is not silent in the way that matters. The coil has only its 16 Ω to limit it, so from 3V3 it draws about 200 mA and from 5V about 300 mA, two or three times what the buzzer takes while playing, for as long as the pin stays HIGH. Those figures are worked out from the datasheet, not measured, and the buzzer is rated for a square wave, not a steady current.
It usually comes from a sketch written for an active buzzer, which switches its input HIGH for sound, or from a duty of 255. Passive means you make the wave explains why the same sketch fails here.
Pitch before volume
A note that is too quiet is usually a note that is too low. The datasheet's curve rises by about 20 dB from middle C to 2.7 kHz. Pitch, and where it is loudest has the curve; move the tune up before reaching for VCC or the duty.
When it does not work
The transistor never switched on. Check GND, VCC and SIGNAL against the square pad, GND first from the left, and check that BUZZER_PIN is the GPIO SIGNAL is on. A block with VCC missing is dark and silent even when the sketch is right.
SIGNAL is held HIGH: a digitalWrite(HIGH), an active-buzzer sketch, or ledcWrite at 255. The coil is drawing about 200 mA and making no sound. Upload a sketch that uses tone() and leaves the pin LOW.
A click is one edge: the disc pulled in once. The sketch is switching SIGNAL by hand rather than sending a wave. Use tone(pin, frequency, length); a timer makes the wave, evenly, in the background.
Check the pitch first: below about 1 kHz this buzzer is 15 dB or more under its 2.7 kHz peak. Then the duty, which should be 50 %, as tone() makes it. Then VCC: 5V is a few decibels louder than 3V3. Keep the buzzer's side port uncovered.
A tone() with no length plays until noTone(). On an ESP32, a backlog of queued tones can also play on after the loop has moved on; noTone() clears it.
On an Uno tone() uses Timer2, which also drives PWM on D3 and D11. Move that output to D5, D6 or D10.
Edit this page — content/books/passive-buzzer/when-it-is-silent.mdx
Questions about this product
See what other owners have asked, and read their solutions.
Passive Buzzer
Loading discussions…
Discuss this article
Ask about this page. The answer stays here, on the page it belongs to, for whoever hits the same wall next.