SD card failed to initialize I have a Pro Micro board and I try to make it list my files as in the example of the Arduino IDE. 
The pins I use are the following:

board    micro sd module
   D4  ---&gt; CS
   D15 ---&gt; SCK
   D14 ---&gt; MISO
   D16 ---&gt; MOSI
   GND ---&gt; GND
   VCC ---&gt; VCC


On the serial monitor I get "initiallization failed". 

What is wrong with my setup? 

This is the code running:

#include &lt;SPI.h&gt;
#include &lt;SD.h&gt;

File root;

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

  Serial.print("Initializing SD card...");

  if (!SD.begin(4)) {
    Serial.println("initialization failed!");
    while (1);
  }
  Serial.println("initialization done.");

  root = SD.open("/");

  printDirectory(root, 0);

  Serial.println("done!");
}

void loop() {
  // nothing happens after setup finishes.
}

void printDirectory(File dir, int numTabs) {
  while (true) {

    File entry =  dir.openNextFile();
    if (! entry) {
      // no more files
      break;
    }
    for (uint8_t i = 0; i &lt; numTabs; i++) {
      Serial.print('\t');
    }
    Serial.print(entry.name());
    if (entry.isDirectory()) {
      Serial.println("/");
      printDirectory(entry, numTabs + 1);
    } else {
      // files have sizes, directories do not
      Serial.print("\t\t");
      Serial.println(entry.size(), DEC);
    }
    entry.close();
  }
}


And this is my wiring:
The SD library works only with FAT and FAT32 format. SD.begin() reads the 'disc volumes' and opens the root folder. If the card is not formatted or formatted with other file system standard, begin() fails.

EDIT: and the pin headers must be soldered