     // Battery voltage should not drop too much
     if (selftest.batteryVoltageMv < conf.alertBatteryVoltage) {
       selftest.passed = false;
-      sprintf(buf, ("Weak battery: %dmV"), selftest.batteryVoltageMv);
+      sprintf(buf, ((char*)pgm_read_word(&(str_Weak_battery_dmV))), selftest.batteryVoltageMv);
       raiseAlert(DcPumpMalfunction, buf);
       return;
     }
     // Determine if water level was reduced enough
     if (selftest.startingHeight - selftest.endingHeight < 5) {
       selftest.passed = false;
-      sprintf(buf, ("DC Pump failure: %dCM pumped in %d sec."), (selftest.startingHeight - selftest.endingHeight), (int)selftest.testLength);
+      sprintf(buf, ((char*)pgm_read_word(&(str_DC_Pump_failure_dCM_pumped_in_d_sec))), (selftest.startingHeight - selftest.endingHeight), (int)selftest.testLength);
       raiseAlert(DcPumpMalfunction, buf);
       return;
     }

  // If voltage is more than 0, then pump is on, and we need to sound an alert
  // Need to make sure to wait a few seconds after self test to see if DC pump is ON
  if (mv > 9000 && (now() - selftest.lastTestTime) > (conf.selfTestTimeLimit + 6)) {
    raiseAlert(DcPumpActivated, ("DC Pump ON"));
    // Record that the pump is on, or process alert, if it was already on.
    if (!dcpump.currentlyOn) {
      dcpump.currentlyOn = true;
      dcpump.switchOnTime = now();
    } else if ((now() - dcpump.switchOnTime) > conf.dcPumpOnTimeWarning) {
      raiseAlert(DcPumpOverload, ("DC pump ON too long"));
    }
  } else {
    dcpump.currentlyOn = false;

  // Check if AC pump was on for too long
  if (currentlyOn) {
    if ((now() - acpump.switchOnTime) > conf.acPumpOnTimeWarning) {
      raiseAlert(AcPumpOverload, ((char*)pgm_read_word(&(str_AC_pump_ON_for_too_long))));
    }
  }
  
