passive buzzer/Using it/10. When it is silent
Using it · 10 of 10

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

When it is silent
What happens
A steady LED and no sound means SIGNAL is HIGH and staying there: digitalWrite(HIGH), or ledcWrite at 255. The coil is drawing about 200 mA doing nothing. Upload a sketch that ends with noTone() or a LOW, and use tone() for sound.

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

Silent, and the LED stays dark.

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.

Silent, and the LED is fully lit.

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.

It only clicks.

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.

It plays, but quietly.

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.

It will not stop.

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.

PWM on another pin stopped while it plays.

On an Uno tone() uses Timer2, which also drives PWM on D3 and D11. Move that output to D5, D6 or D10.

Where this goes next

The other kind: a HIGH is enough, and the pitch is its own.

The Active Buzzer

Edit this page — content/books/passive-buzzer/when-it-is-silent.mdx

Community

Questions about this product

See what other owners have asked, and read their solutions.

Ask a question ↗

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.

Browse Modules and blocks on the forum