   Serial.println(".");
   Serial.println();
   delay(512);
+}
+
+void setup_objects() {
+  custom::setup<SdFatSdio>(sd_card, 
+    "ERROR: SD card could not be found or setup.", "Success: SD card ready.");
+  custom::setup<Adafruit_BME280>(bme,
+    "ERROR: BME280 sensor could not be found or setup.", "Success: BME280 ready.");
+}
+
+void setup() {
+  // Illuminate LED.
+  pinMode(13, OUTPUT);
+  digitalWrite(13, HIGH);
+  delay(3000);
+  
+  // Start serial communication. 
+  Serial.begin(9600); // bits/second does not matter for Teensy 3.6
+  print_setup_message();
 
   // Setup objects and verify working condition.
   setup_objects();

// For more info, see "setupable.h".
//custom::Setupable* setupables[] = {  };


void setup_objects() {
  custom::setup<>(sd_card, "ERROR: SD card could not be found or setup...", "Success: SD card ready.");
  custom::setup<>(bme, "Could not find a valid BME280 sensor...", "Success: BME280 ready.");
}

void setup() {
  // Illuminate LED.
  pinMode(13, OUTPUT);
  digitalWrite(13, HIGH);

  // Give time to open serial monitor.
  delay(3000);
  
  // Start serial communication. 
  Serial.begin(9600); // bits/second does not matter for Teensy 3.6
  Serial.print("In setup");
  delay(512);
  Serial.print(".");


// SD card libraries
#include <BlockDriver.h>
#include <FreeStack.h> // something is wrong with this library.
#include <MinimumSerial.h>
#include <SdFat.h>
#include <SdFatConfig.h>
