Having trouble getting DFPlayer Mini MP3

Hi everyone,

I recently picked up a DFPlayer Mini MP3 player module to use in a small Arduino project. The idea is to play short audio clips (like alerts or sound effects) directly from a microSD card when a button is pressed. I liked this module because it can run as a standalone player or be controlled over serial.

Setup Details:

  • Arduino Uno

  • DFPlayer Mini connected via TX/RX (with a voltage divider on RX to drop it to ~3.3V)

  • MicroSD card (formatted FAT32, 2GB) with a few MP3 files named 0001.mp3, 0002.mp3, etc.

  • Small 3W speaker connected to SPK_1 and SPK_2 pins

  • Using the DFRobotDFPlayerMini library in Arduino IDE

Now here are my issues:

  • Sometimes the module plays the wrong file, even though I’m calling the right index in code

  • Volume settings seem inconsistent: after a reset, it sometimes reverts to a different level

  • Every now and then, playback just stops after one file and doesn’t continue until I reset the Arduino

  • The BUSY pin doesn’t always reflect when audio is playing, which makes it harder to sync actions

What I’ve tried so far:

  • Reformatted the SD card and re-copied the files with proper naming

  • Tried both standalone button control and serial library control

  • Added delays in the code before sending serial commands

  • Switched between direct speaker connection and using the DAC pins into a small amplifier

My questions:

  1. Is there a known “best practice” for naming/organizing MP3 files so the DFPlayer doesn’t get confused?

  2. Do people usually power this module directly from the Arduino 5V, or is it better to give it its own regulated supply?

  3. Has anyone had issues with the BUSY pin not matching the playback state? Any workaround?

  4. Are there stability differences between using the DAC pins with an amp vs. the onboard speaker outputs?

Thanks in advance for any suggestions. I feel like I’m missing some small detail in setup or code.

Sparkfun makes a MP3 and WAV player that doesn’t have these issues, you should get one of those instead.

1 Like