I have an Arduino pro mini connected to a Lipo 3.7 battery. I am using a pizzo buzzer connected to a Ultrasonic sensor, the buzzer only makes small clicking sounds, I assume this is due to lack of current, how cany I amplify this.

The Arduino program increase the 'beep' as something gets closer, this is done by setting the pin to HIGH/LOW at increased rates. I have sampled setting the Pin to High for 1000 ms and I still only get a faint click. On an Arduino Uno it is much louder.

The final project has to get pinned on to the ear part of glasses (its a school fun project!). So it needs to be small.

Here is a layout of the breadboard I am using. enter image description here thanks

  • 2
    \$\begingroup\$ Schematic please. Anyway, I have a feeling that you have connected it to some DC signal instead of alternating wave. \$\endgroup\$
    – Eugene Sh.
    Commented Sep 1, 2015 at 19:24
  • \$\begingroup\$ Part number and picture of the buzzer and the sensor. Where does Arduino come in to play? \$\endgroup\$
    – jippie
    Commented Sep 1, 2015 at 19:32
  • 1
    \$\begingroup\$ Is the "buzzer" really a buzzer, including an oscillator to drive the piezo element, or is it just a bare piezo element. A bare piezo element will just click as you apply and remove power - it needs to be fed and AC (or pulsating DC) signal to make a continuous noize. \$\endgroup\$ Commented Sep 1, 2015 at 19:47
  • \$\begingroup\$ Have update with more details and a schematic \$\endgroup\$ Commented Sep 1, 2015 at 21:08
  • \$\begingroup\$ Please give part number of piezo/buzzer element. \$\endgroup\$ Commented Sep 2, 2015 at 0:14

2 Answers 2


Part 1:

There a couple types of sound-making elements out there. The first is piezo elements. They move when voltage is applied to them. If you have a piezo then I suspect the click you hear is the rising/falling edge of the DC voltage you are applying. To fix this, you will need to apply an AC signal at the frequency you wish to produce. This should be achieved with a PWM signal producing a square wave.

The second is an integrated buzzer. This device will simply make noise when adequate power is supplied. Perhaps your simplest solution is to move to one of these.

Part 2:

In either case above, you may need more current than the Arduino can produce directly. To achieve this you can use the following simple circuit:


simulate this circuit – Schematic created using CircuitLab


First be sure your buzzer is actually operable at 3.7V, (see the spec for your part). If it does have an internal oscillator it may need +5V or more to operate.

If your "buzzer" is the type without an internal oscillator (as might be the case if you are only getting clicks), you need to provide an AC voltage either directly from the control pin or from a separate oscillator.

To operate a piezo buzzer (with no internal oscillator) from a simple high/low control signal consider adding a gated oscillator as shown below.

If the piezo buzzer needs a higher voltage you could use the optional dual gate driver idea as shown in the diagram, (to use this later idea be sure you don't have a part with an internal oscillator and also that it does not have polarized + and - pins).


simulate this circuit – Schematic created using CircuitLab


Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.