April 13, 2025
Description
Wire diagram will follow soon !
This project is a compact NFC-powered jukebox based on the ESP32-C3 Mini. It uses an RC522 NFC reader to scan RFID tags, which are mapped via a JSON file to trigger specific songs or entire folders on the SD card. The audio is played through a DFPlayer Mini connected to a small speaker – no AUX output needed.
Tracks are organized into folders (01 to 99) on the SD card, and named following the DFPlayer Mini format (001_xxx.mp3 to 255_xxx.mp3). NFC tags can be linked to a specific [folder, track] pair, or just to a folder to play full albums or playlists.
As an optional feature, a lightweight web interface allows for playback control over Wi-Fi, including Play/Pause, Next/Previous Track, and Volume adjustment.
This build is ideal for makers looking to create a standalone, physical music experience with simple NFC interaction and no need for a screen or smartphone.
Micropython Source Code in .zip :-)
Features:
Use cases:
Hardware:
Tip: main.py runs automatically on boot.
Use Thonny to upload the following files to the ESP32-C3:
Upload each via:
File → Save as... → MicroPython device
The file nfc_map.json will be auto-generated on first boot if it doesn't exist.
It can be edited and saved directly on the controller later (e.g. using Thonny or WebREPL).
Example:
{
"0487CD44A8": [2],
"04A3BC1F22": [3, 5]
}
Y-Cable
That’s it – once set up, tapping a tag will play music instantly!
License:
Standard Digital File License