The DF Player Mini is a compact MP3 player module designed for embedded audio applications. It can play audio files stored on a micro SD card and is controlled via serial communication, making it an excellent choice for projects requiring sound playback. The module supports MP3 and WAV file formats and offers features such as adjustable volume, EQ settings, and playback control. Its small size and ease of use make it popular in DIY electronics, robotics, and IoT projects.
Explore Projects Built with DF Player Mini
Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
This circuit is an MP3 player system controlled by a Seeed Studio nRF52840 microcontroller. It includes a DFPlayer MINI for audio playback, a 0.96" OLED display for visual feedback, and multiple pushbuttons for user interaction. The system is powered by a 3.7V LiPo battery and outputs audio through a 3.5mm audio jack.
This circuit features an ESP32 Devkit V1 microcontroller interfaced with a DFPlayer Mini MP3 player module, an RFID-RC522 reader, a piezo speaker, and two arcade buttons. The ESP32 controls audio playback through the DFPlayer Mini, which is connected to the speaker, and uses the RFID reader to trigger specific audio tracks based on RFID tag data. The arcade buttons are used to control playback and adjust volume, while a rocker switch and battery mount provide power management.
This circuit features an ESP32 Mini microcontroller connected to a DFPlayer Mini MP3 module for audio playback, with a loudspeaker attached for sound output. The ESP32 controls two LEDs (green and red) and reads an analog value from a potentiometer. Power management is handled by a TP4056 charging module connected to an 18650 battery, providing power to the ESP32 and other components.
This circuit connects an Arduino 101 microcontroller to a DFPlayer Mini MP3 player module. The Arduino controls the DFPlayer Mini via digital pins D11 (PWM/MOSI) and D10 (PWM/SS) for serial communication, allowing it to send commands and data to play audio files. The 5V and GND pins from the Arduino provide power to the DFPlayer Mini, and no external resistors are involved in the communication or power circuits.
The DF Player Mini has the following key technical specifications:
Parameter
Value
Operating Voltage
3.2V - 5.0V
Operating Current
20mA - 30mA (idle), up to 100mA (playback)
Supported File Formats
MP3, WAV
Storage Medium
Micro SD card (up to 32GB, FAT16/FAT32)
Communication Protocol
UART (Serial)
Audio Output
Stereo (DAC) or Mono (via speaker output)
Dimensions
22mm x 20mm x 3.5mm
Pin Configuration and Descriptions
The DF Player Mini has 16 pins, but only a subset is commonly used in most applications. Below is the pin configuration:
Pin
Name
Description
1
VCC
Power supply input (3.2V - 5.0V).
2
GND
Ground connection.
3
RX
Serial data input (connect to microcontroller TX pin).
4
TX
Serial data output (connect to microcontroller RX pin).
5
SPK_1
Speaker output (positive terminal).
6
SPK_2
Speaker output (negative terminal).
7
DAC_R
Right channel audio output (for external amplifier).
8
DAC_L
Left channel audio output (for external amplifier).
9-16
Other Pins
Reserved for advanced features (e.g., IO control, ADKEY, BUSY, etc.).
Usage Instructions
Connecting the DF Player Mini
To use the DF Player Mini in a circuit, follow these steps:
Power Supply: Connect the VCC pin to a 5V power source and the GND pin to ground.
Serial Communication: Connect the RX pin of the DF Player Mini to the TX pin of your microcontroller (e.g., Arduino UNO) and the TX pin of the DF Player Mini to the RX pin of the microcontroller.
Audio Output:
For a speaker, connect the SPK_1 and SPK_2 pins to the speaker terminals.
For an external amplifier, use the DAC_R and DAC_L pins.
Micro SD Card: Insert a micro SD card formatted as FAT16 or FAT32 with audio files stored in the root directory or folders.
Example Arduino UNO Code
Below is an example of how to control the DF Player Mini using an Arduino UNO:
#include "SoftwareSerial.h"
// Define RX and TX pins for SoftwareSerial
SoftwareSerial mySerial(10, 11); // RX = pin 10, TX = pin 11
void setup() {
mySerial.begin(9600); // Initialize SoftwareSerial at 9600 baud
Serial.begin(9600); // Initialize hardware serial for debugging
Serial.println("Initializing DF Player Mini...");
delay(1000);
// Send initialization command to DF Player Mini
mySerial.write(0x7E); // Start byte
mySerial.write(0xFF); // Version
mySerial.write(0x06); // Length
mySerial.write(0x09); // Command: Select device
mySerial.write(0x00); // Feedback
mySerial.write(0x02); // Parameter: TF card
mySerial.write(0xFE); // Checksum high byte
mySerial.write(0xED); // Checksum low byte
mySerial.write(0xEF); // End byte
Serial.println("DF Player Mini initialized.");
}
void loop() {
// Example: Play the first track
Serial.println("Playing track 1...");
mySerial.write(0x7E); // Start byte
mySerial.write(0xFF); // Version
mySerial.write(0x06); // Length
mySerial.write(0x03); // Command: Play track
mySerial.write(0x00); // Feedback
mySerial.write(0x00); // Parameter high byte
mySerial.write(0x01); // Parameter low byte (track number)
mySerial.write(0xFE); // Checksum high byte
mySerial.write(0xF7); // Checksum low byte
mySerial.write(0xEF); // End byte
delay(5000); // Wait for 5 seconds before repeating
}
Important Considerations
Ensure the micro SD card is properly formatted (FAT16 or FAT32) and contains supported audio files.
Use a resistor divider or logic level shifter if your microcontroller operates at 3.3V logic levels.
Avoid connecting both the speaker output (SPK_1/SPK_2) and DAC output (DAC_R/DAC_L) simultaneously to prevent damage.
Troubleshooting and FAQs
Common Issues
No Sound Output:
Ensure the speaker is properly connected to SPK_1 and SPK_2.
Verify that the audio files are in MP3 or WAV format and stored correctly on the micro SD card.
Check the power supply voltage (3.2V - 5.0V).
Module Not Responding:
Confirm the RX and TX connections between the DF Player Mini and the microcontroller.
Ensure the baud rate is set to 9600 in your code.
Distorted Audio:
Check the speaker impedance (recommended: 4Ω or 8Ω).
Reduce the playback volume using serial commands.
FAQs
Q: Can I use the DF Player Mini without a microcontroller?
A: Yes, the module can operate in standalone mode using buttons connected to the IO pins.
Q: What is the maximum storage capacity supported?
A: The DF Player Mini supports micro SD cards up to 32GB formatted as FAT16 or FAT32.
Q: How do I adjust the volume?
A: Volume can be adjusted via serial commands or by using external buttons in standalone mode.
Q: Can I play specific tracks from folders?
A: Yes, you can specify folder and track numbers using serial commands.
By following this documentation, you can effectively integrate the DF Player Mini into your projects and troubleshoot common issues.