Computers, Development Boards & Shields
Educational & Robotics Kits
Electronic Sensors
Motors & Controllers
Communication & Display
Electronic Components
Soldering & Lab Tools

Virtuabotix SD Card Reader/Writer Pinout and Coding guide

The standard sized SD Card Reader is a must have for anyone interested in storing or retrieving large amounts of data (in excess of 8 Kilobytes on some platforms). Using it will dramatically increase the things you can do with data on your micro-controller.

Pin-out Guide

Pins are listed from left to right withe the SD Card holder facing up (pins at the bottom pointed towards you)

Note: Each pin is connected to the same function on a column for structural strength. It doesn’t matter which one you connect to.

GndGndCommon GroundAllows electrical circuit to complete
+3.3+3.33.3 Volt SupplyFor powerfication
+5+55 Volt SupplyAlso for powerfication
CSCSChip SelectJust in case you need a bunch of SD Cards
MOSIMOSIMaster Out SerialFor SPI Data
SCKSCKSerial ClockFor the power of synchronous data!
MISOMISOMaster In SerialFor SPI Data
GndGndCommon groundAllows electrical circuit to complete


Arduino™ Libraries & Projects


This SD Card Reader is compatible with the built in SD Card Reader Library for the Arduino IDE
Just #include <SD.h>

and/or run one of the built in examples to get off the ground running.
Here’s some good code to start with:

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
updated 2 Dec 2010
by Tom Igoe

This example code is in the public domain.



File myFile;

void setup()
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

No comments yet.

Leave a Reply