[{"data":1,"prerenderedAt":467},["ShallowReactive",2],{"guide-en-jk-bms-soc-calibration":3,"guides-en":410},{"id":4,"title":5,"body":6,"date":388,"description":389,"extension":390,"keywords":391,"meta":399,"navigation":400,"path":401,"related":402,"seo":406,"stem":407,"updated":408,"__hash__":409},"guides_en\u002Fguides\u002Fjk-bms-soc-calibration.md","JK BMS SOC Calibration: Fix SOC Drift, Jumps and Reset",{"type":7,"value":8,"toc":373},"minimark",[9,13,18,26,37,40,44,85,88,136,145,149,152,162,165,224,227,231,265,268,272,303,315,333,337,342,350,354,357,361,364],[10,11,12],"p",{},"JK BMS SOC calibration comes down to two cell voltages and one capacity value. The BMS counts amp-hours in and out, and when a cell reaches the SOC-100% voltage or the SOC-0% voltage, the BMS snaps the counter to 100% or 0%. If those voltages or the capacity are wrong, the SOC drifts, jumps, or shows a wrong value.",[14,15,17],"h2",{"id":16},"why-the-soc-drifts-or-jumps","Why the SOC drifts or jumps",[10,19,20,21,25],{},"The JK BMS does not measure SOC directly. It uses coulomb counting: it adds the current that flows in and subtracts the current that flows out, then divides by the ",[22,23,24],"strong",{},"Battery capacity"," you entered. Small current sensor errors add up. After a few cycles the counter can be several percent off. This is JK BMS SOC drift.",[10,27,28,29,32,33,36],{},"The fix built into the firmware is a voltage reset. When a cell reaches ",[22,30,31],{},"SOC-100% voltage",", SOC is set to 100%. When a cell falls to ",[22,34,35],{},"SOC-0% voltage",", SOC is set to 0%. Each reset removes the accumulated error.",[10,38,39],{},"That reset is also why SOC can jump. If the counter says 85% and a cell hits the SOC-100% voltage, the display goes straight to 100%. A JK BMS SOC reset at the wrong voltage causes jumps every cycle.",[14,41,43],{"id":42},"what-the-soc-voltages-do","What the SOC voltages do",[45,46,47,60],"table",{},[48,49,50],"thead",{},[51,52,53,57],"tr",{},[54,55,56],"th",{},"Parameter",[54,58,59],{},"What it does",[61,62,63,71,78],"tbody",{},[51,64,65,68],{},[66,67,31],"td",{},[66,69,70],{},"Cell voltage at which the state-of-charge counter is reset to 100%.",[51,72,73,75],{},[66,74,35],{},[66,76,77],{},"Cell voltage at which the state-of-charge counter is reset to 0%.",[51,79,80,82],{},[66,81,24],{},[66,83,84],{},"Rated capacity in Ah, used by the coulomb counter to calculate SOC.",[10,86,87],{},"Recommended ranges per cell, from the editor's recommendations:",[45,89,90,101],{},[48,91,92],{},[51,93,94,97,99],{},[54,95,96],{},"Chemistry",[54,98,31],{},[54,100,35],{},[61,102,103,114,125],{},[51,104,105,108,111],{},[66,106,107],{},"LFP",[66,109,110],{},"3.41 to 3.55 V",[66,112,113],{},"2.60 to 3.05 V",[51,115,116,119,122],{},[66,117,118],{},"NMC",[66,120,121],{},"3.95 to 4.10 V",[66,123,124],{},"2.90 to 3.30 V",[51,126,127,130,133],{},[66,128,129],{},"LTO",[66,131,132],{},"2.45 to 2.65 V",[66,134,135],{},"1.80 to 2.00 V",[10,137,138,139,144],{},"The ready LFP presets use 3.50, 3.45 and 3.41 V for SOC-100% voltage (hard, medium, gentle) and 2.60, 2.90 and 3.05 V for SOC-0% voltage. See ",[140,141,143],"a",{"href":142},"\u002Fpresets","ready presets"," for all chemistries.",[14,146,148],{"id":147},"where-the-soc-voltages-must-sit","Where the SOC voltages must sit",[10,150,151],{},"The JK firmware only accepts the SOC voltages strictly inside the protection hysteresis. The two chains are:",[153,154,155,159],"ul",{},[156,157,158],"li",{},"Cell OVP recovery \u003C SOC-100% voltage \u003C Cell RCV (request charge voltage)",[156,160,161],{},"Cell UVP \u003C SOC-0% voltage \u003C Cell UVP recovery",[10,163,164],{},"Equal values are rejected too. Here is an LFP example that passes, based on the medium preset:",[45,166,167,176],{},[48,168,169],{},[51,170,171,173],{},[54,172,56],{},[54,174,175],{},"Value",[61,177,178,186,193,201,209,216],{},[51,179,180,183],{},[66,181,182],{},"Cell OVP recovery",[66,184,185],{},"3.40 V",[51,187,188,190],{},[66,189,31],{},[66,191,192],{},"3.45 V",[51,194,195,198],{},[66,196,197],{},"Cell RCV",[66,199,200],{},"3.50 V",[51,202,203,206],{},[66,204,205],{},"Cell UVP",[66,207,208],{},"2.80 V",[51,210,211,213],{},[66,212,35],{},[66,214,215],{},"2.90 V",[51,217,218,221],{},[66,219,220],{},"Cell UVP recovery",[66,222,223],{},"3.00 V",[10,225,226],{},"On LFP the SOC-100% voltage should be reachable. The pack has to actually get a cell to that voltage during charging, or the reset never happens.",[14,228,230],{"id":229},"jk-bms-soc-calibration-step-by-step","JK BMS SOC calibration step by step",[232,233,234,248,254,262],"ol",{},[156,235,236,237,239,240,242,243,247],{},"Set the ",[22,238,31],{}," and ",[22,241,35],{}," inside the ranges above and inside the chains. The ",[140,244,246],{"href":245},"\u002Fguides\u002Fjk-bms-lifepo4-settings","LiFePO4 settings guide"," has full per-cell sets.",[156,249,250,251,253],{},"Set ",[22,252,24],{}," to the real pack capacity in Ah. For parallel cells, multiply the cell capacity by the number of parallel strings.",[156,255,256,257,261],{},"Write the values to the BMS, over Bluetooth from the ",[140,258,260],{"href":259},"\u002F","editor"," or by importing the file, then charge the pack fully. Let a cell reach the SOC-100% voltage so the BMS resets SOC to 100%. Keep charging until the current tapers, so the reset actually triggers.",[156,263,264],{},"Optional: discharge until the lowest cell reaches the SOC-0% voltage so the BMS resets to 0%. Do this only when your UVP and load allow it, and recharge soon after.",[10,266,267],{},"One full charge is usually enough. A full discharge is optional and hard on the pack, so most people skip it.",[14,269,271],{"id":270},"common-mistakes","Common mistakes",[153,273,274,285,291,297],{},[156,275,276,279,280,284],{},[22,277,278],{},"SOC-100% voltage at or below Cell OVP recovery."," The firmware rejects it with \"This parameter does not apply to the connected device. (Sending failure)\". See the ",[140,281,283],{"href":282},"\u002Fguides\u002Fjk-bms-sending-failure","Sending failure guide",".",[156,286,287,290],{},[22,288,289],{},"SOC-100% voltage too low on LFP."," LFP has a flat voltage curve. At 3.35 or 3.40 V the cell is nowhere near full, so SOC resets to 100% early and the pack looks full when it is not.",[156,292,293,296],{},[22,294,295],{},"Wrong Battery capacity."," The counter then reports the wrong percentage even with perfect voltages.",[156,298,299,302],{},[22,300,301],{},"Charging never reaches the SOC-100% voltage."," If your charger stops below it, the reset never fires and drift continues.",[10,304,305,306,310,311,284],{},"For all other fields, see the ",[140,307,309],{"href":308},"\u002Fparameters","parameter reference"," and the ",[140,312,314],{"href":313},"\u002Fguides\u002Fjk-bms-parameters-explained","parameters explained guide",[10,316,317,318,322,323,327,328,332],{},"The Detail Log shows where the pack really trips compared with your SOC-100% voltage and the UVP limits, and it flags a changed capacity setting. Load it on the ",[140,319,321],{"href":320},"\u002Flogs","log analysis page",". See the ",[140,324,326],{"href":325},"\u002Fguides\u002Fjk-bms-detail-log","JK BMS Detail Log"," guide for reading it and ",[140,329,331],{"href":330},"\u002Fguides\u002Fjk-bms-cell-overcharge-protection-tripping","why cell overcharge protection keeps tripping"," for trips near full charge.",[14,334,336],{"id":335},"faq","FAQ",[338,339,341],"h3",{"id":340},"why-is-my-jk-bms-soc-jumping-to-100-before-the-pack-is-full","Why is my JK BMS SOC jumping to 100% before the pack is full?",[10,343,344,345,349],{},"The SOC-100% voltage is set too low, or one cell is high because the pack is unbalanced. See ",[140,346,348],{"href":347},"\u002Fguides\u002Fjk-bms-balance-settings","JK BMS balance settings",". A cell reaching the voltage triggers the reset.",[338,351,353],{"id":352},"how-often-should-i-recalibrate","How often should I recalibrate?",[10,355,356],{},"A full charge that reaches the SOC-100% voltage recalibrates it. On a pack that cycles daily this happens by itself. For a pack that never fills, do a full charge every few weeks.",[338,358,360],{"id":359},"does-a-wrong-soc-mean-my-cells-are-bad","Does a wrong SOC mean my cells are bad?",[10,362,363],{},"Not usually. A JK BMS wrong SOC is most often a capacity entry or SOC voltage problem. Check those first.",[10,365,366,369,370,372],{},[140,367,368],{"href":259},"Connect your BMS or open your .jkcfg"," in the editor to check that both SOC chains hold before anything is written, then use the ",[140,371,309],{"href":308}," for the rest.",{"title":374,"searchDepth":375,"depth":375,"links":376},"",3,[377,379,380,381,382,383],{"id":16,"depth":378,"text":17},2,{"id":42,"depth":378,"text":43},{"id":147,"depth":378,"text":148},{"id":229,"depth":378,"text":230},{"id":270,"depth":378,"text":271},{"id":335,"depth":378,"text":336,"children":384},[385,386,387],{"id":340,"depth":375,"text":341},{"id":352,"depth":375,"text":353},{"id":359,"depth":375,"text":360},"2026-10-02","JK BMS SOC calibration explained: why SOC drifts or jumps, what the SOC-100% voltage and SOC-0% voltage do, and how to set them and recalibrate the pack.","md",[392,393,394,395,396,397,398],"jk bms soc calibration","jk bms soc 100 voltage","jk bms soc 0 voltage","jk bms soc drift","jk bms soc reset","jk bms soc jumping","jk bms wrong soc",{},true,"\u002Fguides\u002Fjk-bms-soc-calibration",[403,404,405],"jk-bms-parameters-explained","jk-bms-sending-failure","jk-bms-cell-overcharge-protection-tripping",{"title":5,"description":389},"guides\u002Fjk-bms-soc-calibration","2026-10-04","s03Zu4WPgznaBgmuT44GYdmePdS2qNTnv-hyWjIvlhE",[411,416,419,422,425,429,432,436,440,444,447,451,455,458,459,463],{"path":412,"title":413,"description":414,"date":408,"updated":415},"\u002Fguides\u002Fjk-bms-bluetooth-browser","Change JK BMS Settings over Bluetooth in Your Browser","Connect to a JK BMS from Chrome or Edge, read every setting, apply a preset and write it back in a safe order with read-back checks. No JK app needed.",null,{"path":347,"title":417,"description":418,"date":388,"updated":408},"JK BMS Balance Settings: Start Voltage, Trigger, Current","JK BMS balance settings explained: start balance voltage, balance trigger voltage, max balance current and the Balancer switch, for LFP, NMC and LTO.",{"path":330,"title":420,"description":421,"date":388,"updated":415},"JK BMS Cell Over Charge Protection Keeps Tripping: Causes and Fix","JK 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.",{"path":325,"title":423,"description":424,"date":388,"updated":408},"How to export and read the JK-BMS Detail Log","What 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.",{"path":426,"title":427,"description":428,"date":388,"updated":408},"\u002Fguides\u002Fjk-bms-export-import-settings","Export and Import JK BMS Settings: The .jkcfg File Guide","How to export and import JK BMS settings with the app, what the .jkcfg file contains, why hand edits break it, and how to edit it safely in your browser.",{"path":245,"title":430,"description":431,"date":388,"updated":408},"JK BMS Settings for LiFePO4: 8S and 16S, 280Ah and 314Ah","JK BMS settings for LiFePO4 packs: per-cell voltage, balance, current and temperature values for 8S and 16S with 280Ah and 314Ah cells, in three wear levels.",{"path":433,"title":434,"description":435,"date":388,"updated":415},"\u002Fguides\u002Fjk-bms-log-messages-explained","JK BMS Log Messages Explained: Boot, Time calibration, Protections","What each JK BMS log message means: Boot, Time calibration, APP open charge, protection trips and releases, Discharge On Failed and Unknown Log Code [0].",{"path":437,"title":438,"description":439,"date":388,"updated":408},"\u002Fguides\u002Fjk-bms-nmc-lto-settings","JK BMS Settings for NMC and LTO: Safe Per-Cell Values","JK BMS settings for NMC and LTO packs: per-cell OVP, UVP, balance, temperature and C-rate values in three wear levels, plus how the editor detects chemistry.",{"path":441,"title":442,"description":443,"date":388,"updated":408},"\u002Fguides\u002Fjk-bms-ocp-scp-settings","JK BMS Overcurrent Protection Settings: OCP and SCP Guide","JK BMS overcurrent protection settings explained: charge and discharge OCP limits, delays, recovery times and SCP, with ranges and sizing for inverters.",{"path":313,"title":445,"description":446,"date":388,"updated":408},"JK BMS Parameters Explained: Every Setting by Group","JK BMS parameters explained in one glossary: cell OVP, OVPR, UVP, UVPR, balance, SOC, RCV and RFV, current and temperature limits, with typical LFP ranges.",{"path":448,"title":449,"description":450,"date":388,"updated":408},"\u002Fguides\u002Fjk-bms-password","JK BMS Password: Default Codes, Change and Reset Guide","Your JK BMS password is really two codes: Bluetooth and settings. See factory defaults, how to change them, what to try if one fails, and what to do if lost.",{"path":452,"title":453,"description":454,"date":388,"updated":408},"\u002Fguides\u002Fjk-bms-reboots-power-events","JK BMS Reboots and Charge MOS Off: Reading Power Events in the Log","JK BMS reboots or the charge MOS switched off by itself? Learn to read Boot rows and MOS state in the Detail Log and tell expected restarts from real faults.",{"path":282,"title":456,"description":457,"date":388,"updated":408},"JK BMS Sending failure: Causes and Step-by-Step Fix","JK BMS Sending failure on import? See why the firmware rejects settings (voltage chains, write order, SCP delay) and how to fix it step by step.",{"path":401,"title":5,"description":389,"date":388,"updated":408},{"path":460,"title":461,"description":462,"date":388,"updated":415},"\u002Fguides\u002Fjk-bms-weak-cell-log","Find a Weak Cell with the JK BMS Log: Trips, Spread and Balance","Find a weak cell in the JK BMS Detail Log: which cell trips first, how wide the spread is at the trip, and whether it is balance drift or a bad cell.",{"path":464,"title":465,"description":466,"date":388,"updated":408},"\u002Fguides\u002Fjk-bms-wire-resistance","JK BMS Wire Resistance: Fix Abnormal Balance Wire Alarm","JK BMS wire resistance explained: what the abnormal resistance of the balance wire warning means, normal values, common causes and how to fix a bad lead.",1791151315921]