The DFPlayer Mini MP3 Player KeeYees (Part ID: KYES65-KIT) is a compact and versatile MP3 player module designed for audio playback in DIY electronics projects. It supports audio files stored on a micro SD card and features a built-in amplifier, making it ideal for standalone or microcontroller-based applications. The module is compatible with various audio formats, including MP3, WAV, and WMA, and can be controlled via serial communication or standalone mode.
The DFPlayer Mini has 16 pins, as described in the table below:
Pin Name | Pin Number | Description |
---|---|---|
VCC | 1 | Power supply input (3.2V to 5.0V DC). |
RX | 2 | UART serial communication input (connect to microcontroller TX pin). |
TX | 3 | UART serial communication output (connect to microcontroller RX pin). |
DAC_R | 4 | Right channel stereo audio output (DAC). |
DAC_L | 5 | Left channel stereo audio output (DAC). |
SPK_1 | 6 | Positive terminal for mono speaker output (3W max). |
SPK_2 | 7 | Negative terminal for mono speaker output. |
IO_1 | 8 | General-purpose input/output pin 1. |
IO_2 | 9 | General-purpose input/output pin 2. |
ADKEY_1 | 10 | Analog key input for standalone control. |
ADKEY_2 | 11 | Analog key input for standalone control. |
BUSY | 12 | Output pin indicating playback status (LOW = playing, HIGH = idle). |
GND | 13 | Ground connection. |
SD | 14 | Micro SD card slot for audio file storage. |
RESET | 15 | Reset pin (active LOW). |
NC | 16 | Not connected. |
0001.mp3
, 0002.mp3
, etc.Below is an example of how to connect and control the DFPlayer Mini with an Arduino UNO:
#include "SoftwareSerial.h"
// Define RX and TX pins for SoftwareSerial
SoftwareSerial mySerial(10, 11); // RX, TX
void setup() {
mySerial.begin(9600); // Initialize DFPlayer Mini communication
Serial.begin(9600); // Initialize Serial Monitor for debugging
// Send initialization commands to DFPlayer 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: SD card
mySerial.write(0xEF); // End byte
Serial.println("DFPlayer Mini initialized.");
}
void loop() {
// Example: Play the first track
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); // High byte of track number
mySerial.write(0x01); // Low byte of track number (Track 1)
mySerial.write(0xEF); // End byte
delay(5000); // Wait for 5 seconds before replaying
}
No Sound Output:
0001.mp3
).Module Not Responding:
Playback Stops Unexpectedly:
Distorted Audio:
Can I use the DFPlayer Mini without a microcontroller? Yes, the module supports standalone mode using AD key inputs.
What is the maximum supported micro SD card size? The module supports micro SD cards up to 32GB formatted as FAT16 or FAT32.
Can I connect headphones directly to the module? Yes, use the DAC_R and DAC_L pins for stereo headphone output.
Is the module compatible with 3.3V logic microcontrollers? Yes, the module works with both 3.3V and 5V logic levels.