TK36DIGITALbeginner

Active Buzzer

One pin, one tone. It makes a noise when you set the pin high, and that is genuinely the whole story.

Comes in this kit — not sold separately

Specifications

TypeActive buzzer with internal oscillator
FrequencyFixed, about 2 kHz
ControlDigital high/low
Supply voltage3.3 V or 5 V

What it is

A piezo element with an oscillator built into the package. Give it power and it makes its one note; take the power away and it stops.

That single fixed pitch is the difference from TK37, and it is the reason to choose this one. For an alarm, a keypress confirmation or a "something is wrong" beep you do not want a melody — you want one line of code and a noise. It also frees the timer that tone() would otherwise claim.

It is loud. Louder than you expect on a desk at two in the morning, and there is no volume control: PWM changes the duty cycle, not the amplitude, and mostly just makes it sound worse. If you need it quieter, put tape over the hole — which sounds like a joke and is what everyone actually does.

Active Buzzer — front
Front
Active Buzzer — back
Back
Active Buzzer — side
Side

Pinout

  • GND (negative): Like the negative terminal (-) of a battery, connect to the control board's GND
  • VCC (positive): Like the positive terminal (+) of a battery, connect to the control board's 3.3V or 5V (this module supports both 3.3V and 5V)
  • NC (no connection): No actual circuit connection, included for unified interface, can be left unconnected
  • SIGNAL (signal input): Pin to control buzzer, connect to the control board's digital pin (e.g. Arduino D3 or Pico GPIO 0)
    • When HIGH (HIGH/1) is input, buzzer emits sound
    • When LOW (LOW/0) is input, buzzer stops
    • Can only emit fixed frequency sound, cannot change pitch

Wiring

Active Buzzer wiring

  1. GND → Control board GND
  2. VCC → Control board 3.3V or 5V
  3. SIGNAL → Control board digital pin (use the pin defined in your program)

Example

// Pin number: change this to match your wiring
#define BUZZER_PIN 3  // Arduino digital pin connected to SIGNAL (e.g. D3)

void setup() {
  // Initialize pin mode
  pinMode(BUZZER_PIN, OUTPUT);
  
  // Start serial for debugging (9600 baud)
  Serial.begin(9600);
  
  Serial.println("Active buzzer program started");
}

void loop() {
  // Buzzer on for 0.5 seconds
  digitalWrite(BUZZER_PIN, HIGH);  // Turn on buzzer
  Serial.println("Buzzer on");
  delay(500);  // Wait 0.5 seconds
  
  // Buzzer off for 0.5 seconds
  digitalWrite(BUZZER_PIN, LOW);   // Turn off buzzer
  Serial.println("Buzzer off");
  delay(500);  // Wait 0.5 seconds
}
Active Buzzer running on an Arduino Uno

When it doesn’t work

It is always on.
Active buzzers sound whenever the pin is high. If it screams at boot, the pin is floating or the bootloader is holding it — pick a different pin or set it LOW first thing in `setup()`.
PWM does not change the volume.
It cannot. The oscillator is internal, so duty cycle just chops the sound. Use a passive buzzer with a series resistor if you need it quieter.
I want it to play a tune.
Wrong part — this one has a fixed pitch. TK37 is the passive buzzer and it takes `tone()`.

Lessons using TK36

Each one is a working build, not a snippet.

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