Discrepancy Between JK-BMS Current Readings and Victron Shunt During High PV Load

Kta22

1 mW
Joined
Mar 17, 2025
Messages
10
Location
Romania
Hello everyone,


I'm currently running an off-grid system consisting of:


  • 3x Victron MultiPlus 5000VA (single-phase)
  • 1x RS450/200 SmartSolar MPPT
  • 1x MPPT 150/45 + 1x MPPT 250/100
  • 75kWh LiFePO4 storage (5x DIY 48V battery banks)
  • Each battery uses a JK-BMS with Bluetooth/RS485
  • Full system monitoring integrated in Home Assistant and Victron VRM via Venus OS

Each JK-BMS reports charging/discharging currents accurately when the system is idle or lightly loaded (±20–30A). However, I encounter a strange issue under high PV load:


When I start charging my EV (7.2kW), and the MPPTs are covering the entire load (float voltage is correctly maintained), each JK-BMS shows a discharge current of around –20A, even though the Victron SmartShunt reports near-zero battery current (±1A), which is confirmed via clamp meter measurements both on each battery and on the common busbar.


In summary:


  • VRM & clamp meters show correct current: ~0A (float maintained, PVs power the EV directly)
  • Each JK-BMS falsely reports ~–20A discharge
  • PV production and voltage regulation are normal
  • The discrepancy appears only when all loads are PV-powered and system is in float
  • All BMSs are paralleled with common positive and negative busbars
  • JK-BMS shunts are on the negative line (default)

I'm wondering:


  1. What could be causing this false discharge reading on each JK-BMS?
  2. Could this be due to ground loops, shared GND between MPPTs, MultiPlus and BMSs, or some interference?
  3. Has anyone else experienced this behavior with JK-BMS in multi-pack setups?

Any suggestions or insights would be greatly appreciated!


Thanks in advance.
 
Do you read any voltage across the BMS shunts under the false reading condition? (with a multimeter; it will be in millivolts most likely)

If not, it means the firmware is not zeroed for zero current or there is some other firmware bug.

If there is a voltage, then you can create a condition that causes *actual* 20A current flow and verify that the voltage across the shunt is still the same. If it is, then there is somehow an actual 20A current flowing, which doesn't seem possible. If it is not the same voltage, then if possible vary the current draw until it matches the voltage seen in the faulty condition, and then you'll know how much current is really flowing.
 
UPDATE : i’ve recently designed a smart shunt based on the ESP-WROOM-32 module and the Texas Instruments INA229 with HA integration. I’ve just connected it to my battery banks(2), and below is a comparison between the current measurements from the JK BMS and the INA229 - under test condition mentioned in the beginning of the post.
 

Attachments

  • JK_vs_INA.png
    JK_vs_INA.png
    47.5 KB · Views: 10
That's a serious difference in data results. The INA/ESP looks believably "flat"; presumably where it is not, there is an actual verifiable current flow / load.

What results did you get from testing the actual shunt voltages on the BMS shunt(s) under the false reading condition (vs the correct reading condition)?

Also: Any plans to open-source the smart shunt design?
 
That's a serious difference in data results. The INA/ESP looks believably "flat"; presumably where it is not, there is an actual verifiable current flow / load.

What results did you get from testing the actual shunt voltages on the BMS shunt(s) under the false reading condition (vs the correct reading condition)?

Also: Any plans to open-source the smart shunt design?
INA229 current readings are identical with Victron smart shunt(or could be even more accurate).Once again, these readings are under conditions that i’ve exposed in the begining of the thread, otherwise the JK V & A readings are pretty close to INA and Victron. Regarding the actual smartshunt project based on esp32 and ina229, it’s in testing phase (~2 weeks) and works amazing. I plan to add some extra features like a small oled and may be a back to back configuration, but let’s see.
 
Back
Top