 */
 void goToSleep() {
   set_sleep_mode(SLEEP_MODE_PWR_DOWN);
-  ADCSRA = 0; // turn off ADC
-  power_all_disable (); // power off ADC, Timer 0 and 1, serial interface
+  // Disable ADC when we are in deep sleep state, otherwise have it on
+  // We are missing the first analogRead in the game state this way, but we can afford
+  // it for the sake of code simplicity
+  ADCSRA = currentState == DEEP_SLEEP ? 0 : enabledADCSRA;
+  power_all_disable(); // power off ADC, Timer 0 and 1, serial interface
   sleep_enable();
   sleep_cpu(); // Sleep here and wait for the interrupt
   sleep_disable();

const unsigned int ACCELEROMETER_IN = PB3;
const unsigned int ACCELEROMETER_POWER = PB4;

const unsigned long TURN_DURATION = 90000; // The time in milliseconds that game lasts
const float beepingRatio = 0.95; // Percentage of the remaining time that should we beep
unsigned long timeToBeep = (float) TURN_DURATION * beepingRatio;
volatile bool watchDogBarked = false;
bool watchDogEnabled = false;
const WatchDogTimeout gameWdt = WDT_128ms;


WatchDogTimeout currentWdt = gameWdt;

        ringFor(100);
        currentState = GAME;
        buttonPressed = false;
        turnAccelerometerOn();
      }
      break;
    case GAME:
