   if ( networkTimeout.check() ) {
     Serial << F("Network timeout.") << endl;
     networkTimedOut = true;
+    Serial << F("Free RAM: ") << freeRam() << endl;
   }
   if( systemResetFlag ) {
     resetTestPattern();

boolean systemReseted() {
  // with EMI, be very sure.
  Metro readTime(DEBOUNCE_TIME);
  readTime.reset();
  while( !readTime.check() ) systemReset.update();

  // at system power up, relay is open, meaning pin will read HIGH.

  }
}

int freeRam () {
  extern int __heap_start, *__brkval;
  int v;
  return (int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval);
}

