 static uint8_t minBytes = 0;
 static uint8_t recBytes = 0;
 static uint32_t LastLoopTime = 0;
+static uint32_t StartupTime = 0;
 
 boolean ReadTelemetry()
 {
   uint16_t i = 0;
   minBytes = 100;
   recBytes = 0;
+  
+  if(StartupTime == 0)
+  {
+    StartupTime = millis();
+  }
    
   while(recBytes < minBytes && micros()-LastLoopTime < 20000)
   {

    while(NewSerial.available()) serialBuf[recBytes++] = NewSerial.read();
    if(recBytes == 1 && serialBuf[0] != 5)recBytes = 0; // check for start byte, reset if its wrong
    if(recBytes == 2) minBytes = serialBuf[1]+STARTCOUNT+1; // got the transmission length
    if(recBytes == minBytes){
       uint32_t checksum = 0;
       for(i=2;i<minBytes;i++){
          checksum += serialBuf[i];

  while (!OSD.notInVSync());
  cleanScreen();
  settings.ReadSettings();
  lastTempUnit = settings.m_tempUnit;
  DISPLAY_NICKNAME_DV = setupPPM(DISPLAY_NICKNAME_DV);
  DISPLAY_TIMER_DV = setupPPM(DISPLAY_TIMER_DV);
  DISPLAY_RC_THROTTLE_DV = setupPPM(DISPLAY_RC_THROTTLE_DV);
