DFPlayer mini: 5V, draws ~25mA when idle, and ~100mA when playing
Arduino and DFPlayer powered by breadboard connected to 5V
I've tried both NPN (P2N222A) and PNP (2N3906) transistors, with limited success. The mp3 player gets power but just plays stuttering/grinding noises - a low power scenario. I see the same symptom when the player is connected to 3.3v (as opposed to 5).
Have you tried decreasing R1? With the 3mA base current you get with a 1kΩ resistor you have the transistor in saturation for about 30mA. For 100mA load you should have at least 7mA base current to have the transistor saturated. So try a 180Ω resistor on the base.
I don't have a 180Ω handy, but I tried it with 220Ω and also 100Ω and then 100Ω+47Ω... I got the best results with 220 - it plays the music for a seconds and then goes back to the buzzing/grinding. The lower resistors get to the buzzing sooner. However, it appears the 1k never lets the music play at all, so this seems like progress.
I honestly have no idea what's going on (pretty new to electronics)! Any help is greatly appreciated.