Maker Pro
Maker Pro

MP3 Player project

BlueObsecurit

Mar 24, 2021
36
Joined
Mar 24, 2021
Messages
36
Hi, new to the forum.

I'm going to outline an idea I'd like to realise, please don't crucify me if I ask something stupid.

I have this old Muvo creative MP3 player that I recently dug out again. I just love this thing, because it is so briliant. Pen drive slots into a section that powers the whole thing on the go via 1.5v AAA battery. Small, runs on standard batteries, simple operation with features. You can use the small screen to select sub folders to play music in them, in other words you can make folders with music according to your mood, etc. Just really like the engineering of it.

This thing is getting on, it is only 2GB, so I can't just dump my collection on it.

I'd like to replicate it, my main requirements:
- Sorting functionality like described above
- Around 70x35mm, 15mm thick
- External buttons to control song, volume, power

It would also be nice if:
- Powerable by AAA (can be sacrified especially if required to avoid bulk)

I have googled a lot. I can't seem to find what I'm looking for. Don't really want to reinvent the wheel here, so I've been looking at other projects. I have experience with arduino and RPi (Yes, I know not a microcontroller) but I'm out of touch with what exists out there currently.

It could also be an idea to design a PCB (I'd need to seek someone out who could help with that...) using some kind of chip that has the above functionality if that even exsists...

Any thoughts?
 

Harald Kapp

Moderator
Moderator
Nov 17, 2011
13,722
Joined
Nov 17, 2011
Messages
13,722
I doubt you can DIY this in the same form factor as your current player. Lots of very small SMD components to be used.
I don't say it can't be done, but probably some advanced experience will be needed.

Anyway, this is not meant to discourage you. You may want to start this project anyway, see how small you can get. It may be good enough for you plus you'll have the satisfaction of a DIY project. I see two different options to proceed:
  1. Use an MP3 module as for example this one which can play directly from an SD card.
  2. Use a microcontroller that can decode the MP3 as for example in this reference implementation.

The issue with #1 is, that while it is comparatively simple to build, you have no access to the SD card from an additional microcontroller which you would need to build the user interface you want to have. These modules are usually limited to playing files from the SD card as instructed, but there is no way to tell a supervising microcontroller which files are actually present on the card.
#2 doesn't have this issue as the microcontroller has access to the file system and can thus control a user interface. The reference example uses a built-in NAND FLASH, but should be adaptable to support an SD card.

Apart from the electronic and mechanical work required to build such a player, you will also have to do a good piece of programming.

Have you considered using an old smartphone for your purpose? Good music player apps are available and SD cards fo 16 GB, 32 GB or even 64 GB are accepted by many smartphones.
 

BlueObsecurit

Mar 24, 2021
36
Joined
Mar 24, 2021
Messages
36
I doubt you can DIY this in the same form factor as your current player. Lots of very small SMD components to be used.
I don't say it can't be done, but probably some advanced experience will be needed.

Anyway, this is not meant to discourage you. You may want to start this project anyway, see how small you can get. It may be good enough for you plus you'll have the satisfaction of a DIY project. I see two different options to proceed:
  1. Use an MP3 module as for example this one which can play directly from an SD card.
  2. Use a microcontroller that can decode the MP3 as for example in this reference implementation.

The issue with #1 is, that while it is comparatively simple to build, you have no access to the SD card from an additional microcontroller which you would need to build the user interface you want to have. These modules are usually limited to playing files from the SD card as instructed, but there is no way to tell a supervising microcontroller which files are actually present on the card.
#2 doesn't have this issue as the microcontroller has access to the file system and can thus control a user interface. The reference example uses a built-in NAND FLASH, but should be adaptable to support an SD card.

Apart from the electronic and mechanical work required to build such a player, you will also have to do a good piece of programming.

Have you considered using an old smartphone for your purpose? Good music player apps are available and SD cards fo 16 GB, 32 GB or even 64 GB are accepted by many smartphones.

No discouragement! Prior to making this post I tried to solder SMD stuff, I just ended up destroying the PCB...

The 2nd option is interesting. I had a look at the data sheet and it does have I2C, so I guess you can use that for an OLED screeen? How do you program something like this? It seems like this has a steeper learning curve.

1st option: I have looked at this. I have no idea if what I found is right, but I had a look at the bottom of that page you linked, there is another link to this https://wiki.dfrobot.com/DFPlayer_Mini_SKU_DFR0299 It seems to me that you can control and get feedback using an Arduino? There seems to be a serial command to get the current track?
It seems that you need to have 4 digits in front of your songs name, and there seems to be some folder functionality, but it's not desribed the best. Guess that means I should experiment a bit...

My idea using option 1 then is to use the arduino to handle everything in terms of OLED screen and buttons. I'll prototype on a regular size, then I can see what I could possibly use that is smaller... maybe this? https://www.seeedstudio.com/Seeeduino-XIAO-Pre-Soldered-p-4747.html

I find it a bit comical that not too long ago Mp3 players was the next big thing, and now it's (imo) quite difficult to find stuff.
Getting away from smartphones was the idea of this. They are big (comparativly) and not everything needs a touch screen.

Thanks a lot! Could you let me know if it seems possible to use arduino for UI?
 

Harald Kapp

Moderator
Moderator
Nov 17, 2011
13,722
Joined
Nov 17, 2011
Messages
13,722
There seems to be a serial command to get the current track?
My idea using option 1 then is to use the arduino to handle everything in terms of OLED screen and buttons.
What would you se the OLEd for?
The issue is not the control of the MP3 module. You can easily make it play songs, skip forward and backwards etc. But you have no way of knowing what's on the SD card. Therefore your controller cannot display tracks, folders etc. Meaning a controller would be quite useless in your application. You could simply operate the module from a set of pushbuttons. Instead of playlists you'd have to have e.g. separate folders on the SD card each with all the songs for the "playlist" (meaning each folder = playlist). This will consume lots of space as you'll have to make copies of the tracks if they appear in more than one playlist/folder. Or you use separate SD cards, one for each playlist...

Could you let me know if it seems possible to use arduino for UI?
It certainly is. For almost every LCD there are libraries that make it comparatively easy to control the display. Reading a few button to allow for manual control (scrollling through lists, selecting a track, play, stop, pause etc. etc) is peanuts with the standard Arduino library functions
 

BlueObsecurit

Mar 24, 2021
36
Joined
Mar 24, 2021
Messages
36
What would you se the OLEd for?
The issue is not the control of the MP3 module. You can easily make it play songs, skip forward and backwards etc. But you have no way of knowing what's on the SD card. Therefore your controller cannot display tracks, folders etc. Meaning a controller would be quite useless in your application. You could simply operate the module from a set of pushbuttons. Instead of playlists you'd have to have e.g. separate folders on the SD card each with all the songs for the "playlist" (meaning each folder = playlist). This will consume lots of space as you'll have to make copies of the tracks if they appear in more than one playlist/folder. Or you use separate SD cards, one for each playlist...


It certainly is. For almost every LCD there are libraries that make it comparatively easy to control the display. Reading a few button to allow for manual control (scrollling through lists, selecting a track, play, stop, pause etc. etc) is peanuts with the standard Arduino library functions

Aha, I see now. Yeah it's a compromise, but I'll try to play with it and get to a point I like. The OLED is for displaying what's going on. Seems there is some kind of folder numbering on the DF player, but poorly defined. Maybe it would be possible to navigate to a menu item on the OLED to send a command to play a specific folder? Need to play with it to find out.

I'll have to order this from abroad, and forgive my snooping , but you are from Germany? The site you linked wants ~20 EUR to ship to northern Europe, you know any other sites?
 

Harald Kapp

Moderator
Moderator
Nov 17, 2011
13,722
Joined
Nov 17, 2011
Messages
13,722
Try Aliexpress or Bangood. With some luck Bangood can deliver from its UK warehouse.
 

dave9

Mar 5, 2017
1,188
Joined
Mar 5, 2017
Messages
1,188
I recommend finding some older, near-worthless smartphone, perhaps new enough that replacement batteries exist, then weed through existing audio apps to find the one you like the best.

There were old smartphones, and java capable predecessors that are quite small if you dislike the large screens of modern phones. I prefer using one rather than my EDC phone, because I don't want the wear on a headphone or USB jack, and am too frugal to buy bluetooth cans or earbuds when I already have a few that work fine. Plus, saves on EDC phone battery life to offload some tasks to other devices, and being able to recharge by USB rather than pulling a 1 x AAA cell is nice too.

Back in the day I had a Sandisk-something MP3 player that took 1 x AAA. I took an old cordless landline phone charge cradle and adapted it to charge the MP3 player, through stainless bolts I installed in each side of the battery compartment (was horizontally oriented at the bottom), but due to the low capacity of 1 x AAA, it was still more convenient to move on to using an old phone instead, plus like yours, was only a couple GB capacity while the phone could take at least 32GB mSD cards.
 

shumifan50

Jan 16, 2014
579
Joined
Jan 16, 2014
Messages
579
Look at ESP32S2 to build your own. It is a microcontroller designed for IoT devices and has a builtin DAC and SD card interface and runs off 3.3v ; 2 x AAA or single LIPO cell. Also standard interface to LCD display with support libraries. Combine it with a LM386 amplifier and it could play through speakers. Downside is it is only an 8 bit DAC. Can even provide OTA music uploads with its builtin WiFi.
 

victoriavicta

Apr 13, 2021
1
Joined
Apr 13, 2021
Messages
1
can you get the information regarding the type of microcontroller board to be used for implementation
 
Top