Overview

We will be building a 100Ah LiFePO4 battery using cell modules we purchased from BatteryHookup.com. 


Parts


Modules

These modules were built specifically to handle up to 100a (1c) charge and discharge continuous. Standard lithium ion capacity tests are done at 0.2c which would be 20a continuous. The cells can handle up to 3c but the nickel and wiring was sized to handle 1c loads which is realistically where you want to be. 



NOMINAL VOLTAGE3.2V
CAPACITY100ah (105ah+ is being reported by customers)
WATT HOURS320
FULLY CHARGED VOLTAGE3.65V
FULLY DISCHARGED VOLTAGE2.5V
MAX CONTINUOUS CHARGE100A (1C)
MAX CONTINUOUS DISCHARGE100A (1C)
MAX PULSE DISCHARGE (10 SECONDS)200A (2C)
MODULE WEIGHT6.5 lbs
MODULE DIMENSION7.5" X 5.5" X 3"


BMS

LiFePO4 4S 100a BMS W/ LOW TEMP CUTOFF

Connections

Specifications


ManufacturerXiaoxiang
ModelSP04S020A
Configuration4S 100A
ChemistryLifepo4 3.2V
ConfigurationCommon port with balance
Part Number16270007

Settings

Overcharge Voltage per Cell3.65
Over Discharge Voltage per Cell2.5
Discharge Continuous Amps100A
10 second Discharge Burst200A
Charge Continuous Amps60A
Balancing Current60mA
Low temp cutoff32° F (0° C)
High temp cutoff167° F (75° C)


Bluetooth Module

The Bluetooth module is an optional accessory that may be used to configure and monitor the BMS.


To use, simply plug the 4-pin connector into the BMS. The BMS must be connected to the battery, with the balance lead connected in order for the Bluetooth module to operate.

Note that other Bluetooth modules are not compatible.

For best reception, mount the module high, ideally away from metal. Do not mount it inside of a metal enclosure. The Bluetooth module may be left connected to the BMS for long periods of time. It will go into a deep sleep mode when not in use.


Software (Requires Bluetooth Module)

XiaoXang BMS

https://apps.apple.com/us/app/xiaoxiang-bms/id1375405426


Big Battery

https://apps.apple.com/us/app/bigbattery-com/id1576090574


XiaoXiang Electric

https://apps.apple.com/th/app/xiaoxiangelectric/id1576622653



Build


Battery Case

MeasurementWidth/Length/Height
Battery Cell 7.5" X 3" x 5.5"
Battery Cells x 4 7.5" X 12" x 5.5"
Selected Box(Exterior)7.7" x 15.4" x 10.2"
Selected Box(Interior)7" x ?


We couldn't find a box with the ideal interior dimension of 7.5" x 12", so we went with this bigger ammo box and placed the cells on their sides.



Cell Top Balancing

In order to ensure we get the max capacity out of our new battery, we need to top balance the cells.

See https://www.youtube.com/watch?v=x5ABvbbics8


Charge the battery in it's 4S configuration and then disassemble.

Connect all cells together in parallel and charge at 3.65v until very little current is flowing into the batteries. 

Build Pictures

BMS Configuration



Capacity Tests

Battery 1 - 112 Ah


Battery 2 - 95Ah - Before Top Balancing


Battery 2 - 118Ah - After Top Balancing

Cost Breakdown

I ordered enough to build 3 batteries in order to save on shipping.

ItemCostCurrencyExchange RateCA$

4 x 3.2V 100ah MODULES

$240.00 US - 5% Discount

$228.00US 0.750410380676933$303.83

Smart BMS

$74.99.00 US - 5% Discount

$71.24US0.750410380676933$94.93
Shipping ($68.35/3)$22.78US0.750410380676933$30.35
Duty ($145.41/3)$48.47CA-$48.47
My USAddress ($12.00/3)$4.00US0.750410380676933$5.33
Bluetooth Module$10.16 CA-$10.16 
Power Junction Post ($48.96/3)$16.32CA-$16.32




$509.39


Other Costs

ItemCostCurrency Exchange CA$
Ammo Box ($16.99 + HST)$19.19CA-$19.19
5x 5/16" Ring Terminal



10 AWG Red Wire



10 AWG Black Wire



Solder-


Strap$3.00


Heat Shrink Tubing



5/16 Nuts and Bolts



Zip Ties



Duct Tape



Total




Appendix

BMS Protocol

Command

Response

Baud Rate: 9600 bps


Sample - Read Info

Command

StartBitRead/WriteCommandLengthDataChecksumStopBit
DDA50300-FF FD77


Checksum Calculation =  (Command + Length + Data) XOR 0xFFFF + 1

= (0x03 + 0x00) XOR 0xFFFF + 1

= 0xFFFD


Response

StartBitCommandStatusLengthDataChecksumStopBit
DD03001B

17 00 00 00 02 D0 03 E8 00 00 20 78 00 00 00 00 00 00 10 48 03 0F 02 0B 76 0B 82

FB FF77


Checksum Calculation =  (Status + Length + Data) XOR 0xFFFF + 1

= 0x00 + 0x1B + data[] XOR 0xFFFF +1

= 0x0401 XOR 0xFFF + 1

= 0xFBFE + 1

= 0xFBFF


References