# Current consumption of a buzzer

I want to use the buzzer KPEG2000 in my Arduino application. I would like to know if a GPIO can directly drive this buzzer, without destroy the uC (a GPIO can deliver 40 mA max). In the datasheet, we can find the current consumption under 12 volts (40 mA), but if I decrease the driving voltage to 5V, will this buzzer use more or less then 40 mA ?

https://docs-emea.rs-online.com/webdocs/07a8/0900766b807a8e16.pdf

I already tried to make this buzzer work on an Arduino, and it works. But I would like to know if plugging this buzzer directly to the Arduino will not destroy it.

## 2 Answers

In the datasheet I read 14 mA @ 12V, which is below the recommended current of a GPIO pin of 20 mA.

Note that 40 mA for a GPIO pin is the max current, recommended is 20 mA. But 14 mA is way less.

To see if it changes for 5V, try connect it without an MCU (directly to a 5 V adapter/USB/breadboard power) and measure the current using a multimeter.

In case it uses more than 20 mA @ 5V, than use a transistor/mosfet to drive the buzzer.

In case you want to have the buzzer at full power, connect a VCC 5V power rail pin to a boost converter, which is controlled by a transistor/mosfet controlled by a GPIO pin.

Thus

``````Arduino VCC 5V -> Boos converter to 12 V -> Transistor/Mosfet -> Buzzer -> GND
^
Arduino GPIO pin
``````
• Point of clarification: You shouldn’t use a boost converter on a GPIO pin, only on a 5V supply rail. Boosting voltage takes a lot of current. >2.4x more. Jul 2, 2019 at 11:05
• @Duncan Yes I meant that (after a transistor), I will make it more clear. Jul 2, 2019 at 11:55
• Yeah, I assumed that's what you meant, but remember that lots of newbies read these boards. Jul 2, 2019 at 12:11
• @DuncanC True indeed, thanks for the notification. Jul 2, 2019 at 12:16

If this is a piezo buzzer they typically work over a wide range of voltages and use very little current. I've seen them with specs for an input voltage ranging from 3 to 18v.

You could likely drive a piezo buzzer directly from a GPIO line without problems.