Image of Mp3 Case
Figure 1. Finished Design of Mp3 Player.

"An Mp3 player for the embedded systems course (Cmpe 146) at SJSU, under the instruction of Preetpal Kang."

Functionalities of the MPreet3 include song playback form a micro sd card and a screen to display song metadata as well as volume level. A potentiometer allows for dymanic volume control during playback and a button interface allows for a menu interface to choose a song.

Hardware Overview

The Hardware layout of our mp3 player consists of the following.

  • 4x20 Character Uart LCD Screen
  • VLSI VS1053 Audio Codec from Geetech
  • SJ One Board running LPC 1758 ARM Cortex M4 MicroProcessor
  • 3000 mAh Power Bank
  • 4-pin push button interface, Rotary Potentiometer, SPST Power Switch
Image of inside Mp3 case
Figure 2. Inside hardware components of Mp3 Project.

Software Overview

The software layout is based around FreeRTOS with a CPU clock speed at 46 Mhz and a tick rate of 1 ms. Each function of the mp3 player is seperated into its own task, using mutexes and binary semaphores to establish a thread safe system.

Driver libraries created:

  • SPI
  • Uart
  • Decoder
  • LCD Screen
  • Read mp3 file metadata (form of id3 tags)
  • ADC

FreeRTOS Tasks to Handle Mp3 Functions:

  • Get / Show Volume
  • Display Song Data
  • Menu Interface
  • Read Song Data
  • Mp3 Playback
  • Playback Interface