JK BMS Temperature and Heating Settings: Safe Values for LiFePO4

Temperature settings decide when a JK BMS refuses to charge or discharge because the cells are too hot or too cold. They are easy to overlook, and some factory defaults are unsafe for LiFePO4. The most important one: many units ship with Charge UTP at -20 °C. Charging LFP below 0 °C plates lithium on the anode and damages the cells for good. Fix that value before the first winter.

The temperature settings

SettingWhat it doesLiFePO4NMCLTO
Charge OTPStop charging above45 to 60 °C, 55 typical40 to 45 °C45 to 55 °C
Charge OTPRResume charging below50 °C40 °C50 °C
Discharge OTPStop discharging above50 to 60 °C50 to 60 °C50 to 60 °C
Discharge OTPRResume discharging below55 °C55 °C55 °C
Charge UTPStop charging below0 to 10 °C, 2 typical0 to 10 °C, 3 typicalabout -20 °C
Charge UTPRResume charging above5 °C8 °Cabout -10 °C
Discharge UTPStop discharging below-20 °C-20 °C-30 °C
Discharge UTPRResume discharging above-10 °C-10 °C-20 °C
MOS OTPBMS power stage too hot80 to 100 °C, 90 typicalsamesame
MOS OTPRPower stage recovered75 °Csamesame

The values come from cell datasheets (EVE, Gobel and other LFP makers), the JK-PB spec and long-running DIY installs. They are the same ranges the editor uses for its warnings.

Each pair needs a gap. The firmware refuses a recovery value equal to the trip value: OTPR must be lower than OTP and UTPR higher than UTP. A gap of 5 °C stops the BMS from switching on and off every few seconds around the limit.

Factory defaults to change

The JK-PB2A16S20P spec lists these defaults: Charge OTP 70 °C, recovery 60 °C, Discharge OTP 70 °C, recovery 60 °C, Charge UTP -20 °C, recovery -10 °C, MOS OTP 100 °C, recovery 80 °C. Two of them are a problem for LiFePO4:

  • Charge UTP -20 °C lets the BMS charge frozen cells. Use 2 to 5 °C with recovery at 5 to 8 °C.
  • Charge OTP 70 °C is above what LFP cells are rated for (55 to 60 °C). Use 55 °C with recovery at 50 °C.

Older B-series boards differ in their defaults, so read your own values before you assume anything.

How the heating function works

Boards with a heating output (the PB series and B-series variants sold as -H or -HC) can drive a heating pad stuck to the cells. The heater only runs while charging is requested and the battery is below the heating start temperature. It stops at the heating stop temperature. The energy comes from the charger, not from the battery, so a pack in a cold shed with no solar input will not keep itself warm.

The JK spec describes the factory behaviour as: below -20 °C during charging, heat until -10 °C. That is the same problem as Charge UTP. Better values for LFP and NMC:

SettingRecommended
HeatingOn, only with a pad connected
Heating start0 to 5 °C, 3 typical
Heating stop8 to 10 °C, 10 typical

Keep heating stop above Charge UTPR so charging can start once the pad has done its job, and keep heating stop above heating start. The editor warns when they are equal. On some firmware the heater follows Charge UTP and UTPR instead of its own values, and users report about 1 °C of hysteresis around the set points. If your heater does not switch where you expect, watch the temperatures on a cold morning before changing more.

Size the pad to the charger. A 100 W pad on a 48 V pack draws about 2 A, which a small solar controller on a grey day may not cover.

Sensor placement and faults

The PB boards have several battery probes plus a MOSFET sensor. Put at least one probe between the middle cells, where the pack is warmest when charging and slowest to warm when cold, and one near the edge, where the pack cools fastest. A probe hanging in the air reports the air, not the cells.

A Temperature sensor fault alarm means a probe is open or shorted. The "disable temperature sensors" switch hides it, but it also turns off every battery temperature protection. Use it only to confirm the diagnosis, then replace the probe.

Frequent MOSFET overtemperature is a different issue: the board is carrying too much current or cannot shed heat. Lower the current limits, improve airflow, and check that the power cables are tight. See the alarms list for the full set of temperature alarms.

Check and change the values

  1. Open JK Preset Studio and connect over Bluetooth, or open a .jkcfg export.
  2. Go to the Temperature tab. Every value outside the recommended range for your chemistry is marked, and pairs with a recovery on the wrong side are errors.
  3. Fix Charge UTP and Charge OTP first, then the heating values if your board has them.
  4. Write to the BMS. The editor orders the writes so the firmware accepts each one, and reads them back to check.

The LiFePO4 settings guide has the rest of a complete configuration, and the ready presets already use these temperatures. Each field is also explained in the parameters reference.

FAQ

My BMS will not charge on cold mornings. Is it broken?

No. It is Charge UTP doing its job. Charging resumes once the cells warm above Charge UTPR, or sooner with a heater.

Can I set Charge UTP below zero for LTO?

Yes. LTO is the common chemistry that can charge well below zero, around -20 °C. LFP and NMC should not.

Does the heater drain the battery overnight?

It should not. It runs only while charging is requested, so it uses charger power.

Related guides

All guides