High Quality MMC Digital Voice Recorder Using PIC With Limited RAM (PIC16F877A)

Introduction: High Quality MMC Digital Voice Recorder Using PIC With Limited RAM (PIC16F877A)

This is my first digital voice recorder which is made using a mid range PIC with a total RAM of only 256 bytes.


        Here, i used a PIC16F877A to access an MMC.  MMC is interfaced to PIC16F877A via SPI. I didn't used any file system here. It writes the 8 bit digital data from ADC to the MMC using a multiple block write command. A single block consist of 512 bytes , also called as a sector.
Similarly it reads the 8bit digital data (digital samples)  using a mutliple block read command. After reading each byte, it is sent to the PWM register to generate PWM signal corresponding to the audio recorded.  Then after passing the PWM signal throuh a low pass filter, the analog  signal could be obtained which is then amplified and introduced to a speaker to reproduce the recorded voice.
       The audio quality was beyond my expectation. The reason for the good audio quality is the high bit rate.. Since i didn't used any file system (FAT etc) I could easily use multiple block read and multiple block write commands to read and write MMC and thus it could achieve high bit rate.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

ShopBot Challenge

Participated in the
ShopBot Challenge

Holiday Gifts Challenge

Participated in the
Holiday Gifts Challenge

Be the First to Share


    • Backyard Contest

      Backyard Contest
    • Silly Hats Speed Challenge

      Silly Hats Speed Challenge
    • Finish It Already Speed Challenge

      Finish It Already Speed Challenge



    2 years ago

    Really nice! how much is your bitrate, 44.1kHz, 48kHz?