so I have a circuit with a buzzer and a resistor: enter image description here

This circuit should be working, but for some reason the buzzer doesn't sound. I pushed the buzzer into the breadboard as hard as I could, I put the + side to positive and the - side to negative but it still doesnt work :(. How can I fix this?

Quick curiosity question: When I was doing electricity in school, the teacher just called the buzzers 'buzzers' but when I started doing arduino I noticed that the arduino community seems to call them 'Piezo buzzers/piezo speakers'. Is there any significance in the word 'Piezo' and should I start referring to them as 'Piezo buzzers' myself?

  • A buzzer that is not a piezo based device is a coil relay in which the coil circuit is normally closed. When the buzzer is energized, the relay activates and then opens the circuit, deactivating itself. The cycle repeats, creating vibration in the moving part of the relay. Piezo devices use a crystal material which vibrates when electricity is applied. The crystal is often attached to a membrane to amplify the sound.
    – fred_dot_u
    Aug 18, 2016 at 10:26
  • In the image you provide, you've properly connected the GND and 5V power from the Arduino to your "buzzer". When you apply power to the Arduino board if you have an active beeper it will begin beeping. If instead you have a passive beeper (aka speaker, headphone) you might hear a slight click or pop. As others have said, you need to connect the positive lead of your buzzer to an I/O pin on the Arduino if you wish to control the buzzer.
    – linhartr22
    Aug 18, 2016 at 19:06

3 Answers 3


There is two kinds of buzzers - active and passive

  1. Passive buzzer means they can be operated by applying just logic high to + and low to ground.

Digitalwrite function will do this job

  1. Active buzzers needs pulses to make sound. Sound produced depends on the frequency. Your buzzer might be a passive one. You can make a symphony by applying different frequencies..

'tone' function will help you for this

  • 1
    It may be difficult to detect, but if the buzzer in question is a passive buzzer, you should be able to hear a click when it is activated and possibly one when it is deactivated.
    – fred_dot_u
    Aug 18, 2016 at 10:28
  • Yes.. fred is right.. you can hear a dup dup sound... Aug 18, 2016 at 10:30
  • are you saying that rather than connecting the wire on the positive side of the buzzer to the power, I should connect it to one of the pins instead and control it with code to make it work? Also, how can I tell if my buzzer is active or passive without making it work?
    – user15851
    Aug 18, 2016 at 15:23
  • Thats a hard question. Generally active buzzer comes with a paper cap on top. But this wont b true always. Yes.you should connect + of buzzer to a pin of arduino and - of buzzer to ground Aug 18, 2016 at 15:53
  • You've already tried using it as an active buzzer. It didn't buzz, so it is either passive or faulty. The next test would be to connected to an output pin and set it alternately high and low, delaying a few milliseconds after each change. If it buzzes, it's passive (all Piezo's I've used have been passive). If not there is a fault, which could mean a broken piezo or it could be one that needs a higher voltage than your board supplies.
    – JRobert
    Aug 18, 2016 at 16:51

Try the toneAC library if it is a two pin piezo speaker... It generates weak alternating current, using two arduino pins. Your piezo will last longer. Works like old tone library. Remember to put a 100 ohm resistor in series :)


Buzzer coils get locked if a higher voltage is applied to the terminals - it could be 5-9 V. Once it gets locked it won't work even if you put direct battery to it. The only solution is to first take out your buzzer and give it a reverse voltage that will get the coil out of the lock position, then put 180 Ω resistor and run. It will work and it will never lock again.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.