FuelGauge battery read


I’m using FuelGauge lib to get a read on the battery on my Electron device.
I hooked it up with a 7400 mA / 3.7V and for some reason when I charge it up to 100% the FuelGauge returns that it has only 80%.
I’ve been using this basic sample of code to get voltage and percentage:

FuelGauge fuel;
fuel.getVCell(); // For votlage
fuel.getSoC(); // For percentage

As shown on Particle docs.

Any help with that?

Thanks a lot!

This is normal, the fuel gauge wants a higher charged voltage than the battery charger is charging the battery before it shows the battery at 100% full.

Particle set the charging voltage a little low on purpose to be safe with people charging the LiPo batteries in higher temperatures or when inside an enclosure.

The best thing to do is use the MAP function and scaled the battery voltage of 0-80-85% to 0-100%.

You can raise the charging voltage but it didn’t work well for me so I stuck with the default charging voltage settings.

You can search the forum for more info about this but that is the gist of it.

It works well otherwise.


Just to make sure I got things right:
The same sensor that gives the FuelGauge the read on the battery is the same sensor that limits the battery chraging?
So even if I charge the battery not through particle I will always have 80% max read (although it is really 100%)
Isn’t 20% buffer too much to loose?

Thanks anyways!

The fuel gauge and battery management chip are separate and that’s part of the problem.

You’re not loosing 20% of the battery capacity, it’s just that the fuel gauge wants to see a slightly higher voltage before it says it’s 100%.

The battery is basically full when charged up to 4v and the red charging LED goes out.

1 Like

Any ideas why the diagnostic payload and the fuel gauge would report significant battery levels?