Kevin Gomez

Kevin Gomez

Real-Time Embedded MP3 Player

CMPE 146: Real-Time Embedded Systems

MP3 Player

As part of the course, CMPE 146: Real-Time Embedded Systems, students worked in teams of 3 to build an MP3 Player in a Real-Time Operating System environment. For this course we used a custom microcontroller built by NXP and needed to develop all the necessary drivers to include all of our required functions.

Roles Included:

  • Developed a working MP3 Player using an LPC408x/407x, a custom microcontroller utilizing an ARM Cortex-M4 CPU
  • Designed the software in the C programming language and built using the SCons tool from a Linux terminal
  • Implement a real-time operating system in FreeRTOS using tasks, queues, and semaphores
  • Reviewed several technical datasheets and user manuals to properly implement various device drivers for hardware peripherals such as GPIO, ADC, integrate an MP3 decoder through the SPI bus, and the LCD through UART communication

This was a very challenging but largely rewarding project! Our team spent several hours working together and collaborating in locating important sections from the datasheets and hours of debugging our system, and in the end we were able to complete our product!