   {
     control_voltage = control_DAC.getVoltageOutput() - V_VGND; //shift back from center-rail
     //read signals
-    RE_voltage               = sense_ADC.readSingle(0);
-    WE_current_sense_voltage = sense_ADC.readSingle(1);
-    offset_voltage           = sense_ADC.readSingle(2);
+    RE_voltage                      = sense_ADC.readSingle(0) - V_VGND;
+    WE_current_sense_voltage        = sense_ADC.readSingle(1) - V_VGND;
+    WE_current_sense_offset_voltage = sense_ADC.readSingle(2) - V_VGND;
     //convert to centerline voltage
-    WEtoRE_voltage = -(RE_voltage - V_VGND);
+    WEtoRE_voltage = -RE_voltage;
     //sesning current flows in opposite direction to current flowing into WE
-    WE_current     = -(WE_current_sense_voltage - V_VGND)/R_CURRSENSE;
+    WE_current     = -WE_current_sense_voltage/R_CURRSENSE;
     //format as YAML
     Serial.print("#<STATUS>\n");
     Serial.print("---\n");

#define BAUDRATE 9600

#define FLOAT_PRECISION_DIGITS 9
#define V_REF  3.29
#define V_VGND V_REF/2.0
#define V_INIT V_VGND
#define R_CURRSENSE 1e4

#define DELTA_V 0.05
#define V_MIN (-V_REF/2.0 + DELTA_V)

    Serial.print("WE_current: ");
    Serial.print(WE_current, FLOAT_PRECISION_DIGITS);
    Serial.print('\n');
    Serial.print("WE_current_sense_voltage: ");
    Serial.print(WE_current_sense_voltage, FLOAT_PRECISION_DIGITS);
    Serial.print('\n');
    Serial.print("WE_current_sense_offset_voltage: ");
    Serial.print(WE_current_sense_offset_voltage, FLOAT_PRECISION_DIGITS);
    Serial.print('\n');
    Serial.print("#</STATUS>\n");
  }
