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

by Battery Ray · 3 weeks ago 22 views 5 replies
Battery Ray
Battery Ray
Active Member
24 posts
thumb_up 15 likes
Joined Apr 2024
3 weeks ago
#18783

Had this exact headache on my boat build last year. Short answer: trust neither blindly, use both.

The SmartShunt is only as good as its calibration — if your charged voltage threshold or tail current settings are off, it'll never hit 100% and drift over time. Had mine showing 73% when the BMS was screaming full.

The BMS SOC is often just voltage-based under the hood, which is notoriously wobbly with LiFePO4's flat discharge curve. Looked solid on mine until I started putting real loads through it.

What actually sorted it for me:

  • Set the SmartShunt tail current properly (I use 1% of capacity)
  • Make sure it's syncing to 100% when the BMS hits absorption/float
  • Check your Peukert exponent — default settings aren't always right for your cell chemistry

Once the SmartShunt is calibrated correctly and syncing reliably, I lean on it more than the BMS for day-to-day SOC. The BMS is there for protection, not precision metering — that's not really its job.

What BMS are you running? Some (like Daly) are notoriously optimistic. Others like the JK or Seplos are a bit more honest.

Anyone else had luck using Victron's VRM to spot the drift patterns over time? Found that really useful for dialling things in.

Gazza22
Gazza22
Active Member
11 posts
thumb_up 2 likes
Joined Feb 2025
3 weeks ago
#18805

Gazza22 | 847 posts

@BatteryRay makes a solid point, but I'd add — pay attention to which direction they're diverging. If your BMS is reading higher SOC than the SmartShunt, that's often the BMS being optimistic based purely on voltage (especially under no-load conditions). If the SmartShunt is reading higher, you've likely got coulomb counting drift accumulating over time without a proper full-charge reset.

On my narrowboat setup I found the SmartShunt was drifting because my absorption stage wasn't quite hitting the tail current threshold to trigger 100% synchronisation. Bumped the charge voltage up slightly and it sorted itself within a few cycles.

What chemistry are you running? LiFePO4 flat discharge curves will absolutely fool any voltage-based reading, so the coulomb counting from the SmartShunt becomes far more critical there.

ExSquaddie49
ExSquaddie49
Regular
57 posts
thumb_up 27 likes
Joined May 2023
3 weeks ago
#18846

The bit nobody mentions: synchronisation events are where this falls apart in practice.

On my narrowboat I run a Victron SmartShunt alongside a Daly BMS, and they'd drift apart over a week or so. Root cause was the SmartShunt's charged detection voltage was set 0.2V too low — it was "syncing to 100%" too early, before the cells were actually full.

Fix was straightforward:

  • Set charged voltage to match your BMS's full-charge threshold exactly
  • Tighten the tail current setting (I use 1-2% of capacity)
  • Check your Peukert exponent — default 1.25 is too aggressive for LiFePO4, drop it to 1.05

Once those three are dialled in properly, my SmartShunt and BMS SOC readings stay within 3% indefinitely. The Victron Connect app makes it dead easy to adjust on the fly without cracking open anything.

Marine Phil
Marine Phil
Active Member
41 posts
thumb_up 30 likes
Joined Oct 2023
2 weeks ago
#18868

Good thread. One thing worth adding to what @BatteryRay and @Gazza22 have covered —

the SmartShunt's Peukert exponent is often overlooked and causes significant drift under high discharge loads.

On my van build I run a 280Ah Fogstar Drift LiFePO4 and found the SmartShunt was consistently reading 8-10% pessimistic when running the inverter hard. Dropped the Peukert exponent from default 1.05 down to 1.02 (lithium is far more linear than lead-acid) and it synced up beautifully with the JK BMS readings.

The practical workflow I'd suggest:

  • Use your BMS as the safety layer — it knows cell-level voltages
  • Use the SmartShunt for consumption tracking once calibrated properly
  • Set synchronisation to trigger at 100% only when genuinely full (tail current around 2-3% of capacity)

They should agree within 2-3% once everything's dialled in.

CE_Builds
CE_Builds
Regular
69 posts
thumb_up 40 likes
Joined Oct 2023
2 weeks ago
#18876

Good points all round. One thing I'd add from my garden office setup — battery temperature throws both of them off in different ways.

The SmartShunt doesn't know your battery temp (unless you've got a BMV-712 with the sensor, or you're pulling data via Cerbo), so its Peukert and capacity calcs assume ambient. Cold LiFePO4 in winter will have genuinely reduced capacity, so the BMS's cell-level monitoring often gives you a more honest picture at the extremes.

That said, a dodgy BMS with loose cell voltage calibration will report 100% SOC based on a voltage spike during charge, not true capacity.

My rule of thumb: BMS for protection, SmartShunt for trending. Watch the SmartShunt's amp-hour count over a full cycle — if it's drifting from your rated capacity, something's wrong upstream.

Defender Adventure
Defender Adventure
Regular
53 posts
thumb_up 50 likes
Joined Apr 2023
2 weeks ago
#18951

Good contributions from everyone. One aspect not yet covered: charged detection relies on both voltage AND tail current being met simultaneously — and on a narrowboat with multiple small loads still drawing (bilge pump float switch, nav lights on standby, instrumentation), your tail current threshold may never actually be reached even when the battery is genuinely full.

I had exactly this on my boat — the SmartShunt was perpetually reading 97-98%, never triggering a sync event, because my parasitic loads totalled around 0.8A and I'd left the default 4% tail current setting. Once I properly audited and reduced my standing loads, and adjusted the tail current to suit, the synchronisation events started occurring correctly.

Worth itemising every quiescent draw before blaming the SmartShunt or BMS.

Log in to join the discussion.

Log In to Reply