Using Fuel Gauge battery efficiently, without Deep Sleep

Hi everyone,

I’ve been working to make our application battery-efficient, and one of the directions that I have been looking at is the fuel gauge.

I need to update the battery levels every hour or so. I know that the fuel gauge libraries has the commands: wakeup, sleep, and quickStart. What I have been doing is: do quickStart on setup, wake up the Fuel Gauge to get the SoC level and publish, then sleep the Fuel Gauge, and wake it again when I need the info. But the problem is that the SoC level never changes, so something must be wrong.

I wish I can just use Deep Sleep, but I need code to run constantly. Hope you can help!

The MAX17043 fuel gauge uses a very small amount of current relative to the rest of the system. Typical usage is 50 μA which is 1/1000 of the 50 mA needed to keep the STM32F205 running.

It is possible to put it into sleep mode, which only uses 1 μA. In order to get out of sleep mode you need to send the Power-On Reset (POR) command. However, you’ll get much less accurate results if you keep resetting the fuel gauge as it needs to do a quick start after coming out of sleep mode.

In order to use these features you’ll probably need to dig into the MAX17043 data sheet, as it’s not otherwise documented.

3 Likes

Echoing everything @rickkas7 says. May not be worth effort/complexity to sleep the fuel gauge. Any impact on accuracy could overwhelm the minimal power savings. If you’re making any decisions on SoC (like when to service a unit) probably best to leave it running for max accuracy.

That said, after waking the fuel gauge from sleep it will use the last known SoC as its current estimate. As it continues to run will refine the estimate to converge on actual SoC. I haven’t tested how long it takes to converge and not immediately apparent from the datasheet. Could be milliseconds, seconds, minutes, etc. But if you are waking and then immediately reading SoC you might not be allowing time for update to current conditions. Experiment with leaving the fuel gauge on for longer before grabbing your SoC estimate.

Also, quickStart isn’t necessarily a super-secret command to get a quicker estimate of SoC. It just resets the SoC estimate and starts from scratch which could actually be worse than just leaving well enough alone.

5 Likes

Really appreciate the help. Thanks!