Materials used :
(If you and can’t access the link,
please use a VPN)
Download libraries.zip and extract this outer ZIP.
In Arduino IDE, open Sketch → Include Library → Add .ZIP Library….
Select each numbered ZIP inside the extracted libraries folder, one at a time, in this order:
01 — Adafruit BusIO 1.17.4
02 — Adafruit GFX Library 1.12.6
03 — Adafruit SSD1306 2.5.16
04 — libhelix 0.9.4
05 — audio-tools 1.2.6
06 — ESP32-A2DP 1.8.11
Keep the six inner ZIPs compressed. Do not install the outer libraries.zip as a library. Restart Arduino IDE after installing all six libraries. If an older copy is installed, back it up before replacing it and avoid duplicate library folders.
Open File → Open… and select ESP32_SD_BT_Player.ino inside the ESP32_SD_BT_Player folder. Keep the folder and sketch names identical.
Open Tools → Board → esp32 → ESP32 Dev Module.
Under Tools, set Partition Scheme → Huge APP (3MB No OTA/1MB SPIFFS), Flash Size → 4MB (32Mb), PSRAM → Disabled, and Upload Speed → 115200.
Use esp32 by Espressif Systems, version 3.3.5 in Boards Manager for this project. The board must be an original ESP32 / ESP32-WROOM-32; ESP32-S3/C3 do not support this Classic Bluetooth firmware.
Connect the ESP32 directly to the computer using a USB data cable.
Open Tools → Port and select the board’s port. Windows normally shows a COM port; macOS normally shows a /dev/cu.* port. Unplug/reconnect the board if you need to identify which port appears.
Click Verify (✓). The first compilation may take several minutes. Continue only when compilation finishes without errors.
Close Serial Monitor or other software using the same port, then click Upload (→).
Wait until writing finishes. Messages such as Done uploading or Hard resetting via RTS pin indicate that the transfer has completed. These messages do not test the wiring or audio hardware.
The CNC machine I used to machine the enclosure in this video.
for more relaxing DIY electronics, creative builds & satisfying tech art! Thank you for the support!
Join the Huy Vector Community — a place to share projects, circuits, ideas, and behind-the-scenes content from the channel.