Very simple MP3 player with a Display

I have a costume that's a giant robot that talks. He talks and I control what he says with 3 buttons in my glove for Rewind, Play/Pause and FastForward. I've been using a really inexpensive MP3 player that I bought off Amazon for this. I would break the MP3 player open, solder wires to the Rewind, Play/Pause and Fast Forward buttons to extend the buttons to my glove. This would allow me to place the MP3 player in my helmet so I can read the display, select an audio file, then play it. The Issue is I keep breaking the MP3 players since they're not designed to be handled, soldered, etc. I would really like to replace the MP3 player with Arduino devices. The DFPlayer is ideal for this, but I can't find the right display solution for me. I would like something really simple, even something like a seven segment display so I can see the queued track number and then play it would be absolutely perfect.

https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299

Any ideas or thoughts would be appreciated. Thank you.

Slightly answering my own question. It looks like the DFPlayer will show the current track via serial? Anyone have any experience with this? If it's just a matter of finding the right display for this device, I would really appreciate a pointer!

Serial Query Cmd
Commands	Function Description	Parameters(16bit)
0x3C	STAY	
0x3D	STAY	
0x3E	STAY	
0x3F	Send initialization parameters	0-0x0F(each bit represent one device of the low-four bits)
0x40	Returns an error, request retransmission	
0x41	Reply	
0x42	Query the current status	
0x43	Query the current volume	
0x44	Query the current status EQ	
0x45	Query the current palyback mode	This version retains this feature
0x46	Query the current software version	This version retains this feature
0x47	Query the total number of TF card files	
0x48	Query the total number of U-disk files	
0x49	Query the total number of FLASH card files	
0x4A	keep on	
0x4B	Queries the current track of TF card	
0x4C	Queries the current track of U-disk	
0x4D	Queries the current track of Flash

There are plenty of displays.

  • You have the 16x2 displays (HD44780).
  • ILI9340
  • ssd1306 oled displays

and lots of other displays.

Just google for Arduino lcd, Arduino display etc.

there is at least one decent library for that player out there too...

Interesting. Thanks for the responses. What about something like this:

Arduino Uno:

DFPlayer Mini:
https://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299

and

Sparkfun 7 Segment display?

I'll just increment the display every time I press the next button in my glove. I've never done serial with the Uno before so I'm not completely sure if I'm missing anything.

Thanks!

I use one of those players in my chiming clock project. It works well and the sound quality is ok, even through a small speaker.

The disappointing problem for your project is that it will not tell you the file/track names, only the numbers. It would be great for your project to view the file/track names on a small display, flip through them with your buttons and select which one to play.

If the tracks do not change often, you could program the track names into the Arduino code.

PaulRB:
The disappointing problem for your project is that it will not tell you the file/track names, only the numbers.

That's absolutely perfect for my use case! The tracks will not change at all so just displaying the track number is all i need. Thank you for the response! I'm moving forward with this configuration.

Welp, it's done! Thanks again everyone. I can't wait to show this off tomorrow :smiley: