For those who are following my YouTube channel, you would know that I am in the process of building a high capacity battery bank. When this project is done, I plan to use it with a 12V inverter as my backup generator in the event of a power failure. For the battery bank, I used eighty 3.2V 5.5Ah 32650 lithium iron phosphate (LiFePO4) batteries. These are arranged into 4 groups in series and each group consists of 20 cells paralleled together forming a 12.6V 110Ah battery bank.

Like lithium ion batteries, lithium iron phosphate batteries require proper battery management system (BMS) to protect cells from overcharged or over discharged and also to ensure voltages among the cells in series are properly balanced. For my project, I decided to use an inexpensive off-the-shelf LiFePO4 BMS module. Since I intended to use the battery bank for a maximum load of around 1kW, I would need a BMS that can handle at least 80A discharge current continuously. And to charge the 110Ah battery bank, the charging current the BMS module must be able to withstand should be at least 6A (at C/20 rate).

Based on these requirements, I found this 4S LiFePO4 BMS module on eBay (see pictures below). It is rated for a continuous discharge current of 100A and has a maximum charge current of 10A which is perfect for what I needed if these specs prove to be accurate. The only issue is that the balancing current this unit provides is only 36mA which is way too small for a 110Ah battery bank. But for $8 I was willing to give this module a try and hopefully I could modify it for higher balancing current.

From the pictures above, you can see that the circuit board of the module is actually very well designed. By the look of the plated traces and heavily stitched power and ground planes, I have no doubt that this this board would be able to withstand the rated current. The picture below shows the MOSFETs on the circuit board with the top heat spreader removed. The thin aluminum plate probably wouldn’t help that much in terms of dissipating heat especially given that it is mounted on the wrong side of the MOSFETs. But given that these MOSFETs are for switching operation only, the power dissipation should be pretty low anyway.

By looking at how the power plane splits, it appears that six or seven of the overall ten MOSFETs are responsible for the discharge current path and the remaining two or three are responsible for the charging current path.

The MOSFETs used here are Shenzhen Ruichip‘s RU7088R N-channel MOSFETs. According to the datasheet, the MOSFET has a Rds(on) of 6.5mΩ and an Ids of 40A. Spec-wise, these MOSFETs should be more than adequate for the job. Assume that there are seven MOSFETs sharing the load, at the maximum rated current, each MOSFET should only be dissipating roughly 1.3W (assume current is evenly shared among all seven MOSFETs. The power dissipation of each MOSFET is 14^2*0.0065).

From the high resolution picture below, you can see that two different types of SOT-23-6 ICs are used. The ones marked 12CB K607 are Hycon Technology‘s HY2112-CB single cell LiFePO4 battery protection ICs. The CB model has an overcharge detection voltage of 3.75V and over discharge detection voltage of 2.1V. If I were to build the protection circuitry myself, I would have chosen the HB model instead as it has a less aggressive over charge detection voltage of 3.65V and over discharge detection voltage of 2.5V. Altogether there are four HY2112-CB’s, one for each battery bank in series.

The other four SOT-23-6 chips (marked AB3A K602) are Hycon Technology’s HY2212 single cell LiFePO4 battery pack charge balancing ICs. From the picture below, you can see that the output from each HY2212 drives a HM2302A MOSFET (the marking is A2SHB), which is made by Shenzhen H&M semiconductor.

Now it is clear where the 36mA balancing current mentioned in the BMS datasheet comes from. When battery overcharge is detected, the connected MOSFET to HY2212 is turned on and the load resistor (100Ω) is connected across the battery to slowly discharge it so that other batteries connected in series can have a chance to catch up. Since HM2302A is capable of switching up to 2.9A, we can easily increase the balancing current by decreasing these 100Ω load resistors.

To reduce the load resistance, I paralleled a 13Ω resistor with each of the 100Ω resistor (see picture below). The end result is a 11.5Ω balancing resistor for each 110Ah battery bank. This corresponds to a balancing current of 313 mA. While I could increase this current even further since HM2302A can easily handle quite a bit more, I am mainly limited by the existing footprints on the PCB and thus the power dissipation of the resistors. While 300mA doesn’t sound like much compared to the 110Ah capacity of each battery bank, it should be able to properly balance these battery banks given that their charge states are similar. This is usually the case for batteries coming from the same batch.

Be Sociable, Share!

17 Thoughts on “Modifying a 4S 100A LiFePO4 BMS Module”

  • This is a fantastic write-up thanks. Im currently trying to figure out how to increase or disable the overcurrent protection on my 4s li ion bms as it keeps turning my drill conversion off. Could you explain the portion of this circuit that activates overcurrent protection and any ways you could modify this to give higher overxurrent protection or disableing it?

    • I don’t think you can change the overcurrent protection current. It appears from the datasheet of HY2112, different models (e.g. AB, CB, etc.) have different preset OC threasholds.

    • The maximum charging voltage for a single LiFePO4 cell is at around 3.6V (some manufacturer’s number is 3.65V) so the maximum for 4 cells 14.4 and 14.6V). If you use a 15V power supply, you wanted to make sure that with the BMS’s loading current the cells voltage do not exceed 14.4 to 14.6V.

  • Just wanted to say thanks for posting this. I popped the aluminum plate off my BMS and paralleled a 1/4W through-hole resistor on top of the existing resistor. I estimated the height of the legs so that I could get it close to the aluminum plate. I also noticed that the standoffs they used were about 0.5mm too tall, which necessitated the generous glob of thermal paste. I filed down the standoffs a little bit to get it closer to the FETs. I used some of the extra thermal paste to glob around the extra parallel balance resistors, hopefully some of the heat will spread to the aluminum.

    Did you notice a significant increase in heat with the full 313mA balance current? That calculates out to a little over a watt of heat in the two resistors.

    Thanks again!

  • Mr. Kerry,

    I have been reading your blog, and it is fascinated by how many things you can do, electronic wise. I came upon your discussion about these ebay bms. I just bought some of them, About to wire them up 4s to 4 100AH 3.2v paks. You also modified them by adding some 13 ohms resistors. All in all, I wanted to know how your project went? Did the bms actually perform as it should be? Any issues? Any info would be greatly appreciated.



    • Hi Johnny. I have been using the modified BMS for a long time now and they have been working as expected after the modification.

  • We are assembling battery packs with the above 4s100a BMS. We are having some defective BMS. We want to repair them here in India as we had imported these from Main land China. Can any one give me the Circuit Schematic of the same my email id is

  • Great ! Exactly what I was looking for! What is the limiting factor of the amount of resistance I can add?
    Can I just add enough to bring them down very quickly or is there a limit to how many ohm I can add.

    • The maximum balancing current should not exceed the switching MOSFET’s max Ids. (the specific MOSFETs on the board I mentioned can handle up to 2.9A) Keep that in mind, you can use a wide range of resistor values.

  • Hi! Thanks for this post! Could you tell me the size of resistors? I’ve ordered this BMS today on ebay and i think i need some resistors to be ordered too.

  • Fantastic job done!
    I am unable to understand how the HY2112 and the Discharge and Charge MOSFETs are connected for a series connected pack.
    The HY2212 is pretty easy to understand , Can you throw some pointers my way?

  • Very informative – thanks for taking the time to publish this. I’m working on a 13S bms and am looking for a way to lower the overdischarge protection. Mine cuts off at 2.8V already, while most li-ion cells allow to drain up to 2.5V. Do you know which part of the bms controls this limit ?

Leave a Reply

Your email address will not be published.