 
 	Serial.println();
 	Serial.println();
+
 	Serial.println(F("RPM setup..."));
-	SetupRPMDriver();
+	if (!SetupRPMDriver())
+	{
+		Serial.println(F(" failed"));
+		Halt();
+	}
 	Serial.println(F(" complete"));
 
 	SetupDemo();
 }
 
+
+
 bool SetupRPMDriver()
 {
-
+	bool Success = false;
 	//RPMDriver.AddLogger(&Serial);
-	RPMDriver.Begin();
-	RPMDriver.SetDesignModel(SUB_PIXEL_ENABLED);// | SUB_PIXEL_HIGH_RANGE_ENABLED | BACKGROUND_ENABLED);
+	Success = RPMDriver.Begin();
+	RPMDriver.SetDesignModel(SUB_PIXEL_ENABLED | BACKGROUND_ENABLED);// | SUB_PIXEL_HIGH_RANGE_ENABLED | BACKGROUND_ENABLED);
 	RPMDriver.SetBrightness(GlobalBrightness);
 	RPMDriver.SetRangeRPM(600, 15000);
 	RPMDriver.ClearSections();


		AnimationStep = ((ANIMATION_STEPS*(now - AnimationStart)) / ANIMATION_DURATION);

		if (now - AnimationStart > ANIMATION_DURATION - 1)
		{
			AnimationStep = 0;

		//Serial.print("GlobalBrightness: ");
		//Serial.println(GlobalBrightness);
	}
}

void Halt()
{
	while (true);;
}