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
| Setting | What it does | LiFePO4 | NMC | LTO |
|---|---|---|---|---|
| Charge OTP | Stop charging above | 45 to 60 °C, 55 typical | 40 to 45 °C | 45 to 55 °C |
| Charge OTPR | Resume charging below | 50 °C | 40 °C | 50 °C |
| Discharge OTP | Stop discharging above | 50 to 60 °C | 50 to 60 °C | 50 to 60 °C |
| Discharge OTPR | Resume discharging below | 55 °C | 55 °C | 55 °C |
| Charge UTP | Stop charging below | 0 to 10 °C, 2 typical | 0 to 10 °C, 3 typical | about -20 °C |
| Charge UTPR | Resume charging above | 5 °C | 8 °C | about -10 °C |
| Discharge UTP | Stop discharging below | -20 °C | -20 °C | -30 °C |
| Discharge UTPR | Resume discharging above | -10 °C | -10 °C | -20 °C |
| MOS OTP | BMS power stage too hot | 80 to 100 °C, 90 typical | same | same |
| MOS OTPR | Power stage recovered | 75 °C | same | same |
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:
| Setting | Recommended |
|---|---|
| Heating | On, only with a pad connected |
| Heating start | 0 to 5 °C, 3 typical |
| Heating stop | 8 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
- Open JK Preset Studio and connect over Bluetooth, or open a
.jkcfgexport. - 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.
- Fix Charge UTP and Charge OTP first, then the heating values if your board has them.
- 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
- JK BMS Settings for LiFePO4: 8S and 16S, 280Ah and 314AhJK 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.
- JK BMS Alarms List: Every Alarm, Its Cause and the FixAll JK BMS alarms in one table: what each one means, what usually triggers it and which setting governs it, from cell OVP and MOS OTP to wire resistance.
- JK BMS Parameters Explained: Every Setting by GroupJK BMS parameters explained in one glossary: cell OVP, OVPR, UVP, UVPR, balance, SOC, RCV and RFV, current and temperature limits, with typical LFP ranges.