This project aims to create a Bluetooth enabled MP3 player using the ESP32, with the following features:
- SD card storage for MP3 files
- Bluetooth audio output to earbuds/headphones
- Wifi Access point for configuring bluetooth device MAC address and other settings
- Physical controls (subject to change):
- Power switch (on/off)
- Play/pause button
- Next track button
- Previous track button
- Volume up button
- Volume down button
This project uses the ESP IDF and FreeRTOS for real time operations. The project is organized with a CMake based build system and follows the standard ESP IDF project structure.
Hardware versions will eventually be tracked and instructions may change. The current instructions assume possession of an ESP32 devboard for prototyping.
- Setup
esp-idftoolchain.- It is probably a good idea to add the
get_idfcommand to your shell.
- It is probably a good idea to add the
- In the root of the repository, run
get_idfif you haven't already.- If
sdkconfigis missing, you may need to run:idf.py set-target esp32idf.py menuconfig
- If
- From inside the
firmware/directory:- Run
idf.py build - Run
idf.py -p <serial_port> flash monitorto flash and monitor subsequent output - Exit the monitor via
ctrl-[
- Run
Changes to the project architecture should eventually be documented under the
hardware/directory.
v0 [prototype](ESP32 + spi-SD)