JKBMS Inverter BMS SoC Fixer -- 'Ghost Battery' -- Open Hardware Project

by Sue Parker · 2 weeks ago 20 views 4 replies
Sue Parker
Sue Parker
Active Member
11 posts
thumb_up 5 likes
Joined Feb 2025
2 weeks ago
#19309

Been following this project with great interest since I spotted it mentioned in another thread a few weeks back. Running a narrowboat setup so accurate SoC is absolutely critical for me — nothing worse than the BMS crying wolf at 3am when you're moored up and suddenly the inverter drops out mid-kettle-boil.

My current setup is a 280Ah Fogstar Drift LiFePO4 bank with a JKBMS, and I've had exactly this "ghost battery" behaviour where the displayed SoC seems to drift into fantasy territory after a few partial cycles. The Victron Cerbo GX then inherits that nonsense and suddenly my whole dashboard is lying to me.

What I'd love to understand better from those deeper into the project:

  • Does the fixer work purely by intercepting the UART comms between the JK and whatever's downstream, or does it actually write corrected values back to the BMS itself?
  • Is there a hardware BOM posted anywhere yet? Happy to etch a board or throw something together on Veroboard
  • Any plans for a Victron-compatible integration so it could feed directly into Venus OS?

The open hardware approach is exactly right for this kind of niche fix — the commercial BMS world really doesn't serve the narrowboat and off-grid communities well at this level of granularity.

Would genuinely consider contributing to testing if someone needs a real-world narrowboat environment. Plenty of unusual charge patterns here — solar, alternator, shore power all fighting each other.

Bazza60
Bazza60
Active Member
21 posts
thumb_up 6 likes
Joined Mar 2024
2 weeks ago
#19321

Really interesting project @SueParker64. The JKBMS SoC drift issue is well-documented — particularly nasty in partial-state-of-charge scenarios which narrowboat living almost guarantees (engine alternator charging, intermittent solar, etc.).

Few questions before I consider integrating this into my own setup:

  • Does it intercept the CANbus or RS485 comms between the BMS and the Victron GX device?
  • How does it handle the SoC resync on a genuine full charge — does it detect the absorption tail current properly?
  • Any watchdog behaviour if the microcontroller locks up?

Currently running Fogstar Drift cells with a JKBMS feeding a Cerbo GX, and the SoC wander is genuinely aggravating over multi-day cloudy periods. The Victron BMV-712 sitting alongside it as a sanity check is the only thing keeping me sane.

Worth clarifying the hardware requirements — is this Raspberry Pi based or something lighter like an ESP32?

Linda Clark
Linda Clark
Active Member
34 posts
thumb_up 11 likes
Joined Oct 2023
2 weeks ago
#19359

Ooh this is really timely — I've been pulling my hair out with exactly this on my narrowboat! My JKBMS has been telling me I'm at 80% when the Victron Cerbo is showing something completely different, and I genuinely don't know which to trust anymore.

Quick question for anyone who knows the project well — does the Ghost Battery fix work alongside a Cerbo GX without causing conflicts on the VE.Can network? That's my main worry before diving in.

Also @Bazza60 when you mention partial state of charge being particularly nasty, are we talking drift over days or does it compound week on week? Trying to work out if this explains why my winter readings seemed fine but summer (more partial cycling from the solar) went completely haywire.

Would love to see a UK group buy on the hardware if anyone's organising one!

WhatsAFuse65
WhatsAFuse65
Active Member
29 posts
thumb_up 20 likes
Joined May 2023
2 weeks ago
#19376

@LindaClark90 @SueParker64 — worth being clear about why this happens before throwing hardware at it. JKBMS SoC is coulomb-counted from a fixed reference point, and if it never sees a genuine full charge (all cells hitting absorption voltage simultaneously), that reference drifts permanently until the next "reset" event. On my static caravan setup I had the same nonsense for months before I realised my charge profile was terminating early due to a Victron MPPT tail current setting that was too aggressive. Sorted the profile, SoC snapped back to sensible within two cycles — no extra hardware needed.

That said, if your charge source genuinely can't deliver a proper top-balance regularly (narrowboat running engine-only charging, for instance), then yes, an external correction layer makes sense. Just don't assume it's a BMS fault before auditing your charge sources first.

Compo27
Compo27
Member
8 posts
Joined Jun 2025
2 weeks ago
#19429

Great thread — @WhatsAFuse65 makes a fair point about understanding the root cause first. One thing worth adding: the drift compounds badly on boats because you rarely hit a proper full charge cycle the way a house system might. Shading, engine alternator charging that cuts out early, generators run for short bursts — you're constantly operating in that partial state of charge middle ground where the coulomb counting just quietly loses the plot. The Ghost Battery project is clever precisely because it adds an independent reference point rather than trying to patch the JKBMS firmware itself. Has anyone here actually deployed it yet rather than just following development? Keen to know how it performs over a full week or two of real liveaboard use before I commit to building one for my own setup.

Log in to join the discussion.

Log In to Reply