I published the code and wiring schematic for my MP3 player on github and open-sourced it.
It is based on the ESP32-C3 Super Mini. The system reads SD cards up to 32GB (FAT32 format only), organizes files and folders in alphabetical order, and plays all the tracks within a selected folder. It features a navigation manager, recognizes artist and track names (if available), keeps track of elapsed playback time, and includes volume, play, pause, next, and back controls.
You can clone the project at the github link on the post! =)
Key limitations to keep in mind:
- No seeking: The system does not support fast-forwarding or rewinding; tracks play from start to finish;
- Resource usage: The file manager is somewhat resource-heavy, so I paused the audio buffer during menu browsing to ensure smooth and pleasant navigation;
- File compatibility: Please place only MP3 files in the SD card folders. Other file extensions may cause unexpected behavior.