SD Card Module

£ 2.30


Here we have a SD Card reader / writer that is ideal for reading and writing to a memory card from an Arduino, Raspberry Pi or other PIC microcontroller.

This little board can be used for a broad range of applications from scientific data collection for biological/geological and other statistical studies in the field, to storing map data for your robots surroundings in and outside the home.

  • Working Voltage: 3.3 & 5V DC
  • Requires SPI Capable Microprocessor
  • Fits standard size SD Cards

SD Card Module

Here is an example of how to connect to the SD module. Please note that if you are using 5v logic you will need to use 330 to 470ohm resistors as pictured below (otherwise you may damage your SD card). The arduino environment already has a SD Library and sample code so you can be writing to your SD card in no time.

  • SD Card Module
  • 4 x Resistors (330 to 470 ohm)
  • Arduino
  • Jumper Wire
  • Breadboard

The schema for this unit.


A simple sketch to read and write from you SD card.

  SD card read/write
 This example shows how to read and write data to and from an SD card file  
 The circuit:
 * SD card attached to SPI bus as follows:
 ** MOSI - pin 11
 ** MISO - pin 12
 ** CLK - pin 13
 ** CS - pin 4
 created   Nov 2010
 by David A. Mellis
 modified 9 Apr 2012
 by Tom Igoe
 This example code is in the public domain.

File myFile;

void setup()
 // Open serial communications and wait for port to open:
   while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only

  Serial.print("Initializing SD card...");
  // On the Ethernet Shield, CS is pin 4. It's set as an output by default.
  // Note that even if it's not used as the CS pin, the hardware SS pin 
  // (10 on most Arduino boards, 53 on the Mega) must be left as an output 
  // or the SD library functions will not work. 
   pinMode(10, OUTPUT);
  if (!SD.begin(4)) {
    Serial.println("initialization failed!");
  Serial.println("initialization done.");
  // open the file. note that only one file can be open at a time,
  // so you have to close this one before opening another.
  myFile ="test.txt", FILE_WRITE);
  // if the file opened okay, write to it:
  if (myFile) {
    Serial.print("Writing to test.txt...");
    myFile.println("testing 1, 2, 3.");
    // close the file:
  } else {
    // if the file didn't open, print an error:
    Serial.println("error opening test.txt");
  // re-open the file for reading:
  myFile ="test.txt");
  if (myFile) {
    // read from the file until there's nothing else in it:
    while (myFile.available()) {
    // close the file:
  } else {
    // if the file didn't open, print an error:
    Serial.println("error opening test.txt");

void loop()
    // nothing happens after setup