DIY Pocket MP3 Player

When [Neutrino-1] saw DFRobot’s DFPlayer module, he decided he wanted to make his own retro MP3 player. This tiny module comes packed with a ton of interesting capabilities such as EQ adjustment, volume control, and a 3 watt amplifier amongst other things. It can even play ads in between songs, should you want such a thing.

Controlling the DFPlayer module is easy using serial commands from a microcontroller, making it a convenient subsystem in bigger projects, and a potential alternative to the popular VLSI chips or the hard to come by WT2003S IC. [Neutrino-1] does a good job walking readers through the build making it fairly easy to remix, reuse, and reshare.

With the hardware sorted, all you’ve got to do is flash the firmware and load up an SD card with some MP3s. There’s even a small Python GUI to help you get your new player up and running. [Neutrino-1] also introduces users to the U8g2 display library which he says is a bit more feature-rich than the common Adafruit SSD1306 library. Great job [Neutrino-1]!

While you’re here, take a look at some of our other MP3 projects.

12 thoughts on “DIY Pocket MP3 Player

      1. ive always been curious about bringing my projects on planes. really wanted to bring my raspberry pi tablet when i had to go out of town, but im worried its janky battery system wouldn’t pass muster at security. i mean it had a bms in it but i dont expect tsa to know what those are and it was in a printed enclosure. and ive heard horror stories about people having to throw away hundreds of bucks worth of project just to get through security.

  1. That 4-pin OLED is something I have a bit of experience with. I bought some and tried using the Adafruit SSD1306 library with it and had tons of initialization problems. It took specific timing to get to work. Then I discovered the OakOLED driver and all of those problems went away. I’ll check into that U8g2 library, but if you’re looking for fixes, OakOLED is a good step.

    1. @John, Perhaps you mean this one?

      * netguy204 / OakOLED

      https://github.com/netguy204/OakOLED

      That looks like an overlay of some sort for the Adafruit_GFX library. Plus there’s no documentation for the OakOLED blob (have to dig in the source I guess). BTW that I2C OLED used in the MP3 player uses an SSH1106 chip, not an SSD1306, if that matters much.

  2. These small stand-alone MP3 players should be great for listening to long format content like audiobooks and podcasts, they can have long battery life so you’re not running down your phone when you are biking or on public transport, plus they are cheaper, smaller, lighter, and less fragile than a phone.

    Unfortunately all the small stand-alone MP3 players I see these days are crippled when it comes to long format content because of one missing feature – no non-volatile bookmarks that work across SD cards. Some other things that would be nice in a long format MP3 player: * Mono/Stereo selector so only one ear-bud or speaker is needed. * Removable batteries like rechargeable AA’s or beefy 18650’s. Also, removable batteries help eliminate planned obsolescence. Bluetooth for car connections (FM transmit too would be icing on the cake).

    A homebrew MP3 player can have all these missing features, plus you might even be able to sell it – at least until the Chinese copy it and put you out of business :-(

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.