Go Down

Topic: want a loud buzzer (Read 159 times) previous topic - next topic


For this project, I just need a simple buzz. The programming is simple, in fact, I used this:


I used the buzzer that came with the Uno kit (Murata PKM22EPP-40), connected in series with a 100 ohm resistor to Pin 9 like the above tutorial mentioned.

The only issue is that the loudness is not enough. I need it to be a tad louder.

I can try to decrease the resistance but I don't want to ruin the Arduino, knowing the pins are limited in current output. I'm also not sure how much current the buzzer can take. The spec found online made no mention of the internal resistance or current rating.

Should I up the voltage or current by use a separate power source and a transistor? Or go with something else entirely different, like a speaker?



A louder buzzer requires a higher voltage and a bigger piezo and amplifier. Or get a siren for the best power/noise ratio. 12V DC is sufficient, 9V maybe, to alert your neighbourhood.


Jul 11, 2019, 05:10 am Last Edit: Jul 11, 2019, 05:11 am by Wawa
The first link shows a piezo speaker, that must be driven with a tone (not DC) to make sound.
If you connect the piezo speaker to two pins (not pin/ground), and use the toneAC library (not the default Arduino tone function), then the 'buzzer' should be a bit louder.

A mechanical buzzer (switched with a digital pin) could be a bit louder, but there are lots of crappy ones that are not.
Mechanical buzzers only make one 'tone', and you can't change that.


For a buzzer, I have used a cheap relay module and driven it with the tone library at 50Hz. I had one which was faulty (contact resistance too high).
If you want to reverse the polarity (AC) to get a louder noise, as @Wawa has suggested (assuming this appropriate for your sounder device) and use a voltage higher than 5 volts, you can possibly use a motor driver H Bridge chip say L293D. I did this for two coil type telephone bell: https://forum.arduino.cc/index.php?topic=622082.0


Thanks, does using a H bridge or connecting the buzzer pin to pin (rather than pin to ground) double the voltage?It essentially doubles the amplitude of the square wave right?

I also read that if you play the buzzer at its resonance frequency, it'll get louder. I saw on Murata's site that this buzzer seems to peak at 4k hz, so I will try that.

I'm still a bit unclear on whether I should decrease the resistance or do away with the resistor. I read that piezo buzzers don't need a resistor, but I'm worried about drawing too much current from the Arduino pins. Please advise on this.



My Arduino kit had two buzzers. One of the lessons used a buzzer. Didn't work. Tried the second buzzer. If I put my ear on it, I could hear it.

When I got my hearing aids, both buzzers worked just fine!



The H bridge does not double the voltage but can increase the effect. If the sounders is so constructed that a positive polarity moves the diaphragm in one direction and a negative polarity moves it in the opposite direction, then it would be made louder by continually changing polarity as an H bridge does.

If a piezo buzzers does specify a resonant frequency, then clearly use that.

What resistor do you mean here. If the current consumption of the sounder is less that 20mA, you don't need a resistor to protect the arduino. The sounder may have a maximum voltage specified though.


What resistor do you mean here. If the current consumption of the sounder is less that 20mA, you don't need a resistor to protect the arduino. The sounder may have a maximum voltage specified though.
Currently I connected the buzzer from Pin 9 (5V) to GND in series with a 100ohm resistor. If I take away the resistor, then the resistance between Pin 9 and GND might be too low which would cause too high of a current. I'm only thinking in terms of Ohm's law here. I have no idea how the buzzer actually work or weather it limits current in any way.



If you connect the piezo speaker to TWO Arduino pins, then the Arduino basically acts as an H-bridge.
You MUST use the toneAC library that I linked to for this to work.
The default tone function can't do that.

A 100ohm resistor in series with a PIEZO buzzer speaker is NOT going to reduce the sound level,
so it's wise to use one to protect the pin against this capacitive load.

More than 100ohm (1k) is going to reduce the 'sharpness' of the sound a bit.
Just give it a try.


Getting a *buzzer* to be reliably heard over the background/ambient/equipment noise requires three things.
Frequency - maybe two or more.

Identify the target environment, then study the options.
Experienced responders have a nose for laziness, (they were beginners once)... Sure, there are trolls, chest-beaters, and pretenders - but the help you'll get here is about as good as it gets - if you try to help youself!.


If you want loud, then look at smoke alarms.
Large self-oscillating piezo (three wires), in a special resonance chamber, and powered from 9volt.
A small piezo 'buzzer', driven from Arduino pins is never going to be LOUD.

Go Up