     prevHours = newHours;
   }
 
-  DEBUG_PRINT( F("Wakey current is "));
-  DEBUG_PRINT( currentMin );
-  DEBUG_PRINT( F(" and wakey is "));
-  DEBUG_PRINT( wakeyMin );
-  DEBUG_PRINT( F(" and diffMin is "));
-  DEBUG_PRINT( diffMin );
-  DEBUG_PRINT( F(" and show is "));
-  DEBUG_PRINTLN( show );
+  if ( millis() % 1000 == 0 )
+  {
+    DEBUG_PRINT( F("Wakey - current: "));
+    DEBUG_PRINT( (int)wakeyMin );
+    DEBUG_PRINT( F("min - "));
+    DEBUG_PRINT( (int)currentMin );
+    DEBUG_PRINT( F("min and diff is "));
+    DEBUG_PRINT( (int)diffMin );
+    DEBUG_PRINT( F("min and show is "));
+    DEBUG_PRINTLN( show );
+  }
 
   if ( show )
     strip.show();

  pinMode(MODE_SWITCH_PIN,INPUT_PULLUP);

  EEPROM.get(MODE_INDEX,mode);

  Serial.print(F("Got mode from eeprom ") );
  Serial.println(mode);
   
  rtcSetup();
  neoPixelSetup();
  
}

bool pressed = false;
bool forceChange = false;
/*******************************************************************************
*******************************************************************************/
void loop() {

  current = rtc.now();
  
  switch ( mode )
  {

    case FADING_BACKLIGHT_MODE:
      fadingBacklight(current, forceChange);
      break;
    case ALARM_ENTER:
      if ( enterAlarm(forceChange) )
        next = true;
      break;
    case NIGHTLIGHT_MODE:
      nightlight(current, forceChange);
      break;
  }
  forceChange = false;
  
  if ( digitalRead(MODE_SWITCH_PIN) == LOW  || next )
  {
    if ( !pressed || next )
    {
      next = false;
      pressed = true;
      mode++;
      if ( mode >= sizeof(modes)/sizeof(char*) )
        mode = BACKLIGHT_MODE;

      forceChange = true;
      printTime(current);
      Serial.print(F(" Switching mode to "));
      Serial.println(modes[mode]);
      EEPROM.put(MODE_INDEX,mode);

      clearPixels();
      strip.show();
    }
  }
  else
