# DFPlayer Mini MP3 player: specs and pinout

> A small serial-controlled MP3 and WMV player module with a microSD (TF) card slot and a built-in 3 W amplifier. SPK1/SPK2 drive a speaker directly…

[HTML version](https://soldr.ai/docs/components/dfplayer-mini)

[Docs](https://soldr.ai/docs) / [Components](https://soldr.ai/docs/components)

A small serial-controlled MP3 and WMV player module with a microSD (TF) card slot and a built-in 3 W amplifier. SPK1/SPK2 drive a speaker directly (output under 3 W), or DAC_R/DAC_L give line outputs to an amplifier. It takes serial commands from a microcontroller or push buttons on its trigger pins.

Every value cites its sourceOfficial pinout

[Buy on Compoden](https://compoden.com/products/dfplayer-mini-mp3-player-module-serial-control-microsd)

## Specs

| Spec | Value | Source |
|---|---|---|
| Working voltage | DC 3.2 V to 5.0 V (typical 4.2 V) | source 2.1 Specification Description, p.1; Table 2.2 pin VCC, p.2 |
| Standby current | 20 mA | source 2.1 Specification Description, p.1 |
| UART | Standard serial, TTL level, adjustable baud rate, default 9600 bps; no parity, no flow control | source 2.1 Specification Description, p.1; 3.1 Serial Communication Format, p.3 |
| Audio formats and sample rates | MP3 and WMV decoding; 8, 11.025, 12, 16, 22.05, 24, 32, 44.1 and 48 kHz | source 1.2 Features, p.1 |
| DAC | 24-bit DAC output, dynamic range 90 dB, SNR 85 dB | source 1.2 Features, p.1 |
| Card file system | FAT16 and FAT32 TF card, up to 32 GB | source 1.2 Features, p.1 |
| Speaker output | Drives a speaker of less than 3 W directly (SPK1/SPK2); DAC_R and DAC_L drive an earphone or amplifier | source Table 2.2 Pin Description, p.2 |
| Volume and track commands | Volume 0 to 30 (command 0x06); track number 0 to 2999 (command 0x03) | source 3.2 Serial Communication Commands, p.3 |
| Start-up time | About 1.5 s to 3 s to initialise, depending on the files on the card | source 3.3.1 Returned data of module power-on, p.4 |
| Operating temperature and humidity | -40 to +70 C; 5 % to 95 % humidity | source 2.1 Specification Description, p.1 |
| Size | 20 mm x 20 mm | source Specification table |

## Power

| | Value | Source |
|---|---|---|
| Supply | 3.2 V to 5.0 V (typical 4.2 V) | source 2.1 Specification Description, p.1 |
| Current | 20 mA standby; playback current is not given | source 2.1 Specification Description, p.1 |

## Pinout

Pin rows are from the original maker&#x27;s DFR0299 module document (V1.0). Your unit may be a compatible module from another maker, so check its silkscreen against these names before wiring. The maker&#x27;s document says only that the serial port is TTL level; it does not give the RX pin&#x27;s voltage tolerance. The the original maker&#x27;s wiki (DFPlayer Mini, troubleshooting) advises a 1 kOhm resistor between Arduino TX and DFPlayer RX.

| Pin | Function | Voltage | Notes | Source |
|---|---|---|---|---|
| 1 | VCC | 3.2 V to 5.0 V | Input voltage; DC 3.2 V to 5.0 V; typical 4.2 V | source Table 2.2 Pin Description, p.2 |
| 2 | RX | | UART serial input | source Table 2.2 Pin Description, p.2 |
| 3 | TX | | UART serial output | source Table 2.2 Pin Description, p.2 |
| 4 | DAC_R | | Audio output, right channel; Drives earphone and amplifier | source Table 2.2 Pin Description, p.2 |
| 5 | DAC_L | | Audio output, left channel; Drives earphone and amplifier | source Table 2.2 Pin Description, p.2 |
| 6 | SPK2 | | Speaker-; Drives a speaker of less than 3 W | source Table 2.2 Pin Description, p.2 |
| 7 | GND | | Ground; Power GND | source Table 2.2 Pin Description, p.2 |
| 8 | SPK1 | | Speaker+; Drives a speaker of less than 3 W | source Table 2.2 Pin Description, p.2 |
| 9 | IO1 | | Trigger port 1; Short press: play previous; long press: volume down | source Table 2.2 Pin Description, p.2 |
| 10 | GND | | Ground; Power GND | source Table 2.2 Pin Description, p.2 |
| 11 | IO2 | | Trigger port 2; Short press: play next; long press: volume up | source Table 2.2 Pin Description, p.2 |
| 12 | ADKEY1 | | AD port 1; Triggers play of the first segment | source Table 2.2 Pin Description, p.2 |
| 13 | ADKEY2 | | AD port 2; Triggers play of the fifth segment | source Table 2.2 Pin Description, p.2 |
| 14 | USB+ | | USB+ (DP); USB port | source Table 2.2 Pin Description, p.2 |
| 15 | USB- | | USB- (DM); USB port | source Table 2.2 Pin Description, p.2 |
| 16 | BUSY | | Playing status; Low means playing; high means not playing | source Table 2.2 Pin Description, p.2 |

## Build with it
Project ideas for the DFPlayer Mini MP3 player. Each link opens Soldr with the prompt filled in; Soldr assigns the pins, checks power and shows how to wire every part.

- [Doorbell chime player](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20doorbell%20chime%20that%20plays%20a%20sound%20from%20a%20microSD%20card%20when%20a%20button%20is%20pressed%20using%20an%20Arduino%20Uno%20and%20a%20DFPlayer%20Mini): The Uno sends a serial play command (9600 baud) when the button is pressed. Put a 1 kOhm resistor from the resistor pack in series between the Uno&#x27;s 5 V TX pin and the module RX, as the original maker&#x27;s wiki advises. The 8 ohm speaker connects to SPK1 and SPK2, which the built-in 3 W amplifier drives (output under 3 W). Wait about 3 s after power-up before the first command. Power the module from the Uno&#x27;s 5 V, which is inside 3.2 V to 5.0 V.
- [A pocket sound board where two buttons play the next and previous track using a DFPlayer Mini, a speaker and three AA cells](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20pocket%20sound%20board%20where%20two%20buttons%20play%20the%20next%20and%20previous%20track%20using%20a%20DFPlayer%20Mini%2C%20a%20speaker%20and%20three%20AA%20cells): Trigger port IO1 plays the previous track and IO2 the next on a short press, without a microcontroller. Three alkaline AA cells give about 4.5 V, inside the 3.2 V to 5.0 V supply range; do not use a four-cell pack (about 6 V).
- [Voice-triggered sound player](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20voice-triggered%20sound%20player%20that%20plays%20a%20track%20when%20I%20say%20a%20command%20using%20an%20Arduino%20Uno%2C%20a%20voice%20recognition%20module%20V3%20and%20a%20DFPlayer%20Mini): The Uno reads the recognized record ID from the voice module and sends the matching play command to the DFPlayer. Put a 1 kOhm resistor from the resistor pack in series between the Uno&#x27;s 5 V TX pin and the DFPlayer RX, as the original maker&#x27;s wiki advises. Both modules use 9600 baud serial by default, so use a software serial port for one of them.
- [ESP32 reminder message player](https://app.soldr.ai/?prompt=I%20want%20to%20build%20a%20reminder%20that%20plays%20a%20recorded%20message%20from%20a%20microSD%20card%20when%20a%20push%20button%20is%20pressed%20using%20an%20ESP32%20and%20a%20DFPlayer%20Mini): The ESP32 sends the serial command from one of its UART pins. The maker&#x27;s document says only that the serial port is TTL level, so confirm that the module&#x27;s RX input accepts the ESP32&#x27;s 3.3 V output on your unit before relying on it. Learning project.

## Common mistakes

- Powering it above 5 V: the maker&#x27;s table gives 3.2 V to 5.0 V, so a 6 V battery pack is outside the range (source: [link](https://dfimg.dfrobot.com/wiki/20532/DFR0299_mp3-player-module_datasheet_V1.0.pdf), p.1-2).
- Using SPK1/SPK2 for anything but a speaker: the pin table says they drive a speaker (output less than 3 W, from the built-in 3 W amplifier), so use a speaker rated for that; for a bigger speaker or headphones take DAC_R/DAC_L into an amplifier (source: [link](https://dfimg.dfrobot.com/wiki/20532/DFR0299_mp3-player-module_datasheet_V1.0.pdf), p.1-2).
- Sending serial commands straight after power-up: the module needs about 1.5 s to 3 s to initialise, depending on the card contents (source: [link](https://dfimg.dfrobot.com/wiki/20532/DFR0299_mp3-player-module_datasheet_V1.0.pdf), p.4).

## Not covered by the official source

- The maker&#x27;s document does not name the decoder chip, so no chip-level facts are stated.
- The datasheet and the wiki give different numbers of songs per folder and of EQ modes; those figures are not used here.
- Playback current is not given in the maker&#x27;s document. The RX pin&#x27;s voltage tolerance is not given either: the document says only TTL level, and the original maker&#x27;s wiki advises a 1 kOhm resistor between a 5 V Arduino TX and the module RX.

## Sources

- [link](https://dfimg.dfrobot.com/wiki/20532/DFR0299_mp3-player-module_datasheet_V1.0.pdf) (the original maker&#x27;s DFR0299 DFPlayer Mini module datasheet V1.0; maker host)
- [link](https://wiki.dfrobot.com/DFPlayer_Mini_SKU_DFR0299) (the original maker&#x27;s wiki, DFPlayer Mini; module size, SPK1/SPK2 under-3 W statement and the 1 kOhm TX resistor advice)
