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:
-
Is there a known “best practice” for naming/organizing MP3 files so the DFPlayer doesn’t get confused?
-
Do people usually power this module directly from the Arduino 5V, or is it better to give it its own regulated supply?
-
Has anyone had issues with the BUSY pin not matching the playback state? Any workaround?
-
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.