There are many different configurations of this popular board using different microchips. Some work with DF Player library, some not. Even if the seller claims selling genuine board, very good chance it is a knock off.
So I bought at least 3 different types of board. I haven’t used with Serial yet, might update the post, but here is what I found out.
Affected by WiFi RF interference when MKR board is powered up in proximity
Very clean sound on 3.3V power
Blue LED
Has option to mute power amp chip
Works well with official DF Player library
So I naturally went with this configuration for now as I use 3.3V in my project. As you can see 1st pin of 8002A is mute and it is hardwired to Ground. To mute the output you need logical High. If the resistor is moved to the other side, High will be default option, and Low when player starts playing, BUSY pin. I lost this 0 Ohm resistor so used 100 Ohm instead and it works like a charm. Quiet on power up and clean output on Play.
I experimented a bit with a DF Player and found them useless. They can only play tracks in the sequence they appear in the FAT file system. So if you add a new track, it will be the last one played, and there is nothing you can do about that short of reformatting and rewriting the card from scratch.
Furthermore, you cannot play a track from its abbreviated 8.3 file name. You can only give an index number, and it will play you the Nth track, based on the sequence the SD card was created. So to play a specific track, you need to know its file system sequence number, which changes everytime you add or delete a track. Imagine a repository of hundreds of tracks. The MCU must keep a huge table associating the track's name to its file system index, which will change everytime you add or delete a track from the card. With 50 tracks, you will run out of RAM space on an UNO, and out of patience trying to reconcile track names to its file sequence number. With 200 tracks, you will run out of RAM on a Mega, and also out of patience.
Finally, there is no way to fast forward or backward a track. Imagine you have a 2 hour mix, and you want to listen to the track starting at 95 minutes! You will have to wait for 95 minutes.
To do even the most basic music management, you need a VS1053 player. The sound quality is pretty good.
I understand some of the newer MCUs with I2S capability can produce sound using their own GP DAC. However I wonder if the sound quality is acceptable. I would think that a dedicated chip like the VS1053 not only can offload the MCU in particular when decoding the stream, but produce better music than a general purpose MCU emulating a sound chip.
The indexing issue is indeed frustrating, but IMO your specific criticisms overstate the difficulties. They can be overcome with careful coding.
Using the folder structure option you can immediately play the first track of that folder.
Using a for() statement you can jump forwards or backwards. And then fine tune with next() or previous().
It’s also possible during development debugging to print the currently playing folder and track within it.
And, returning to the file mapping issue, if you are methodical in copying files onto the micro-SD (and making any subsequent edits on the PC, probably after a full re-format), you can get reliable performance.
I’m in the final stages of doing so for my Music Box, with 21 folders and a total of nearly 4,000 files.
Have a search for "fat file sorter". There are a few around that rearrange files alphabetically, although some comments suggest that they don't like sub-folders.
I just noticed one called DriveSort which may be what you are looking for. The intro says:
Recent operating systems sort the files before showing them to the user, either by name, by size or by whatever the user choose. However, it is not always the case in embedded OSes on small portable devices like MP3 players. On these devices the lack of resources (CPU, memory) can lead their developers to make it display or play the files in the order in which they are on the disk.
This order depends mostly of the order in which they were added to the disk, which is not convenient for the user. DriveSort can change this order to help such devices to play or view their files in the order you want, by putting them on the disk in a customizable order.
What do you mean by the above?
What have you done in order to make it work as in the datasheet? the only solution is to replace the module and hope the next one will work as intended?
Nobody experienced delays from triggering and audio clip from a serial or adkey and sound in the speaker?
I have MH2024k-24SS (mp3-tf-16p v3.0 board text) and I am suspicious that the delay using just adkey commands is due to this not original board. Delay is 1-2 seconds
And all the knock off are only playing mono sound, I've tried many different mp3 formats , right and left on the most of those "DF_players" is mixed together, monophonic output only while the old JL chips outputs perfectly separated stereo
Are you aware that audio output directly from the DFPlayer will usually only be in Mono?
The Mono Speaker takes the signal from the SPK1 and SPK2 lines.
To get Stereo you need to add an external amplifier and take your Right and Left signals from the DACR and DACL lines respectively.
If you are only connecting to Stereo Headphones you can take the signal direct from the DFPlayer using the DACR and DACL lines and the GND line.
This page covers the different configurations needed to drive Stereo Headphones: