MMC/SD Card raw data read with PIC16F887 microcontroller

MMC SD Card raw data read
Interfacing MMC/SD card with PIC16F887

This small example shows how to read SD card raw data (bytes, sectors …). SD card raw data means that there is no use of system files like FAT16 or FAT32. Serial monitor is used to display the data after reading it and here the UART protocol is used.

MMC SD Card raw data read

the link below shows a small PIC16F887 MCU UART example:
UART Example for PIC16F887 microcontroller using CCS PIC C compiler
In this project I used the MMC/SD card driver for CCS C compiler which is described in the post at the link below:
MMC/SD Card driver for CCS PIC C compiler
The PIC16F887 MCU has only 368 bytes of data RAM which means that it is not possible to load an entire sector of 512 bytes. That means we can’t write byte or sector correctly with this microcontroller unless an external component is added to the circuit such as external EEPROM which of course slows the writing process. But reading is not like writing, we can read all the SD card data byte by byte.
Hardware Required:

  • PIC16F887 microcontroller
  • SD Card
  • AMS1117 3.3V voltage regulator
  • 3 x 3.3K ohm resistor
  • 3 x 2.2K ohm resistor
  • 10K ohm resistor
  • 5 x 10uF polarized capacitor
  • 100nF ceramic capacitor
  • MAX232 chip
  • Female COM port
  • 5V Power source
  • Breadboard
  • Jumper wires

Interfacing SD card with PIC16F887 MCU circuit:

MMC SD Card raw data readThe AMS1117 3.3V voltage regulator is used to supply the SD card with 3.3V. Also 3 voltage dividers are used to step down the 5V which comes from the microcontroller to about 3V which is sufficient for the SD card. Each voltage divider consists of 2K2 and 3K3 resistors.

Leave a Comment

Your email address will not be published. Required fields are marked *