   Serial.begin(115200);
   Serial.println("Beginning"); // More importantly: move cursor to the beginning of the line
 
+  float volts = analogRead(A0) / 1023.0;
+  float realVolts = volts * 4.975; // measured for 300k and 82k bridge; is somewhat tweaked...
+
+  if (realVolts < 3.2) {
+    Serial.print("Do not start with too low battery: ");
+    Serial.print(realVolts);
+    Serial.println();
+
+    ESP.deepSleep(45*60 * 1000000L); // sleep 45 minutes
+  }
+
   SystemState systemStateFromRtc;
   bool systemStateValid = systemStateFromRtc.readFromRtc(0, sizeof(SystemState));
   if (!systemStateValid) {

  }

  // TODO get rid of dummy values
  randomSeed(analogRead(A0));
  float t = 49.7 + random(7);
  float h = 76.5 - random(5);

  if (bme_ok) {
    delay(250);
    t = bme.readTemperature() - 1;
    h = bme.readHumidity();



  static char numBuffer1[10];
  static char numBuffer2[10];
  static char numBuffer3[10];
  dtostrf(t, 4, 2, numBuffer1);
  dtostrf(h, 4, 2, numBuffer2);
  dtostrf(realVolts, 4, 2, numBuffer3);
  
  static char outBuffer[26];
  sprintf(outBuffer, "%s %s %s", numBuffer1, numBuffer2, numBuffer3);

  client.println(outBuffer);
  Serial.print("Sent ");
