How to Use a Buzzer (or Piezo Speaker) - Arduino Tutorial




About: Arduino Tutorials by Team

In this tutorial you will learn how to use a buzzer or piezo speaker with Arduino. Buzzers can be found in alarm devices, computers, timers and confirmation of user input such as a mouse click or keystroke.

You will also learn how to use tone() and noTone() function.

So, let's get started!

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: What You Will Need

For this tutorial you will need:

  • Arduino uno
  • Breadboard
  • Buzzer / piezo speaker
  • 100 Ohm resistor (optional)

Step 2: The Circuit

The connections are pretty easy, see the image above with breadboard circuit schematic.

Step 3: The Code

Here's the "Tone" code, embedded using codebender!

How it works? It's simple, tone(buzzer, 1000) sends a 1KHz sound signal to pin 9, delay(1000) pause the program for one second and noTone(buzzer) stops the signal sound. The loop() routine will make this run again and again making a short beeping sound.

(you can also use tone(pin, frequency, duration) function)

Try downloading the codebender plugin and clicking on the Run on Arduino button to program your Arduino with this sketch. And that's it, you've programmed your Arduino board!

You can keep playing with that by clicking the "Edit" button and start making your own modifications to the code.

For example, try to change sound signal "1000" (1KHz) to "500" (500Hz) or delay time and see how it changes the program.

Step 4: Well Done!

You have successfully completed one more Arduino "How to" tutorial and you learned how to use:

  • buzzer / piezo speaker
  • tone(), noTone() functions

I hope you liked this, let me know in the comments.

There will be more of them, so make sure to click Follow button!

1 Person Made This Project!


  • Made with Math Contest

    Made with Math Contest
  • Multi-Discipline Contest

    Multi-Discipline Contest
  • Robotics Contest

    Robotics Contest

21 Discussions


7 months ago on Step 2

The 5V output from Arduino isn’t connected to anything on the breadboard in this scheme…


1 year ago

Just what I needed. Thanks!


1 year ago

nice thank you so much I need more for buzzer


1 year ago

just use the 100ohms resistor, the noise pitch increases and its annoying


1 year ago

Can someone help me, i wanne use millis() instead of delay


2 years ago

Can I increase/Decrease the volume without touching the resistor? That is by modifying the code?

1 reply

Reply 2 years ago

No need to use a resistor, just use a knob. Middle to 5v, one side to the piezo, none to the other


2 years ago

is there a difference between a buzzer and a piezo sounder?


2 years ago

I have two buzzers, one active and one passsive, and i don't know which is which. i plugged them both in one after another, and the first one made a muffled sound till i unplugged the 5V. The other one makes a long, high pitched noise without the one second pauses, but makes a very quiet, but with one-second intervals noise when i unplug the 5V. Cansomeone please tell me which is which?

2 replies

Um, you're just a juiceical so therefore you cannot use a {potato} for brekfest! OKAY! so I am just tired of it! because I was a caattile


2 years ago

can you suggest me which piezo speaker i should buy? i mean specific component


Reply 2 years ago

Reduce the resistance..better just take it off.....