Embedded Systems and Power Electronics

Total Pageviews

About Me

My photo
I am currently a PhD student at UC Berkeley, following a 6-year journey working at Apple after my undergrad years at Cornell University. I grew up in Dhaka, Bangladesh where my interest in electronics was cultivated, resulting in the creation of this blog.

BTemplates.com

Powered by Blogger.

Jan 7, 2015

Stereo audio player using the PIC32, MCP4822, microSD card and the MDDFS library


Oscilloscope screen capture of output from the audio player
Top - left channel
Bottom - right channel

Using the PIC32MX250F128B, I decided to make a simple audio player. I wanted to play back good quality audio from a large memory space - a microSD card. So, I made this WAV player that can play back 16-bit 44.1kHz WAV files with 12-bit stereo audio output. Of course that's not all it can play back. It is programmed for automatic period configuration so that the period is set on the fly based on the song sample rate. It can play back both 8-bit and 16-bit mono and stereo audio files and I have tested from 8kHz 8-bit mono to 44.1kHz 16-bit stereo. The player itself does not include an audio amplifier to drive speakers but can drive earphones. I've used an external stereo speaker for testing.

The hardware is fairly simple! Using the Microchip Memory Disk Drive File System (MDDFS) library, and my previous work using the MCP4822 dual 12-bit DAC, integrating these components to make a working audio player was quite fun and a good learning experience.

Here I share all my project files and source code, along with documentation regarding this project. Let me know what you think!
Schematic of PIC32-based audio player





Running demo of the audio player:



All project files and schematic can be downloaded from:
https://drive.google.com/file/d/0B4SoPFPRNziHRGE0bVNZYV9uVjQ/view?usp=sharing

Documentation can be downloaded from:
https://drive.google.com/file/d/0B4SoPFPRNziHaWpIWFQ3RkJFVzQ/view?usp=sharing

6 comments:

  1. Tahmid, amazing! this is the point like i want work on a PIC32MX440F128H - you give me much teaching construction in it, thank you very much! i will study yours and try to build - i will combine with an ESP8266 for air music. you have save my week ;-) have a nice time with your's next.
    many greetings from germany, rudi ;-) will come back again. cheers ;-)

    ReplyDelete
  2. tahmid i need help regarding your push-pull converter circuit using sg3525, i am unable to run its simulation on proteus. please respond asap

    ReplyDelete
  3. wiithout using a DAC separately, can I use OCMP module of PIC32mx250F128B for PWM audio data out

    ReplyDelete
  4. Hi, I've a question. Which program are you use for Schematic and has this program run simulation for pic32?
    Besides congragulations, I've read your many posts. And you're very clever also sharer person. Knowledge is most expensive thing in the world. But your soul is very rich. Thanks for your shares.

    ReplyDelete
  5. Can anyone tell me which compiler version tu use to comppile this project? I tried with MPLAB X IDE 3.15 but always get kind of k=code compatibility issues.

    Thank you

    ReplyDelete
    Replies
    1. Forget about this, I found the answer in the documentation...

      Delete