Specifications
- Supported Sampling Rates (kHz): 8 / 11.025 / 12 / 16 / 22.05 / 24 / 32 / 44.1 / 48
- Audio Output: 24-bit DAC, Dynamic Range: 90dB, SNR: 85dB
- File System: FAT16/FAT32, supports microSD up to 32GB and USB flash drives
- Playback Features: Supports up to 100 folders, each with 255 songs; advertising sound priority
- Volume: 30-level adjustable
- EQ: 6-level equalizer settings
- Playback Control: UART, I/O trigger, AD key control
Pinout
Pin |
Description |
Note |
VCC |
Power Supply + |
DC 3.2V–5V |
RX |
Serial Input |
UART |
TX |
Serial Output |
UART |
DAC_R |
Right Audio Out |
For amplifier/headphones |
DAC_L |
Left Audio Out |
For amplifier/headphones |
SPK2 |
Speaker – |
For 3W speaker |
GND |
Ground |
Power GND |
IO1 |
Trigger 1 |
Short press: Previous, Long: Volume– |
IO2 |
Trigger 2 |
Short press: Next, Long: Volume+ |
ADKEY1 |
AD Key 1 |
Trigger 1st MP3 |
ADKEY2 |
AD Key 2 |
Trigger 5th MP3 |
USB+ |
USB+ DP |
USB Port |
USB– |
USB– DM |
USB Port |
BUSY |
Status Output |
Low when playing |
Applications
- Voice-based alarms
- Car navigation announcements
- Talking blind cane projects
- Interactive toys and displays
- Educational and assistive devices
Important Notes:
- Only MP3 format files are supported.
- Use simple numeric file names like 001.mp3, 002.mp3, etc.
- Install DFPlayer Mini Library (v1.0) via the Arduino Library Manager for best compatibility.
Arduino Code
#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
SoftwareSerial mySoftwareSerial(2, 3); // RX, TX
DFRobotDFPlayerMini myDFPlayer;
void setup() {
mySoftwareSerial.begin(9600);
Serial.begin(115200);
Serial.println(F("Initializing DFPlayer ..."));
if (!myDFPlayer.begin(mySoftwareSerial)) {
Serial.println(F("Unable to begin:"));
Serial.println(F("1. Recheck connection"));
Serial.println(F("2. Insert SD card"));
while (true);
}
Serial.println(F("DFPlayer Mini online."));
myDFPlayer.volume(20); // Volume range: 0–30
}
void loop() {
myDFPlayer.play(1); // Play first MP3
delay(2000);
myDFPlayer.next(); // Play next
delay(2000);
myDFPlayer.next(); // Play next
delay(2000);
myDFPlayer.next(); // Play next
delay(2000);
}
Specifications
- Supported Sampling Rates (kHz): 8 / 11.025 / 12 / 16 / 22.05 / 24 / 32 / 44.1 / 48
- Audio Output: 24-bit DAC, Dynamic Range: 90dB, SNR: 85dB
- File System: FAT16/FAT32, supports microSD up to 32GB and USB flash drives
- Playback Features: Supports up to 100 folders, each with 255 songs; advertising sound priority
- Volume: 30-level adjustable
- EQ: 6-level equalizer settings
- Playback Control: UART, I/O trigger, AD key control
Pinout
Pin |
Description |
Note |
VCC |
Power Supply + |
DC 3.2V–5V |
RX |
Serial Input |
UART |
TX |
Serial Output |
UART |
DAC_R |
Right Audio Out |
For amplifier/headphones |
DAC_L |
Left Audio Out |
For amplifier/headphones |
SPK2 |
Speaker – |
For 3W speaker |
GND |
Ground |
Power GND |
IO1 |
Trigger 1 |
Short press: Previous, Long: Volume– |
IO2 |
Trigger 2 |
Short press: Next, Long: Volume+ |
ADKEY1 |
AD Key 1 |
Trigger 1st MP3 |
ADKEY2 |
AD Key 2 |
Trigger 5th MP3 |
USB+ |
USB+ DP |
USB Port |
USB– |
USB– DM |
USB Port |
BUSY |
Status Output |
Low when playing |
Applications
- Voice-based alarms
- Car navigation announcements
- Talking blind cane projects
- Interactive toys and displays
- Educational and assistive devices
Important Notes:
- Only MP3 format files are supported.
- Use simple numeric file names like 001.mp3, 002.mp3, etc.
- Install DFPlayer Mini Library (v1.0) via the Arduino Library Manager for best compatibility.
Arduino Code
#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
SoftwareSerial mySoftwareSerial(2, 3); // RX, TX
DFRobotDFPlayerMini myDFPlayer;
void setup() {
mySoftwareSerial.begin(9600);
Serial.begin(115200);
Serial.println(F("Initializing DFPlayer ..."));
if (!myDFPlayer.begin(mySoftwareSerial)) {
Serial.println(F("Unable to begin:"));
Serial.println(F("1. Recheck connection"));
Serial.println(F("2. Insert SD card"));
while (true);
}
Serial.println(F("DFPlayer Mini online."));
myDFPlayer.volume(20); // Volume range: 0–30
}
void loop() {
myDFPlayer.play(1); // Play first MP3
delay(2000);
myDFPlayer.next(); // Play next
delay(2000);
myDFPlayer.next(); // Play next
delay(2000);
myDFPlayer.next(); // Play next
delay(2000);
}