DANG SPI!!!!!

and

// setting cursor for printing on second line of display...
lcd.gotoLine(2);
Serial.print("                     ");
delay(10);
lcd.gotoLine(2);
Serial.print("Base ");
delay(10);
lcd.gotoPosition(43,8);
Serial.print(nodetemp4);
Serial.print("F ");
delay(10);
lcd.gotoPosition(79,8);
Serial.print(humid4);
Serial.print("%");
delay(10);
lcd.gotoPosition(109,8);
Serial.print("A/C");
delay(10);

lcd.gotoLine(3);
Serial.print("                     ");
delay(10);
lcd.gotoLine(3);
Serial.print("Indr ");
delay(10);
lcd.gotoPosition(43,16);
Serial.print(nodetemp2  );
Serial.print("F ");
delay(10);
lcd.gotoPosition(79,16);
Serial.print(humid2);
Serial.print("%");
delay(10);
lcd.gotoPosition(109,16);
Serial.print(voltage2);
delay(10);

lcd.gotoLine(4);
Serial.print("                     ");
delay(10);
lcd.gotoLine(4);
Serial.print("Attc ");
delay(10);
lcd.gotoPosition(43,24);
Serial.print(nodetemp3);
Serial.print("F ");
delay(10);
lcd.gotoPosition(79,24);
Serial.print(humid3);
Serial.print("%");
delay(10);
lcd.gotoPosition(109,24);
Serial.print(voltage3);
delay(10);

lcd.gotoLine(5);
Serial.print("                     ");
delay(10);
lcd.gotoLine(5);
Serial.print("Otdr ");
delay(10);
lcd.gotoPosition(43,32);
Serial.print(nodetemp1);
Serial.print("F ");
delay(10);
lcd.gotoPosition(79,32);
Serial.print(humid1);
Serial.print("%");
delay(10);
lcd.gotoPosition(109,32);
Serial.print(voltage1);
delay(10);

//----------------------- time shit -------------------------------------------
now = RTC.now();

lcd.gotoLine(6);
Serial.print(memoryFree()); // print the free memory
    
lcd.gotoLine(7);
Serial.print("                     ");
delay(10);
lcd.gotoLine(7);
Serial.print(now.month(), DEC);
Serial.print("/");
delay(10);
Serial.print(now.day(), DEC);
Serial.print("/");
delay(10);
Serial.print(now.year(), DEC);
Serial.print(" ");
delay(10);
Serial.print(now.hour(), DEC);
Serial.print(":");
delay(10);
Serial.print(now.minute(), DEC);
Serial.print(" Now");

if ((millis() - syncTime) < SYNC_INTERVAL){
syncSwitch = 1;
syncTime = millis();
sdWrite();
  }
  }
}
//-------------------------------------------------------------------------------------

void sdWrite()
{
  
    // Now we write data to disk! Don't sync too often - requires 2048 bytes of I/O to SD card
  // which uses a bunch of power and takes time
  if (syncSwitch = 1) return;
  syncSwitch = 0;
  
  // blink LED to show we are syncing data to the card & updating FAT!
  logfile.flush();
  
}

// variables created by the build process when compiling the sketch
extern int __bss_end;
extern void *__brkval;
// function to return the amount of free RAM
int memoryFree()
{
int freeValue;
if((int)__brkval == 0)
freeValue = ((int)&freeValue) - ((int)&__bss_end);
else
freeValue = ((int)&freeValue) - ((int)__brkval);
return freeValue;
}