 
   oled.init();
   oled.fillScreen(COLOR_BLACK);
-  oled.drawString("BOOTING", (RGB_OLED_WIDTH-FONT_X*6)/2, RGB_OLED_HEIGHT/2-FONT_Y/2, 1, COLOR_BLUE);
-  delay(1000);
+  animation_boot();
   oled.fillScreen(COLOR_BLACK);
-  
+
   menu_init();
   status_init();
   watch_init(now);
-  
+
   status_show();
-  
+
   delay(1000);
-  
+
   menu_show(test_menu);
-  
+
   delay(1000);
-  
+
   oled.fillScreen(COLOR_BLACK);
-  watch_show(0xFF);  
 
-  if (EEPROM[0] != 0x05) {
-    EEPROM[0] = 0x05;
-    logbat = 1;
-  } else {
-    Serial.begin(9600);
-    Serial.println("Battery log detected, not overwriting");
-    for (eeaddr = 1; eeaddr < 1024; ++eeaddr) {
-      Serial.println(EEPROM[eeaddr], DEC);
-    }
-  }
+  currentScreen = SCREEN_OTHER;
+
+  oled.drawString("Disconnect USB", 0, 0, FONT_SIZE, COLOR_RED);
+  oled.drawString("then press WAKE", 0, LINE_HEIGHT, FONT_SIZE, COLOR_RED);
+  while(digitalRead(10) == HIGH);;
+
+  now = 0;
+  checkpoint = millis();
 
   power_twi_disable();
   power_usart1_disable();

  power_timer1_disable();
  power_timer2_disable();
  power_timer3_disable();

  now = 0;
  checkpoint = millis();
  currentScreen = SCREEN_WATCH;
}

void loop() {


#define LEFT_GUTTER_SIZE    (FONT_X)
#define FONT_SIZE           (1)
#define LINE_HEIGHT         (FONT_SIZE*FONT_Y+4)

SSD1331 oled = SSD1331(cs, dc, mosi, sclk);

char *test_menu[] = {"hello", "world", "here be", "dragons", NULL};

char _sbuf[64];
char _sbuf2[64];

uint16_t now = 0;
uint16_t checkpoint;

typedef enum {
  SCREEN_WATCH,
  SCREEN_STATUS,
  SCREEN_OTHER,
} Screen;

Screen currentScreen;
