STM32 WAV Player & File Manager
Embedded Firmware, GUI Design, and Custom Hardware
Description
A custom STM32-based WAV audio player featuring a graphical file manager, removable storage support, and real-time audio playback. This project combined low-level firmware development, hardware integration, and user interface design into a standalone embedded system.
Project Overview
This project is a standalone WAV audio player and file manager built around an STM32F4 microcontroller. It supports audio playback from both an SD card and a USB flash drive, with a graphical interface displayed on a parallel LCD.
Users can browse files, play audio, and perform file operations such as copy, rename, cut, and delete directly on the device. Audio playback is handled using the STM32’s internal DAC with output through a standard 3.5 mm audio jack.
Although this was an earlier project, it remains a strong demonstration of firmware complexity, embedded UI design, and system-level integration.
Key Skills & Takeaways
- STM32F4 embedded firmware development
- DMA-based WAV audio playback via DAC
- Graphical file manager with touch input
- USB flash drive and SD card support
- Custom parallel LCD driver
- On-device file system operations
- Interrupt-driven embedded system design
Challenges & Setbacks
- Developing a reliable parallel LCD driver with 16 data lines
- Maintaining UI responsiveness during real-time audio playback
Demonstration Video
This video demonstrates the graphical file manager, storage switching between SD card and USB, and real-time WAV audio playback using the STM32 DAC.
Project Resources
GitHub Repository →Project Gallery