   delay(512);
   Serial.println(".");
   Serial.println();
+  delay(512);
+
+  // Setup MicroSD card I/O.
+  if(!sd_card.begin()) {
+    Serial.println("ERROR: SD card could not be found.");
+  }
+  else {
+    Serial.println("SD card ready.");
+  }
   
   // Setup() the custom data structures.
   for (custom::Setupable* obj : setupables) {

  Serial.println();
}

void loop() {
  printBmpData();
  delay(1000);
}


  Serial.println();
  Serial.println("SETUP COMPLETE.");
  Serial.println();
}

void write_to_sd(void) {
  auto log_path = "nolan-tests\\nolan-test.log";
  sd_card.remove(log_path); // remove file from last time.

  File file = sd_card.open(log_path, FILE_WRITE); // Open a new file for writing.
  
  // Initiate file for writing.
  if(!file) {
    Serial.println("File could not be initialized."); 
  }
  else {
    file.println("I'm text in a file!");
    file.close(); // Close when finished.
  }
}

void printBmpData(void) {
