active buzzer/Using it/09. When it does not beep
Using it · 09 of 9

When it does not beep

Start with the red LED. It sits beside the buzzer on the transistor's collector, so it lights whenever SIGNAL has switched the transistor on. Dark with SIGNAL HIGH points at the wiring; lit and silent points at the buzzer. Beeping before the sketch starts points at the pin, because the board has no pull-down on SIGNAL.

Read the LED first

The LED and the buzzer hang side by side from VCC to the transistor's collector. So the LED answers one question exactly: did the transistor turn on? It needs VCC, a shared GND and SIGNAL HIGH, the same three things the buzzer needs, and it does not need the buzzer.

When it does not beep
What you hear
The LED lighting means SIGNAL arrived, the transistor is on and VCC is there: everything up to the buzzer worked. So it is the buzzer or its two leads. The schematic notes that an active buzzer fitted the wrong way round makes no sound; the + on its seal should be on the header side.

Pick what you hear. Most faults sort themselves by the LED alone.

Dark and silent with the sketch writing HIGH: a wire. VCC missing or on the wrong hole, SIGNAL on a different pin from the one in BUZZER_PIN, or GND not shared. Count from the square pad: GND, VCC, NC, SIGNAL.

Lit and silent: everything up to the buzzer works, so it is the buzzer. An active buzzer fitted backwards is silent, which the schematic warns about; the + on its seal should face the header.

Quiet: the seal first, then VCC. The paper seal covers the sound hole, and 3V3 on VCC costs about 3 dB against 5V.

Sounds when it should not

At power-up: the pin is HIGH or pulled up before setup() runs. On an ESP32-S3 that is GPIO 0, 43 or 44; on an Uno, D13 chirps with the bootloader. Quiet at boot has the list. Move SIGNAL and drive it LOW first thing.

All the time: pull SIGNAL's wire. If it stops, your pin is HIGH: a sketch that never writes LOW, or a pin another part of the board also uses. If it keeps going with the wire out, something is feeding the transistor's base that should not be, or the transistor has failed.

Rough or wrong: tone() or analogWrite on SIGNAL. An active buzzer wants a steady HIGH.

Test it on its own

Two wires and a jumper settle whether the block works: GND to GND, VCC to 5V, then touch SIGNAL to VCC. A beep and a lit LED mean the block is fine, and the fault is the pin, the wiring or the sketch.

When it does not work

How do I test the block without a sketch?

Wire GND and VCC, then touch SIGNAL to VCC with a jumper. It should beep and the LED should light. Touch SIGNAL to GND and it stops. If that works, the block is fine and the problem is the pin or the sketch.

It beeps, but it sounds harsh and wrong.

The sketch is using tone() or analogWrite on SIGNAL. Those switch the buzzer's supply on and off hundreds of times a second and chop its own note. Use digitalWrite HIGH and LOW. For tunes, use the TK37 passive buzzer.

It stays on after my sketch crashes.

The pin was HIGH when the sketch stopped, and nothing on the board pulls SIGNAL back down. Press reset: the pin goes back to its reset state, and on the book's pins that is quiet.

Where this goes next

No oscillator inside, so your sketch makes the note, and any note it likes.

For tunes: the TK37 Passive Buzzer

Edit this page — content/books/active-buzzer/when-it-does-not-beep.mdx

Community

Questions about this product

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

Ask a question ↗

Active 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