A fully custom MP3 player designed and built from scratch as part of the Embedded Systems Development FIU INIT BUILD track. The project focuses on creating a functional music player capable of storing, managing, and playing audio files while integrating a graphical interface, physical controls, and a dedicated audio subsystem.
This repository documents the complete engineering process—from schematic design and PCB fabrication to firmware development and system integration—providing a hands-on experience in embedded hardware and software design.
The goal of this project is to develop a standalone MP3 player powered by an ESP32-WROVER-E-N16R8 microcontroller. The device features:
-
A graphical display for browsing the music library, viewing the currently playing track, and showing lyrics.
-
A dedicated MP3 decoding chip for high‑quality audio playback.
-
A custom PCB integrating power management, audio circuitry, storage, and user input.
-
Firmware written in C/C++ to handle playback, UI rendering, storage access, and peripheral communication.
This project emphasizes teamwork, embedded design principles, and iterative development using modern engineering tools.
- MP3 playback using the VS1053b audio decoder
- Song storage via SD card
- Graphical interface on TFT-LCD Color Display
- Physical input controls for navigation, selection, volume, and playback
- Custom PCB with integrated power system and protection circuitry
- Firmware built using Arduino IDE
- Firmware Development: Arduino IDE (C++)
- Hardware Design: Altium Designer (schematics + PCB layout)
- Version Control & Collaboration: GitHub
- Microcontroller Unit:
- Audio Processing:
- File Storage:
- Display:
- Power System:
- User Input: navigation buttons, play/pause, volume control
- William K. Coleman
- Paola Dorado Galicia