PWMbeginner

Passive Buzzer

A magnetic buzzer with no oscillator of its own, switched by a transistor on a TinkerBlock board. It sounds only while SIGNAL is a square wave, at the wave's frequency, so tone() plays any note; it is loudest at its 2.7 kHz resonance. Held HIGH it is silent and the coil draws about 200 mA.

Comes in this kit — not sold separately

Specifications

TypePassive magnetic buzzer with its driver: an S8050 transistor, a flyback diode and a red LED. It sounds only while SIGNAL is a square wave, and the wave's frequency is the pitch
BuzzerHuaneng MLT-8530, an 8.5 × 8.5 × 3 mm SMD magnetic buzzer: a 16 ± 3 Ω coil and a steel disc, not a piezo. Rated 3.6 V, for 2.5 to 4.5 V
Loudest2700 Hz, its resonance: at least 80 dB at 10 cm from a 5 V, 50 % square wave (datasheet). About 20 dB quieter around middle C
CurrentUp to 95 mA while it plays (datasheet, 5 V), none of it through SIGNAL. Held HIGH it is silent and draws about 200 mA from 3.3 V, worked out from the coil: never leave SIGNAL HIGH
SIGNAL1 kΩ to the S8050's base: about 2.5 mA from a 3.3 V pin, enough to switch it fully on. Nothing on the board pulls it LOW
Supply3V3 or 5V on VCC, on any board: VCC goes to the buzzer and never reaches SIGNAL. 3V3 keeps the buzzer inside its range; 5V is louder
Controltone(pin, hertz, ms) on any board. On an ESP32, ledcWrite sets the duty, and 50 % is the loudest
ProtectionSS14 Schottky diode across the buzzer for the coil's switch-off kick. Nothing to add
Pins to wire3 of the 4: GND, VCC and SIGNAL. NC is connected to nothing on the board
Header4-pin right-angle male, 2.54 mm pitch: GND, VCC, NC, SIGNAL, with GND on the square pad
Board22.4 × 30.4 mm, two 4.8 mm mounting holes 16 mm apart. The red LED lights while the transistor conducts
In the box1 × TK37 block, header fitted. It also ships inside the TinkerBlock kits

What it does

A buzzer that makes exactly the sound you send it. It has no oscillator of its own: a coil pulls a thin steel disc in on every HIGH of a square wave and lets it go on every LOW, so the wave's frequency is the note. tone(pin, 440, 500) plays half a second of A.

Drag to turn it
The TK37. The square part is the buzzer; the rest switches it. Turn it over for the back.

The buzzer is a Huaneng MLT-8530, a magnetic buzzer with a 16 Ω coil, and it takes up to 95 mA while it plays. An S8050 transistor carries that current, so your pin only feeds its base through 1 kΩ. An SS14 diode across the buzzer catches the coil's kick each time the transistor switches off, and a red LED lights while it conducts. The page this replaces called the buzzer a piezo disc; it is not one.

Two things to know before wiring

  • HIGH is silent. A steady HIGH clicks once and leaves the coil drawing about 200 mA. Sound needs a wave: tone(), never digitalWrite(HIGH).
  • It is loudest at 2.7 kHz, its resonance, and 20 dB quieter around middle C. Write tunes an octave or two higher than a piano would.

Wiring, in four lines

  1. GND to GND.
  2. VCC to 3V3 (5V works on any board and is louder).
  3. SIGNAL to an output pin: GPIO 4 on the book's ESP32-S3, D9 on an Uno.
  4. Leave NC unconnected.

Where to start

The handbook below is ten short articles, each with a working figure. The first beep is the whole build in three wires and one call. Passive means you make the wave explains why HIGH is silent, and Pitch, and where it is loudest why a tune belongs in the sixth octave. A melody is notes and lengths plays one, and Volume is the duty cycle turns it down.

When it doesn’t work

It clicks instead of playing a note.
A click is one edge: the disc pulled in once. The sketch is switching SIGNAL with digitalWrite, which suits an active buzzer and not this one. Use tone(pin, frequency, length), which makes the square wave on a timer in the background.
The LED is on and there is no sound.
SIGNAL is being held HIGH. A passive buzzer cannot make a sound from a steady level, and its 16 Ω coil draws about 200 mA doing nothing. Upload a sketch that uses tone() and leaves the pin LOW when it is quiet.
Low notes are almost silent.
The buzzer's datasheet curve peaks at its 2.7 kHz resonance, and the octave around middle C sits about 20 dB under it. Move the tune up one or two octaves by doubling every frequency.
PWM on another pin died while it plays.
On an Arduino Uno, tone() takes Timer2, which also drives PWM on pins 3 and 11. Move that output to 5, 6 or 10. On an ESP32, tone() takes one LEDC channel and leaves the others.
Should VCC go to 3V3 or 5V?
Either, on any board: VCC reaches the buzzer and never SIGNAL. 3V3 keeps the buzzer inside the 2.5 to 4.5 V its datasheet lists; 5V is a few decibels louder and is the voltage its maker tests it at.
Is it a piezo buzzer?
No. It is a magnetic buzzer, a coil and a steel disc, and it takes up to 95 mA, which is why the board has a transistor. Older versions of this page called it a piezo disc.

The passive buzzer handbook

10 articles · about 45 minutes

This page is the reference: what the part is, what it is made of, and the questions people arrive already asking. The handbook is the walk — the same part in the order somebody actually meets it.

The board

2 articles

Four pins of which three are wired, a square black buzzer, and the four small parts that drive it: a transistor, its resistor, a diode and a red light.

How it makes a sound

3 articles

A coil pulls a steel disc once per cycle of the wave you send. No wave, no sound; the transistor carries the coil's current, and the pitch where it is loudest is 2.7 kHz.

Playing it

3 articles

A beep in three wires and one call, a tune as a list of notes and lengths, and the duty cycle, which is the only volume knob it has.

Using it

2 articles

What tone() borrows from your board while it plays, and the short list of reasons it stays silent.

Lessons using TK37

Each one is a working build, not a snippet.

Every project using this

ProjectBoardsTime
42. Project: Joystick ControlGuideadvancedArduino45 min

Edit this page — content/modules/passive-buzzer.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 →