   // now assemble them, remembering byte maths; a Union works well here too
   adc_result = (adc_high * 256) + adc_low;
   // we have a our Raw pH reading from the ADC; now figure out what the pH is  
-  float miliVolts = (((float)adc_result/4096)*vRef)*1000;
-  float temp = ((((vRef*(float)pH7Cal)/4096)*1000)- miliVolts)/opampGain;
+  float milliVolts = (((float)adc_result/4096)*vRef)*1000;
+  float temp = ((((vRef*(float)pH7Cal)/4096)*1000) - milliVolts) / opampGain;
   (*pH) = 7-(temp/pHStep); 
   Serial.print("pH: ");
   Serial.print(*pH);

  if(monitorSize < MONITOR_POINTS)
    monitorSize++;
  now->timestamp = millis();
  if(GOT_TEMP_SENSOR)
    getTemperature(&now->waterCelsius);

  if(GOT_HUMID_SENSOR)
    getHumidity(&now->airCelsius, &now->airHumid);
    
  if(GOT_LIGHT_SENSOR)
    getLight(&now->lux);

  if(GOT_PH_SENSOR)
    getPH(&now->pH);

  if(GOT_LEVEL_SENSOR) {
    getLevel(LEVEL_ECHO_PIN1, &now->waterLevel1);
    getLevel(LEVEL_ECHO_PIN2, &now->waterLevel2);
    getLevel(LEVEL_ECHO_PIN3, &now->waterLevel3);
  }
    
  if(SEND_DATA) postSensorData(&monitorData[monitorCursor]);


  if(loopCounter == TICK_MONITOR) {
    updateSensorData(monitorData);
    // TODO yeild() here?
    // TODO pump logic
    delay(500); // TODO a better way?!
  } 
  if(loopCounter == TICK_WIFI_DEBUG) {
    Serial.print("SSID: "); Serial.print(apSSID);
    Serial.print("; IP address(es): local="); Serial.print(WiFi.localIP());
    Serial.print("; AP="); Serial.println(WiFi.softAPIP());
  }
  if(loopCounter == TICK_HEAP_DEBUG) {
    Serial.print("free heap="); Serial.println(ESP.getFreeHeap());
