I am using a DFPlayer Mini and an Arduino Pro Mini on battery power. I want to put the Arduino to sleep but the DFPlayer still draws around 24 mA. The sleep modes in the various DFPlayer libraries do not offer any power savings so I decided to switch the DFPlayer on and off.
I have tried using either (1) a 2N2222 transistor or (2) a STP16NF06 mosfet. The good news is that both of these solutions work. I can turn the DFPlayer off before putting the Arduino to sleep and power it back up afterwards. Here’s a diagram. I know you’ll ask for it!
So everything sounds good until I turn the volume up to around 18 or 20. At this point the sound distorts and the DFPlayer seems to reset itself. This doesn’t happen without the switching circuit above - I can safely get the volume up to 30 (max).
Funny thing is I have seen this same behavior when the DFPlayer is powered by the Arduino connected to USB. I always thought this was a result of it pulling too much current at higher volume, but on batteries this has not been a problem (using a 5V power bank or 3x AA batteries).
Can anyone explain this?