photo sharing and upload picture albums photo forums search pictures popular photos photography help login
Compass Marine How To | all galleries >> Welcome To >> LiFePO4 Batteries - Thoughts & Musings > BMS = Battery Management System
previous | next

BMS = Battery Management System

EDIT - January 2017 Clean Power Auto, the manufacturer of the BMS used in this article, recently announced a discontinuation of product sales to the DIY market and has closed it doors to DIY's. Concerns over safety were a noted criteria for this decision. Dimitri has since joined forces with Lithionics where he can confidently sell factory made systems where he knows they will be safely engineered.

The BMS:

We've discussed the importance of not overcharging and over discharging so how do we go about preventing this? The BMS or Battery Management System does this.

BMS - The main purpose of a BMS is to simply protect the bank, at the cell level, from over charging / HVE's (high voltage events) or over discharging / LVE's. That's it, simple really....Think of a BMS as an insurance policy for your expensive cells.

I like to think of a BMS as a BIP, or battery insurance policy. It is there solely to ensure your cells can not be over charged or over discharged.

NOTE: There are two terms for these systems that use the acronym BMS. A Battery MANAGEMENT System is what you want. It is automated and protects your bank even when you are being oblivious to what is going on. A BMS / Battery MONITORING System is a Band-Aid approach of audible alarms and visual gauges that YOU as a human need to monitor in order to protect your bank. I would strongly urge you away from a human powered Battery MONITORING System. One of the guys in the Li arena for DIY's who is EXTREMELY knowledgeable, one of the most knowledgeable, has even cooked some of his cells using a human powered battery MONITORING system. If this guy can ruin thousands of dollars in cells, and he is an expert in this field, what do you think your odds will be?

There are many facets of a good BMS design and I will highlight the important areas below.


HVC = High Voltage Cut Off: (Stops an HVE or High Voltage Event)

HVC is a cutoff threshold for charge sources to prevent overcharging the cells. Depending upon the BMS this can either be done at pack level or cell level. Generally speaking if this is a warning level event they are often pack level voltages. Remember this is a WARNING LEVEL alarm or cut. A BMS systems for LFP cells will cut the charge sources at 14.2V - 14.4V depending upon brand, model etc. Some are even custom programmable.. With an HVC set to warning level the HVC occurs before a main contactor (a big high current relay) for bank protection opens. It is important to properly wire the relays for such items as an alternator as you never want to open the alternator B+/output when it is supplying a load. The proper method for breaking HVC of an alternator is to cut the power to the voltage regulator. HVC should always be monitoring CELL LEVEL VOLTAGE, and not pack level voltage, thus it can break off charging if any cell should drift out of balance and protect it from over charging.


Please bear in mind that the BMS is not there to manage charging or chargers by turning them on or off at certain points. All charging sources should be properly programmed so that HVC is not regularly triggered by the charge source. An HVC event should only ever occur if there is a fault or glitch in the charging system. These could include a voltage sensing issue, improper programming, a rare re-boot that clears programs a failed regulator etc. etc.. 99.9999% of the time your well engineered charging system should keep you out of the HVE range so that an HVC does not occur.. The BMS is your insurance against other system or human failures.

LVC = Low Voltage Cut Off: (Stops an LVE or Low Voltage Event)

The LVC is the opposite of the HVC and again, this should occur before the main bank protection contactor opens. This is a WARNING LEVEL alarm or cut. LVC occurs in the "safe-ish" range not in the "emergency" range. In a well designed system this will break the "loads" bus away from the bank but you will still have the charge bus to use, if appropriately wired.. A separate load and charge bus is just a smart design in a marine system. Both HVC and LVC should occur well before the ejection seat or main bank protection contactor is triggered. LVC, like HVC, should ideally always be monitoring cell level voltage, and not pack level voltage. This way it can break off loads if a cell should drift out of balance and protect it. If charged at safe voltages well out of knee range cell drift is rare but remember the BMS is your insurance.


A good battery management system will allow for audible alarms to sound at the time of HVC or LVC or even slightly before as a warning. If you don't heed this warning the BMS will automatically protect the bank anyway.


This is the last ditch, oh $hit / ejector seat protection system to save your bank and WALLET. In a well designed system this relay/contactor should NEVER even be attainable as HVC and LVC should be triggering/alarming and alerting you to an issue well before you break the main contactor. In many BMS systems HVC and LVC automatically reset when voltage rebounds or climbs, automatic is fine in LVC / HVC warning level ranges.. Some folks choose not to wire in HVC or LVC relays and I find this a tad risky and perhaps a tad penny wise pound foolish. The main emergency contactor should be a MANUAL reset, not automatic system. It is there as an emergency back up insurance policy to HVC and LVC for your expensive bank. Once the main contactor is tripped you will need to MANUALLY re-boot the system... Think of this as your EPIRB. You never want to use it but it is there just in case. Ejector seat voltages are almost always based on cell level voltage signals and often run a range from 3.6VPC to 3.8VPC..



Automated cell balancing is where the most debate around BMS systems stems from. Many BMS systems have the ability to balance the cells using small resistors to divert current from the cells actively hitting high voltage levels to those cells that are not yet at high voltage levels. Sounds good right? Picture four 5 gallon buckets filling with water for a moment. When one becomes full, ahead of the others, a small spigot dumps some of that excess "overflow" into the less full buckets but if the fill rate is fast enough it can't handle all the excess "flow".. This is sort of how "shunt balancing" or a diversion of current balancing system works. All good in theory and even in practice when done right. The problem is that it's RARELY done correctly.

In reality I believe shunt balancing needs to be done, and executed, with a good sound design and executed, in my humble opinion, at LOW CURRENTS. BMS systems such as the Clean Power Auto House Power BMS do not allow shunt balancing until after the HVC has cut away charging. "But, but cell balancing won't work automatically then?" Absolutely!

EDIT: Dimitri has made some recent changes to the House Power BMS..

#1 The HPBMS now does HVC at 14.4V not 14.2V like earlier models. He can do a custom one at 14.2V if you want. I personally prefer a 14.2V HVC because this means that shunt balancing never happens automatically on my system. This is my own personal preference based on my own systems design...

#2 HVC now has some hysteresis programed into it. Older models did not have any hysteresis.

#3 The 3.6V HPBMS cell boards, IIRC, begin shunting at 3.55V. The 3.8V cell boards begin shunting at 3.65V. I use 3.6V boards because I prefer to do any balancing myself and I have a 14.2V cell board. I originally had 3.8V cell boards but dropped back to 3.6V.. If you have the new 14.4V HPBMS board then shunting will occur automatically before HVC. If you don't want that to happen you can bump to the 3.8V cell board. This moves ejector seat level to 3.8VPC and automated cell balancing will be above the HVC too.


*HVC is pack level voltage (this is a warning level on the HPBMS)

*LVC is pack level voltage (this is a warning level on the HPBMS)

*Shunting is cell level voltage

*Pack relay/main contactor/ejector seat is cell level (this is emergency level on HPBMS)

If you stay out of the HPBMS's voltage ranges you will have a nice insurance policy...

HVC in the House Power BMS (HPBMS) was 14.2V and is now 14.4V. Cell balancing begins at about 3.55VPC, with the 3.6V cell boards.. In order for my own system to do shunt balancing I must disable HVC and then push the cells into the shunting voltage range manually. Again, this is my preference, for my own system. 500+ cycles at my design voltages has shown no balancing necessary, ON MY SYSTEM.....

If you MUST shunt balance:

It is my belief that a bench-top power supply with independent voltage and current control should be used to supply the LEAST amount of current that it takes to do the job of balancing whether you use the shunting of the BMS system or wiring the cells in parallel and doing it manually.. If you have a current source that can limit current similar to a bench top power supply then that will work too. The point being these resistors can only "shunt" so much. Bottom line... Keep your charge voltages below where pack balancing occurs and you will do just fine. My cells are now beyond 500 cycle most cycles to 80% DOD. They have only been balanced once, 500+ cycles ago... Proper initial balancing and safe charging voltages can result in your cells not drifting thus no need for automated cell balancing every cycle. Again, this is with safe & sane design voltages.

There are some other BMS systems that also take a similar approach to the HPBMS and break away the bank with HVC well before any shunt balancing occurs thus requiring manual & attended shunt balancing..

I will say this again:


I am a believer that shunt balancing should be a "monitored" event just like "equalizing" lead acid batteries. Again, my personal preference. The need for balancing LFP cells, in a well designed fractional C system, is proving to be far less often than equalizing lead acid batteries. Heck a majority of lead acid batteries are dead by 150 cycles on boats, and could only dream of 800+ cycles to 80% DOD in the real world..... (wink)

If you do ever need to balance the cells I much prefer doing this on the bench with a power supply. If this bank is any indication the need for this would be about once ever 5-6 years for a coastal cruiser and about every two years + for a full time cruiser. A hassle? Not at all....

This LFP bank is now beyond 750 cycles (took a very long time and lots of work to do that) and has exhibited virtually no capacity loss, no notable changes in internal resistance and no cell drift. In the first 50 cycles I actually saw a minor bump in capacity. Why? Likely due to the fact that I have chosen safe & sane charging levels and performed a good initial top balance. The cells really seem to like it.... This is the way "I" do it, you can always choose how you want to do it...

In a well designed fractional "C" system where safe & sane charging voltages are used the need for cell balancing will be extremely rare and you should rarely have a need to push the cells to cell balancing levels. This bank has now undergone 12 full 100% discharge capacity tests. The cells have only been top balanced once and are still in balance to 0.008V, during a .25C load or 100A on a 400Ah bank. I credit sufficient but not extreme charging voltages for this and purposely keeping this bank out of the knee ranges on charge and discharge cycles.

I am also a believer that high charging voltages, above 14.2V, per 12V nominal pack, simply result in more of a need for "balancing". Pushing the charge voltages too high results in more need for balancing and it becomes a vicious cycle. A real catch 22. Interestingly this actually serves to create a need for a "balancing" BMS systems.. Go figure... These banks will deliver all the capacity in them when charged to just 13.8V - 14.0V. Why go any higher....??

Funny Story:

I was conversing with a gentlemen who emailed me who is an avid DIY EV enthusiast. He, like me, read and read for years before jumping in. Once he got his cells he began experimenting in his home shop to confirm, and put what he was reading, into practice. Long and short is he chose not to have balancing BMS and relied solely on one bottom balance when his cells were new. Yes he did have LVC and HVC protection in place just not a BMS that balances. He also chose safe & sane charging voltages.

At his first EV car show all he heard all day was that he was going to ruin his cells; "You have to have a BMS that balances!", "You must have cell balancing!", "Hey guys here's a fire waiting to happen!". One particularly obnoxious electrical engineer berated him for nearly 40 minutes while himself admitting he was on his second set of prismatic cells in a few years. "Wait until you get a few hundred miles on those and they are junk." To which the guy responded "A few hundred? These puppies only have 33 THOUSAND miles and are just getting broken in.". The electrical engineer walked off with his tail between his legs..... A lot of LFP is simple common sense...

PHOTO: For my BMS box I used Velleman G-300 Series Project Box (LINK)

other sizes: small medium large original auto
M Carling 15-Nov-2014 12:22
My experience with a DIY LiFePO4 bicycle is similar. I did one top balance, didn't use a BMS, and manually compared cell voltages every few months. I never saw a variance exceeding 0.002V between the highest and lowest of the 16 cells. The trick was never charging at more than 56.0V (3.50V per cell or 14.0V for a nominal 12V bank). In my opinion, a BMS is a complete waste of money at best and a potential source of failure at worst. I cannot imagine any good reason to ever charge LiFePO4 at more than 3.50V per cell.