EMBSYS105 Assignment 5 -MP3 Player Solved

30.00 $ 15.00 $

Click Category Button to View Your Next Assignment | Homework

You'll get a download link with a: . zip solution files instantly, after Payment


5/5 - (1 vote)

This project requires

    1. the NUCLEO board
    2. the Adafruit Music Maker MP3 Shield – by now you should have received a Music Maker shield with headers soldered on.
    3. the Adafruit 2.8” TFT LCD shield
    4. headphones or earbuds
  1. You need to stack the MP3 shield onto the NUCLEO board and the LCD shield on top of the MP3 shield:
    1. Carefully plug your Adafruit Music Maker MP3 Shield into your NUCLEO board – make sure all the pins are correctly aligned before inserting.
    2. Carefully plug your Adafruit 2.8” TFT LCD shield into the Adafruit Music Maker shield – make sure all the pins are correctly aligned before inserting.
    3. If in doubt, check the Lecture 5 recording which has a demo around the 1 hour mark. 3. Download and unzip the MP3Player project contained in the zip file: MP3Player.zip
  2. Open the MP3Player.eww workspace in the EWARM IDE.
  3. You will need to copy your context switch file os_cpu_a.asm to the MP3Player project otherwise it won’t build.
  4. You will get 2 warnings about variables declared and not referenced. Don’t worry, those will go away after you do Assignment 5.
  5. Launch TeraTerm
  6. Build and upload the project and start it running.

What to expect

  1. You should see messages logged in the UART.
  2. If you plug headphones into the MP3 shield and reset the board you should hear endless repetitions of a ringing bell audio file.
  3. The LCD screen should display “Hello World!”

What to do if the program builds and uploads to the board but doesn’t work as stated above

  1. Did you add your working uCOS port code to asm?
  2. Are the shields plugged in properly to each other, NUCLEO on bottom, MP3 middle, LCD top?
  3. Are the headphones plugged in properly, and do they work for other devices?
  4. If none of the above fixes the situation don’t spend a lot of time trying to diagnose. This should just work. Break into the program to see what it is doing. Look at the call Stack (View/Call Stack). Send a message to the instructor with this information.


  • Specify, design, implement and debug a multithreaded embedded project using a real-time operating system.

Overall Functional Requirements

  • Create an MP3 player for the NUCLEO-F401RE reference platform using the Adafruit Music Maker MP3 Shield, and the Adafruit 2.8” TFT LCD shield, using the EWARM tool chain.
  • Include minimum functionality to Start (from beginning of song), Stop, and indicate play in progress on the LCD.
  • Add at least one additional functionality beyond the minimum (see optional features below for ideas).

Additional Requirements

  • Produce a written specification
  • High level description of your project’s feature set
  • What is implemented
  • How it works
  • Description of the functional blocks
  • Each task or group of tasks
  • How they work together
  • Produce diagrams to show the system design. Indicate tasks, ISRs, Queues, Mailboxes, major interfaces, etc.
  • Deliver the working code, with user instructions including a list of features and how to use each feature.

Optional Features (examples)

  • Pause, Fast Forward, Rewind
  • Display song progress on the LCD display
  • Add feature to change song
  • Read song files from SD card
  • Add a Help system
  • module05-ppfsze.zip