Stereo MP3 Player System Using Arduino & DFPlayer

Hi everyone, we are back again with another interesting Arduino project. At this time, we aren’t dealing with well-known sensors, motors, and relay-like stuff. We are going to build a Stereo MP3 Player system using Arduino. Using a DFPlayer module which is very cheap, we can easily make this project. We already built a DFPlayer-based Thunder Lightning project previously. Make sure to check out.

MP3 players are getting old daily, as many types of alternatives are available in the market like mobile phones. But doing this project using Arduino is cool. Isn’t it?

This stereo MP3 player uses a DFPlayer module with all the functions and inputs/outputs a decent MP3 player should have. It allows play/pause, next, and previous features with advanced equaliser, looping and shuffling functions. Later we can also add some extra features like Bluetooth, LCD display, etc. We will build this into two steps.

In the first step, we will build the main circuit which includes DFPlayer and Arduino. And in the second step, we add a PAM8403 amplifier to boost the sound for a better experience with stereo sound. So let’s build it.

Project

Arduino Stereo MP3 Player

Circuit Diagram

Arduino Stereo MP3 Player Circuit Diagram

Components Required

  • Arduino Nano
  • DFPlayer Mini Module
  • SD Card
  • 1KΩ Resistance
  • Push Buttons (x3)
  • Speakers (x2)
  • Connection Wire
  • Lithium-Ion Battery (x2)
  • Lithium-Ion Battery Holder
  • Veroboard

DFPlayer Mini Module

DFPlayer Mini

The DFPlayer Mini is a small, cheap MP3 module with a clear audio output that can be modified as mono or stereo output as per requirement. This is a standalone module that can be used with a microcontroller, attached battery, speakers, and push buttons. There are two enabled pins (RX/TX) for serial communication. Through these simple serial pins, we can command the module to play/pause songs, next and previous songs, shuffle, etc. The module comes with an SDcard slot and supports both FAT16 and FAT32 file systems.

DFPlayer Mini Pinout

Circuit Connection of Stereo MP3 Player

  • Connect 5V output from Arduino Nano to the input VCC pin of the DFPlayer module.
  • Connect the Arduino Nano ground pin to the DFPlayer module ground.
  • For the transmission process, the Arduino D10 pin is to the DFPlayer module TX pin.
  • And connect the Arduino D11 pin to the 1KΩ resistor, the other side of the resistor is connected to the DFPlayer module RX pin.
  • For a stereo speaker, connect the left side wire of the PAM8403 amplifier module to the DFPlayer module DACL pin and the right side wire to the DACR pin respectively. Also, connect the ground wire to the DFPlayer ground pin.

While uploading code to the Arduino, disconnect RX pin and after uploading just connect it again.

PCB Design

After designing the schematic diagram of the Digital RPM Meter, the assembled components and wiring are too clumsy and looked very unprofessional. In fact, the wiring also has a chance of loose connection. To give it a clean and professional look and also to compress the size, I decided to build its PCB prototype using EasyEDA software as it is so simple to use. Now come to the main part, where we need to order our PCB prototype. I always prefer PCBWay for their quality assurance, fastest delivery and also for 24/7 customer support.

PCB View

Arduino Stereo MP3 Player 2D View
2D View
Arduino Stereo MP3 Player 3D View

Why I Choose PCBWay as My First Preference?

I’ve done several runs with PCBWay and am happy with the results, it’s good quality. It is one of the most experienced PCB manufacturing companies based in China with an experience of more than a decade in the field of PCB prototype and fabrication. PCBWay has always been committed to technological innovation and meeting the needs of their customers from different industries in terms of quality, delivery, cost-effectiveness and any other demanding requests. The etching, solder mask, and hole sizes are all done well and that is what matters to me. It takes a few hours for a design to get approved and then a couple of days to finish and ship.

With more than a decade in the field of PCB prototypes and fabrication, PCBWay has proved its assurance from time to time. They always look at the customer’s needs from different regions in terms of quality, on-time delivery, cost-effectiveness and any other demanding requests.

PCBWay Gold Finish
PCBWay Thickness

These PCBs were manufactured by PCBWay and the finish quality really impressive, especially with the gold finish path. If you want to finish your product faster you could also ask PCBWay to make a panelized order where you receive multiple PCBs in a single panel. With this, you will also receive SMT Stencil from PCBWay, saving you time and effort. All the orders are high quality and could select a lot of settings such as thickness, flexible PCB, the colour of the solder masks, the number of layers, material, surface finish and more.

Arduino Code

You need to install the “DFRobotDFPlayerMini.h” library before compiling the Arduino code.

Leave a Comment