     Wire.write((byte *)(&status), sizeof(status));
     break;
   case REGISTER(BOARD) + BOARD_BATTERY:
-    // V = analog / 56.88
-    // Range = 10.6 .. 12.6
+    // centiV = analog * 1.7581
+    // Range = 10.6V .. 12.6V
     value = analogRead(PIN_ANALOG_BATTERY);
-    Wire.write((byte)(((float)value / 56.88 - 10.6) * 50));
+    Wire.write((byte)(value * 1.7581 / 2));
     break;
   case REGISTER(LIGHT_SENSOR):
     value = analogRead(PIN_ANALOG_LIGHT_SENSOR);

    case REGISTER(PAN):
      BUSY(PAN, return);
      pan.write(value8);
      delay(MAX_SERVO_ROTATE_TIME);
      READY(PAN);
      break;
    case REGISTER(TILT):
      if (value8 <= MAX_TILT) {
        BUSY(TILT, return);
        tilt.write(value8);
        delay(MAX_SERVO_ROTATE_TIME);
        READY(TILT);
      }
      break;
    case REGISTER(MOTOR) + MOTOR_LEFT:
      BUSY(MOTOR, return);
      approach(&left, value8);
      READY(MOTOR);
      break;
    case REGISTER(MOTOR) + MOTOR_RIGHT:
      BUSY(MOTOR, return);
      approach(&right, value8);
      READY(MOTOR);
      break;
    case REGISTER(MOTOR) + MOTOR_ENCODER_LEFT_FRONT:

  Wire.onReceive(i2cReceive);
  READY(BOARD);

#ifdef DEBUG
  Serial.begin(9600);
#endif

  environment_sensor.begin();
  // not: READY(ENVIRONMENT_SENSOR);
  // (do not make it ready until the first measurement)
