YL-44 Active Buzzer causing reset?

I have a YL-44 active buzzer running to play some sounds when I press a button, but it seems to be causing problems. Basically, I'll hit a button, have a sound played, then 5-10 seconds later the pic will reset.

I'm tracking the current on the project (as I'm about to determine battery requirements) and I'm seeing it raise about 30 mA right when the sound starts, but then continue up to 180 mA over where it is without sound, eventually causing reset. Interesting is that the speaker looks like 0mA when it's not used, jumps when the audio starts playing from it, but never comes back down. It should be silent after the sound it done, but the power remains at peak until the atmega resets.

Any ideas of what might be wrong?

Thanks a lot

then 5-10 seconds later the pic will reset.

Is it a Pic or an Arduino? This is an Arduino forum.

You are ether taking too much current from the supply, a meter will not give a good reading of such a pulsing current.
Or you need some decoupling capacitors across the supply.
Do you know if the current is limited to your buzzer? How are you driving it?

It should be silent after the sound it done but the power remains at peak until the atmega resets.

Why? It will depend on if the silent state of the output pin is high or low.
Try doing a digital write low after the tone has finished.

Sorry for any confusion, it's an arduino (atmega328p bare board). There is a chance I'm exceeding the supply right now. I'm going to try a different supply, and if that doesn't work I'll try the decoupling capacitor. The supply has one, but I have had to add some to other components (nRF24L01) to get proper behaviour.

Right now, I was just measuring the current for the entire circuit, not exclusively for the buzzer, but was seeing the entire circuit fly up. I've tried manually writing LOW to the pin when it's done, but the continuous draw was weird to me.

Thanks a lot, I'll give this a try this afternoon and report back.