getVCell returns close-to-zero values when LiPo is charged

Hi all,
I have an electron whose fuelGauge returns voltage=0.06V when its LiPo is charged.
Check the graph below:

Those are all Electron powered with 4.1V batteries via VIN and every minute I call fuel.getVCell().
The green one, with the usb plugged, has the battery charged but most of the time it sampled, the function returned 0.06V.

This is my getBattery function:

void getBattery(char* arrayBattery) {
  Log.info("Get Battery info");
  Serial.flush();
  FuelGauge fuel;
  float BatLv = 0;
  float BatVo = 0;
  BatVo = fuel.getVCell();
  BatLv = fuel.getSoC();
  
  Log.info("Battery SOC: %.2f", BatLv);
  Log.info("Battery V: %.2f", BatVo);

  snprintf(arrayBattery, 8, "10:%.2f", BatVo);
  return;
}

Any Ideas why?

Are there any software differences among these devices, including application firmware and Device OS version?