Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

ESP32 Based Audio Player

An ESP32 Based iPod type music player, can play music (.mp3) stored and given in an SD Card along with OLED display to show stats

Platform Connectivity Firmware

About this Project

An ESP32 (my favourite microcontroller) based music player - similar to an iPod, but DIY and made for a lot cheaper. Right now the current version of the firmware only includes wired headphones (via PCM5102a DAC module) but I plan to implement a Bluetooth A2DP sink and source so that it is different from a normal iPod.

Hardware Design

01 / Circuit Schematic

Circuit schematic

02 / PCB Layout

PCB layout

03 / PCB 3D View

3D PCB view 3D PCB view


Currently Implemented Features

  • Wired: No wireless connectivity issues! No latency issues!
  • SD Card: Update your SD card and it works without needing to update the firmware again.
  • OLED Feedback: OLED display to show currently playing song and if it's paused or not.
  • Physical control buttons: Control your sound using clicky Cherry MX Blue mechanical switches.

BoM

PART QUANTITY Purpose
ESP32 1 Main Processing unit
PCM5102a 1 Main I2S DAC
SPI SD Card Reader 1 To read the SD Card
Professional PCB 1 To house the electronics
OLED SSD1306 1 To display some stats about the song
Mechanical switches 3 For audio controls

Firmware Working

Dependencies:

This code runs a modified version of an this example code. I have added custom defined I2S and SPI pins (CS only for SPI) and added some graphics for OLED SSD1306 driver. I display the currently playing song on the OLED display and implement a simple logic to handle button presses to control the audio from the player class (please refer to arduino-audio-tools documentation for this) which include next-track, previous-track and pause (isActive)

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages