# Cezap/dfplayer_mini
[](https://components.espressif.com/components/Cezap/dfplayer_mini)
UART-драйвер для **DFPlayer Mini** (YX5300) под ESP-IDF.
* [Component page](https://components.espressif.com/components/Cezap/dfplayer_mini)
* [Datasheet / wiki](https://wiki.dfrobot.com/DFPlayer_Mini_SKU_DFR0299)
## Installation
```sh
idf.py add-dependency "Cezap/dfplayer_mini^1.0.4"
```
Или в `main/idf_component.yml`:
```yaml
dependencies:
Cezap/dfplayer_mini: "^1.0.4"
```
В коде: `#include "dfplayer_mini.h"`
## SD-карта (важно)
Формат: **FAT32**.
### Папки с треками (рекомендуется)
Имена папок — **строго две цифры**: `01`, `02`, … `99`
(допустимый диапазон для модуля: **01–99**; `00` обычно не используют).
Имена файлов внутри папки — **строго три цифры** + `.mp3`:
```text
01/
001.mp3
002.mp3
...
255.mp3
99/
001.mp3
```
Пример пути: `/01/001.mp3`
В коде: `dfplayer_mini_play_folder_track(mp3, 1, 1);`
Нельзя: `1/`, `track1.mp3`, `0001.mp3` в таких папках — модуль часто не находит файл.
## Quick start
```c
#include "dfplayer_mini.h"
void app_main(void)
{
dfplayer_mini_config_t cfg = DFPLAYER_MINI_CONFIG_DEFAULT();
cfg.uart_num = UART_NUM_1;
cfg.tx_gpio = 17; // ESP TX → module RX
cfg.rx_gpio = 16; // ESP RX ← module TX
cfg.busy_gpio = 4; // optional; GPIO_NUM_NC if unused
dfplayer_mini_handle_t mp3;
ESP_ERROR_CHECK(dfplayer_mini_create(&cfg, &mp3));
ESP_ERROR_CHECK(dfplayer_mini_begin(mp3, 20, 5000));
/* /01/001.mp3 */
ESP_ERROR_CHECK(dfplayer_mini_play_folder_track(mp3, 1, 1));
}
```
UART: **9600 8N1**. BUSY: **LOW** = играет.
Проводка UART всегда крестом: TX→RX, RX→TX, общий GND. VCC модуля обычно **5V**.
## Example
```sh
cd examples/default
idf.py set-target esp32
idf.py build
# с платой: idf.py -p COMx flash monitor
```
idf.py add-dependency "cezap/dfplayer_mini^1.0.5"