Victron SmartShunt showing different SOC to my BMS — which one do I trust?

by Downs Camper · 1 week ago 23 views 5 replies
Downs Camper
Downs Camper
Active Member
18 posts
thumb_up 6 likes
Joined Sep 2023
1 week ago
#28938

Ran into exactly this with my van build last year — SmartShunt was reading 73% whilst the Fogstar Drift BMS app was showing 61%. Took me a while to figure out what was going on.

Short answer: trust neither blindly, but lean on the BMS for cell-level accuracy and the SmartShunt for overall capacity tracking — once it's properly calibrated.

The SmartShunt's SOC is coulomb-counting based, so it drifts over time if your tail current and charged voltage thresholds aren't set correctly in VictronConnect. Most people leave these at defaults and wonder why it goes wrong. Make sure your "charged voltage" is set to around 0.2V below your actual absorption voltage, and tail current at roughly 4% of your battery's capacity in Ah.

The BMS reads actual cell voltages and uses its own internal algorithm — which sounds more accurate in principle, but it can be overly pessimistic depending on the chemistry and how well the manufacturer has characterised the cells.

My current setup:

  • 200Ah LiFePO4 (Fogstar Drift 12V)
  • SmartShunt 500A
  • Victron Cerbo GX pulling both readings via VE.Direct and DVCC

Once I dialled in the SmartShunt properly and let it go through a few full cycles to synchronise, the two readings settled within 3–4% of each other. That's about as good as it gets in practice.

Worth checking whether your BMS is even sending SOC over its comms protocol correctly — some cheaper units have known quirks there.

What BMS are you running? That'll narrow things down considerably.

Defender Adventure
Defender Adventure
Regular
79 posts
thumb_up 50 likes
Joined Apr 2023
1 week ago
#28960

@DownsCamper This discrepancy almost always comes down to Peukert exponent misconfiguration on the SmartShunt side. Coulomb counting is only as accurate as your charge efficiency factor and Peukert settings — if they're left at defaults for AGM, you'll get wildly optimistic readings on LiFePO4.

My Fogstar Drift cells on the narrowboat taught me this the hard way. The BMS is measuring actual cell voltages and translating via a lookup table — far more reliable at the extremes (below 20% and above 90% SOC particularly).

Set your SmartShunt's:

  • Battery capacity accurately (not nameplate — actual tested capacity)
  • Peukert exponent to 1.05 for LiFePO4
  • Charge efficiency to 99%

Then allow the SmartShunt to synchronise on a full charge before trusting it mid-cycle. Until that sync happens, the BMS wins every time.

Vivaro Wanderer
Vivaro Wanderer
Regular
68 posts
thumb_up 12 likes
Joined Jun 2023
1 week ago
#28997

Great point @DefenderAdventure — and worth adding that self-discharge rate and charge efficiency factor in the SmartShunt settings are equally guilty of causing drift over time.

In my Vivaro build with a 200Ah Fogstar Drift, I found the SmartShunt's coulomb counting accumulated small errors after every charge cycle. The BMS is recalibrating constantly against actual cell voltages, so it tends to be more accurate at the extremes (near full or near empty).

My practical workflow:

  • Trust the BMS for real-time cell-level data
  • Trust the SmartShunt for consumption tracking and trend analysis
  • Set a synchronisation voltage in the SmartShunt (I use 27.0V for my 24V system) so it resets to 100% at a reliable point

Also make sure your SmartShunt's tail current setting reflects your actual charge termination current — this catches a lot of people out.

Devon Dweller
Devon Dweller
Senior Member
129 posts
thumb_up 28 likes
Joined Mar 2024
1 week ago
#29021

Good points from @DefenderAdventure and @VivaroWanderer, and I'd add one more culprit that catches people out: synchronisation events.

The SmartShunt only resets to 100% SOC when it sees the battery hit the configured tail current and absorption voltage simultaneously. If those thresholds aren't set correctly for your specific chemistry, it never fully synchronises — meaning it drifts progressively further from reality over charge cycles.

On my narrowboat setup with a 280Ah LiFePO4 bank, I had the tail current set too high (2% instead of ~0.5% for LFP), so the SmartShunt was calling 100% prematurely.

For LFP specifically, the BMS is often more reliable for high/low SOC readings because it's watching cell voltages directly. The SmartShunt earns its trust in the mid-range where voltage-based estimation becomes meaningless.

Check your synchronisation settings in VictronConnect before assuming either device is faulty.

Linda Jones
Linda Jones
Active Member
22 posts
thumb_up 1 likes
Joined Mar 2024
1 week ago
#29050

Really useful thread this. One thing nobody's mentioned yet — tail current calibration on the SmartShunt. If your "charged" detection threshold is set too high, the shunt never properly syncs to 100% and the drift compounds over time. Mine was set to the default 4% and my system never quite hit that under solar absorption, so it was perpetually miscounting.

Worth checking in VictronConnect under Battery Settings → Charged Detection. I dropped mine to 1% and the SOC locked up much more reliably with what the Fogstar BMS was reporting.

Also make sure your battery capacity figure in the SmartShunt matches exactly what your BMS is working from — even a 10Ah discrepancy between the two will cause divergence at scale.

OffGrid Joe
OffGrid Joe
Member
1 posts
Joined Aug 2025
1 week ago
#29198

Great thread, and @LindaJones69 raises a really important one about tail current — caught me out on my first build too.

Something else worth mentioning: battery temperature can throw both readings off in different directions. LiFePO4 capacity drops noticeably in cold weather, and if your BMS has temperature compensation built in whilst your SmartShunt doesn't (or vice versa), you'll get a divergence that looks confusing but is actually both units doing their job differently.

Also, have you done a full charge to absorption/float and then let it rest? Both the SmartShunt and BMS should resync their SOC at 100% during a proper full charge. If you're regularly partial cycling without ever hitting a full charge, coulomb counting errors accumulate on the SmartShunt side especially. A proper full charge cycle often clears up a lot of these discrepancies overnight.

Log in to join the discussion.

Log In to Reply