LittleBits DC Motor - Interval

Usually done through the millis() timing function, like this:

#define INTERVAL 1200000; // 20 minutes
uint32_t previousRun = -INTERVAL; // ensure run upon startup

loop() {
  if (millis() - previousRun > INTERVAL) {
    previousRun = millis();
    runMotor();
  }
}

The millis() register is an unsigned long int, overflowing every 49 days or so. 20 minutes is dead easy.