Find a Weak Cell with the JK BMS Log: Trips, Spread and Balance
When the same cell hits the limit first every time, you probably have a weak cell, and the JK BMS Detail Log shows it. Each trip is logged with the cell number and a snapshot of the highest and lowest cell voltage. Count the trips per cell and look at the gap between cells at the moment of the trip. If you have not exported the log yet, see how to export and read the JK-BMS Detail Log.
What a weak cell looks like in the log
Three things point at one cell:
- The same cell number appears in most of the trip messages, for example "Cell 05 over discharge protection" again and again.
- The max-cell or min-cell column names that cell in the snapshot.
- The spread between the highest and lowest cell is wide when the trip happens.
Mind the numbering. Cell numbers in the message text start at 1, while the max and min cell columns start at 0, so column value 4 is cell 5 in the message. The snapshot can also lag the event, so the cell in the column does not always match the cell in the message. Trust the spread more than the number in a single row, and look at the pattern over many trips.
Top versus bottom
Where the trips happen tells you what kind of problem it is.
An over-voltage trip happens at the top, while charging. The cell that rises fastest reaches the limit first and the BMS cuts charging while the rest of the pack is still below it. A cell with lower capacity or higher internal resistance does this. So does a cell that has drifted high because the balancer did not get enough time.
An under-voltage trip happens at the bottom, while discharging. The cell that drops fastest hits the limit first and the BMS cuts the load while other cells still have charge left.
A cell that is small or resistive reaches both limits first. It is the first to trip at the top and the first to trip at the bottom. Balance drift looks different. A drifted cell trips at one end, usually the top, and the gap shrinks once the balancer has had several full charges. A capacity mismatch does not go away by balancing, because the cell simply holds less.
How the analysis page decides
The log analysis page builds a per-cell histogram of trips and compares it with the spread at each trip. It applies a few fixed rules:
- If the spread at over-voltage trips is tight, see why cell overcharge protection keeps tripping.
- If one cell has at least 80% of the over-voltage trips (3 or more trips) and the median spread is 50 mV or more, it reports a weak or unbalanced cell.
- For under-voltage trips the same test applies: one cell with at least 80% of the trips and a median spread of 50 mV or more gives a weak cell finding. Otherwise the finding says the pack runs empty, which means the whole pack ran down and no single cell is at fault.
- Exports with voltages rounded to 0.1 V are too coarse for a spread. The over-voltage checks are skipped, and every under-voltage case is reported as "The pack runs empty", so treat that finding with care on such a file.
The thresholds are a screening tool. A finding means the pattern fits; check the cell before you replace it.
What to do
If the trips are at the top and the cell drifts high, work on balancing. Check Start balance voltage and Balance trigger voltage, and make sure the charge reaches the start voltage long enough for the balancer to work. The values and the reasoning are in JK BMS balance settings. Then let the pack sit at the top voltage for a few cycles and check the log again. If the spread shrinks, it was drift.
If the trips are at the bottom, check the cell itself before touching settings. Look at its capacity against the others, and check the sense wire and connector for that cell. A bad lead or wrong resistance value gives a false reading, see JK BMS wire resistance.
If one cell sits 50 mV or more below the rest at rest, after balancing and with good wiring, it is likely a genuinely weaker cell. Replace it or swap in a closely matched one. A mismatched cell keeps limiting the whole pack.
Whatever the cause, give yourself margin. Set SOC-0% and the under-voltage protection in the editor so the pack stops before the weakest cell reaches its limit, not at it. Each field is explained in JK BMS parameters explained.
Check it with the log
Open the log analysis page and load the Detail Log. The per-cell histogram shows how the trips split between cells, and clicking a bar filters the events to that cell. The episodes table lists each trip with its cells, start, duration, peak and re-arm time. Attach your .jkcfg as well, and the page compares the findings with your configured thresholds. The file stays in your browser.
Is my cell bad or just unbalanced?
Look at the spread and the side. A cell that is high at the top and recovers after a few balanced charges was unbalanced. A cell that stays 50 mV or more below at rest, or trips at both ends, is more likely weak.
Why does the log name a different cell than the column?
The message uses numbers from 1 and the columns from 0, and the snapshot can lag the event. Compare many trips, not one row.
Why did the analysis say the pack is empty and not a weak cell?
No single cell had 80% of the under-voltage trips, or the spread was below 50 mV, or the export has only 0.1 V precision, where every under-voltage case gets this label. Check the cells yourself in that case.
Related guides
- JK BMS Balance Settings: Start Voltage, Trigger, CurrentJK BMS balance settings explained: start balance voltage, balance trigger voltage, max balance current and the Balancer switch, for LFP, NMC and LTO.
- How to export and read the JK-BMS Detail LogWhat the JK-BMS Detail Log contains, how to export it from the app, how to read its events and what the log analysis page tells you about trips and faults.
- JK BMS Cell Over Charge Protection Keeps Tripping: Causes and FixJK BMS cell over charge protection tripping and releasing every minute? See why a charger set too high causes it, how to tell it from a weak cell, and how to fix it.