Hello all.
I would like to introduce you to a cheap Chinese MP3 player - DFPlayer Mini.
The cost of such a player is less than $ 1.5.
DFPlayer mini has the ability to play music in MP3 or WAV format from the built-in micro SD card reader, you can also play music by connecting a USB flash drive to the player. The storage medium should not be larger than 32GB and should be FAT16 or FAT32 format.
This player has the ability to control both by connecting goldpins and through the UART interface with a speed of 9600 bps.
It has dimensions of 20.5 x 20.5 x 13 mm.


I became interested in the player after reading the article of one of the forum users, where he described a changer emulator he had created for cars of the VAG group.
https://www.elektroda.pl/rtvforum/topic3380561.html
The player was ordered directly from China, after 3 weeks it was in my hands.
Basic "analog" control is shown in the picture below.

This way, you can turn on the next / previous track, turn it down / up.
You can connect a small speaker directly to the player - I used 1.5W 8?.
Unfortunately, the device has an output only for one loudspeaker, but you can get stereo through the DAC_R, DAC_L outputs where you should connect them through an amplifier or you can connect headphones here.
The device can be powered from 5V, power consumption less than 15mA, increases when you connect a USB device.
Tracks recorded on a storage medium should be properly named - e.g. 001, 002 etc. Tracks should be grouped in folders that are also numbered - 01, 02, etc.
The maximum number of folders is 99 and the maximum number of songs in a folder is 255.
If we do not use the control that turns on the appropriate track number, we will only use the previous / next track, then tracks and folders can be named freely.
Below is the player pinout

As for communication via UART, use the settings as in the picture below.

It should be remembered that although the device is powered from 5V, the UART voltage level is 3.3V and for this reason, a 1k? resistor should be added between the Tx of the device sending the commands and the Rx of the player (if we use the 5v standard in the device sending the commands, at 3.3V the resistor is redundant). I used a 10k? resistor because I had one at hand.

The video below (sorry for not the best quality) shows sending commands using the COM Port Toolkit program and the USB-UART converter based on the FT232 chip.
[movie: 6bf572119f] https://filmy.elektroda.pl/83_1511229427.mp4 [/ movie: 6bf572119f]
The basic commands are:
- next 0x7E FF 06 01 00 00 00 EF
- previous 0x7E FF 06 02 00 00 00 EF
- quieter 0x7E FF 06 04 00 00 00 EF
- louder 0x7E FF 06 02 00 00 00 EF
The above commands do not include checksums, they can be sent without sums or with a checksum.
How to calculate the checksum?
We count it in hexadecimal.
The command with the checksum for switching on the next track is:
7E FF 06 01 00 00 00 FE FA EF
where FE FA is the checksum.
We need to add FF + 06 + 01 + 00 + 00 + 00 = 106 together
0-106 = FA EF which gives our checksum.
When sending a command to the device, you can request a response and it will be clear that the command has been understood.
In the video below, a short presentation of the player control through the AVR processor which supports the buttons (NEXT, PREV, VOL +, VOL-) here, then sends the appropriate commands, receives from the device information about the current SD card or connected USB drive and sends the command 0x7E FF 06 01 00 00 00 EF for sequential playback of tracks. There is also a remote control via IR.
[movie: 6bf572119f] https://filmy.elektroda.pl/18_1511229716.mp4 [/ movie: 6bf572119f]
The disadvantages that I noticed with this player are the inability to connect a second loudspeaker, no possibility of scrolling, no memory of the track being played after turning off the power and the volume set, no possibility to play songs in the order with "analog" control (feeding the mass to the appropriate goldpins) - after the end of playback track, you have to force the next track to play, this problem can be avoided when controlling via UART.
The player can be used to build a watch where you can hire it to play the bugle call at the full hour or as a wake-up call, an MP3 doorbell, etc.
Below is the documentation for the DFPlayer mini.
I would like to introduce you to a cheap Chinese MP3 player - DFPlayer Mini.
The cost of such a player is less than $ 1.5.
DFPlayer mini has the ability to play music in MP3 or WAV format from the built-in micro SD card reader, you can also play music by connecting a USB flash drive to the player. The storage medium should not be larger than 32GB and should be FAT16 or FAT32 format.
This player has the ability to control both by connecting goldpins and through the UART interface with a speed of 9600 bps.
It has dimensions of 20.5 x 20.5 x 13 mm.


I became interested in the player after reading the article of one of the forum users, where he described a changer emulator he had created for cars of the VAG group.
https://www.elektroda.pl/rtvforum/topic3380561.html
The player was ordered directly from China, after 3 weeks it was in my hands.
Basic "analog" control is shown in the picture below.

This way, you can turn on the next / previous track, turn it down / up.
You can connect a small speaker directly to the player - I used 1.5W 8?.
Unfortunately, the device has an output only for one loudspeaker, but you can get stereo through the DAC_R, DAC_L outputs where you should connect them through an amplifier or you can connect headphones here.
The device can be powered from 5V, power consumption less than 15mA, increases when you connect a USB device.
Tracks recorded on a storage medium should be properly named - e.g. 001, 002 etc. Tracks should be grouped in folders that are also numbered - 01, 02, etc.
The maximum number of folders is 99 and the maximum number of songs in a folder is 255.
If we do not use the control that turns on the appropriate track number, we will only use the previous / next track, then tracks and folders can be named freely.
Below is the player pinout

As for communication via UART, use the settings as in the picture below.

It should be remembered that although the device is powered from 5V, the UART voltage level is 3.3V and for this reason, a 1k? resistor should be added between the Tx of the device sending the commands and the Rx of the player (if we use the 5v standard in the device sending the commands, at 3.3V the resistor is redundant). I used a 10k? resistor because I had one at hand.

The video below (sorry for not the best quality) shows sending commands using the COM Port Toolkit program and the USB-UART converter based on the FT232 chip.
[movie: 6bf572119f] https://filmy.elektroda.pl/83_1511229427.mp4 [/ movie: 6bf572119f]
The basic commands are:
- next 0x7E FF 06 01 00 00 00 EF
- previous 0x7E FF 06 02 00 00 00 EF
- quieter 0x7E FF 06 04 00 00 00 EF
- louder 0x7E FF 06 02 00 00 00 EF
The above commands do not include checksums, they can be sent without sums or with a checksum.
How to calculate the checksum?
We count it in hexadecimal.
The command with the checksum for switching on the next track is:
7E FF 06 01 00 00 00 FE FA EF
where FE FA is the checksum.
We need to add FF + 06 + 01 + 00 + 00 + 00 = 106 together
0-106 = FA EF which gives our checksum.
When sending a command to the device, you can request a response and it will be clear that the command has been understood.
In the video below, a short presentation of the player control through the AVR processor which supports the buttons (NEXT, PREV, VOL +, VOL-) here, then sends the appropriate commands, receives from the device information about the current SD card or connected USB drive and sends the command 0x7E FF 06 01 00 00 00 EF for sequential playback of tracks. There is also a remote control via IR.
[movie: 6bf572119f] https://filmy.elektroda.pl/18_1511229716.mp4 [/ movie: 6bf572119f]
The disadvantages that I noticed with this player are the inability to connect a second loudspeaker, no possibility of scrolling, no memory of the track being played after turning off the power and the volume set, no possibility to play songs in the order with "analog" control (feeding the mass to the appropriate goldpins) - after the end of playback track, you have to force the next track to play, this problem can be avoided when controlling via UART.
The player can be used to build a watch where you can hire it to play the bugle call at the full hour or as a wake-up call, an MP3 doorbell, etc.
Below is the documentation for the DFPlayer mini.
Cool? Ranking DIY