Remotely Reducing BOV — How to Extend Pylontech Battery Lifespan by Years
Not charging lithium cells to 100% is the simplest way to extend their lifespan. How BOV is changed remotely via BMS and what the real results are after three months.
This article was machine-translated from the Czech original.
One of the most useful things you can do for lithium batteries is to not charge them to 100%. It sounds simple, but in photovoltaic systems, it isn't quite so straightforward. The inverter doesn't know what "100%" means from a cell health perspective — it simply follows what the BMS tells it.
What Is BOV and Why Does It Matter
BOV = Battery Over Voltage. It is a parameter in the BMS that determines at what cell voltage the battery stops charging. The factory setting for the Pylontech US3000C is typically 3600 mV per cell, which corresponds to approximately 97–100% SOC.
The problem: lithium iron phosphate (LFP) cells age faster when kept permanently at the upper voltage limit. Every day the battery sits at 3600 mV waiting for evening consumption is a day the cells suffer unnecessary wear and tear.
How I Solve This Remotely
Via PylonCheck, I send a sequence of commands directly to the BMS:
config bhvr 3470 (High Voltage Recovery)
config bovr 3470 (Over Voltage Recovery)
config bhv 3500 (High Voltage warning)
config bov 3510 (Over Voltage = 96 %)
config save (save to EPROM)The order is important — you must lower the recovery values first, and only then the main thresholds. Otherwise, the BMS will reject the command because recovery would be higher than the new limit.
After saving, the battery appears "full" to the inverter at 96% of actual capacity. The inverter doesn't notice — it sees 100% SOC, but the cells are actually at a safer voltage.
Real Results
In one installation (2× US3000C, age 2 years), I reduced BOV from the factory 3600 mV to 3510 mV (96%). After 3 months:
- Imbalance dropped from 45 mV to 12 mV
- No new alarms
- The customer didn't notice the difference in usable capacity (lost ~2 kWh out of 7.1 kWh — in practice they won't feel it)
Theoretically, this setting should extend cell lifespan by 20–30% compared to permanent charging to 100%.
Important Details
- The setting on the master applies to the entire stack — for LV batteries (US2000C/US3000C), it is enough to set the master, and it propagates to all slave batteries via CAN bus.
- For HV batteries (H48050), it is different — there is one CMU unit for the entire rack, so you set it directly.
- The
config savecommand is required — without it, the settings will be lost after a restart. I learned this the hard way when a customer had their batteries replaced and everything reverted to factory values. - Always read the current BOV before making a change — the command
config bov(without a value) returns the current setting.
When NOT to Do This
- If the customer needs maximum capacity (off-grid system, no grid)
- If the batteries are new and under warranty — changing BOV could theoretically affect warranty terms
- If you don't know exactly what you are doing — an incorrect command sequence can put the BMS into an inconsistent state
Conclusion
Reducing BOV is the simplest and most effective way to remotely extend the lifespan of Pylontech batteries. It takes 30 seconds, the customer won't notice it, and the batteries will reward you with a longer lifespan.