BMS Solution for Custom Battery Packs: Functions That Matter
When a customer asks me to design a custom battery solution, the cell chemistry and the enclosure are only half the story. The part that decides whether that pack survives three years in the field or three weeks on a bench is the Battery Management System. At Horizon Power, where I work as a Senior lithium battery Engineer, I have seen too many promising drone battery and industrial packs fail simply because someone treated the BMS as a commodity component. A proper BMS solution custom battery program starts with the functions the application actually needs, not with whatever protection board happened to be cheapest.

This article walks through the functions that genuinely matter when you spec a BMS for a custom battery pack. I will keep it practical, drawn from projects I have personally released into production, from lightweight multirotor packs to wall-mounted home storage banks.
Why a Generic BMS Fails Custom Battery Packs
Off-the-shelf BMS boards are tuned for a narrow window of cell count, current, and temperature. The moment your battery pack moves outside that window, the assumptions baked into the firmware break. A 6S lithium battery built for a long-range drone has very different stress than a 16S pack for a home energy storage wall, yet both are “lithium.” A BMS solution custom battery engagement is really about matching protection thresholds, balancing strategy, and communication to the duty cycle of the real product.
I remember a client who dropped a generic 12S board into a high-discharge pack. On paper the cell count matched, but the board’s short-circuit threshold was set for a gentle load. The first hard throttle punched through the MOSFETs, and the pack vented. The cells were fine; the BMS was simply the wrong tool. That is the failure mode I want you to avoid.
In my experience, the three failure modes that generic boards invite are: wrong cutoff voltages for the chosen cell, no balancing on high-resistance cells, and no telemetry for field diagnostics. Each one is avoidable with the right spec sheet.
Core Protection Functions Every BMS Solution Must Deliver
Protection is the non-negotiable layer. If the BMS does nothing else, it must keep cells inside safe electrical and thermal limits. The functions I always implement are:
- Overvoltage protection (OVP) – disconnects the charge path when any cell crosses its upper limit, typically 4.20–4.25V for NMC or 3.65V for LFP.
- Undervoltage protection (UVP) – cuts the discharge path before a cell is damaged by deep depletion.
- Overcurrent and short-circuit protection – acts in milliseconds on the primary MOSFETs to prevent thermal runaway.
- Temperature protection – both charge and discharge are gated by NTC readings on the pack and on the board.
- Open-wire / missing-cell detection – critical for multi-cell packs where a broken sense line can hide a dangerous cell.
Just as important as the trip points is the recovery behaviour. A good BMS latches a fault, reports it over the communication bus, and only recovers after the condition clears and a defined hysteresis is met. I never let a protection event auto-reset blindly; silent oscillation around a fault is how packs get cooked. These are the basics of any credible battery solution, and I treat them as design requirements, not options.
Precharge and Inrush Current Control
One function engineers often overlook is precharge. When you connect a large lithium battery to a load with big input capacitors, the instant inrush can weld the main contactor or spike the MOSFETs. A precharge circuit ramps the bus voltage through a resistor before the main switch closes, protecting both the pack and the device.
For any custom battery pack above a few hundred watts, I include precharge as standard. It is a small addition to the BOM, but it is the difference between a pack that connects cleanly every time and one that degrades its relay contacts after a few dozen cycles. In a BMS solution custom battery design, details like this are what separate a prototype from a product.
Cell Balancing: Passive vs Active
Balancing is where a custom battery pack either ages gracefully or drifts into premature failure. No two cells are identical; small capacity and self-discharge differences accumulate over cycles. The BMS closes that gap.
Passive balancing bleeds excess charge from the highest cells through a resistor. It is cheap, simple, and perfectly adequate for low-current packs and most consumer drone battery designs where balance time is not critical. I use it for the majority of cost-sensitive projects. The typical balance current I choose is 50–100mA for small packs and up to 200mA where board space allows.
Active balancing shuttles energy from strong cells to weak ones with inductive or capacitive converters. It is more efficient and keeps a large lithium battery healthier across thousands of cycles, which is why I specify it for energy storage and high-value motive packs. The trade-off is BOM cost and firmware complexity, but for a true BMS solution custom battery program where cycle life is the selling point, it pays for itself. I usually trigger balancing based on a voltage delta threshold, for example 20mV, rather than blindly every cycle, to limit heat.
Accurate SOC and SOH Estimation
State of Charge (SOC) is what the end user sees as “fuel gauge.” A naive voltage lookup is useless under load, so I rely on coulomb counting fused with a voltage-model correction and temperature compensation. For a quality battery pack this gives a gauge error under 3%. Cold weather is the hard part: cell internal resistance rises, the open-circuit voltage curve flattens, and the estimator has to lean more on current integration. I recalibrate the SOC at every known full-charge event to stop drift.
State of Health (SOH) is the quieter sibling. By tracking cumulative throughput, internal resistance trend, and balance drift, the BMS can warn the operator before a cell becomes a liability. In fleet deployments of industrial lithium battery systems, that early warning is what keeps a single weak pack from dragging down an entire bank. I surface SOH as a percentage so maintenance can swap packs on a schedule instead of after a failure.
Communication and Telemetry
A modern BMS should talk. For a custom battery solution in 2026, silent protection is not enough; the host device and the maintenance team need data. The buses I deploy most often:
- SMBus / I2C – compact, common in portable and laptop-class packs.
- CAN bus – my default for drones, AGVs, and vehicles where noise immunity and real-time frames matter.
- RS485 / Modbus – robust for stationary energy storage and long cable runs.
- Bluetooth / UART – field diagnostics straight from a phone, popular on serviceable drone battery packs.
The content of those frames matters as much as the bus. I expose cell voltages, pack current, temperatures, SOC, SOH, cycle count, and a fault register. Alarms such as over-temperature or communication loss are pushed as priority frames so the host can shed load immediately. Good telemetry turns the BMS from a guard into a sensor platform: you can log every fault, plot temperature curves, and prove to a customer that the lithium battery is behaving exactly as designed.
How We Design a Custom BMS Solution at Horizon Power
When a client comes to us, my process is consistent. First, I capture the duty cycle: peak current, sustained current, ambient range, and cycle target. Second, I pick the topology – guard MOSFET rating, sense topology, and balancing method. Third, I write the protection table against the actual cell datasheet, not a generic template. Finally, I validate on a prototype pack with injected faults before any production order.
This is the difference between a generic board and a real BMS solution custom battery deliverable. The function list above is not theoretical for us; it is the checklist every released battery pack must pass.
Validation: How We Prove the BMS Works
A BMS is only as good as its test evidence. Before release I run the prototype pack through a fault-injection sequence: I force an overvoltage on one cell, short the output, heat a sensor past its limit, and break a sense wire. The board must trip, report, and recover exactly as specified. I also log a full charge-discharge cycle to confirm balancing and SOC accuracy.
Only after the pack passes this gauntlet do we move to pilot production. That discipline is why our custom battery solution programs rarely see field returns, and it is the part of the work a customer never sees but always benefits from.
Frequently Asked Questions
What is the most important function of a BMS in a custom battery pack?
Protection against overvoltage, overcurrent, and thermal extremes is the foundation, but for long-term value I would argue balancing and accurate SOC matter just as much. A pack that is safe but unbalanced ages badly. A true BMS solution custom battery design balances all of these, with recovery behaviour and fault reporting built in.
Can one BMS work for both drones and home energy storage?
Rarely. A drone battery needs light weight, fast balancing, and CAN telemetry; a home storage lithium battery needs active balancing, RS485, and a much higher cycle-life target. The right battery solution matches the BMS to the application rather than forcing one board to do everything.
How accurate should the SOC reading be?
For a credible custom battery pack I target under 3% error after calibration. Coulomb counting with voltage and temperature correction gets us there. Cheap voltage-only gauges can be off by 15% or more under load, which erodes user trust in the product.
Is communication necessary for a small pack?
Not strictly, but I recommend at least a basic SMBus or UART link even on small packs. Telemetry makes field failures diagnosable instead of mysterious, which protects your brand reputation. On a drone battery, a simple fault frame can tell you whether a crash was electrical or pilot error.
How do you choose between passive and active balancing?
I weigh cycle target and pack value. Below a few hundred cycles on a cost-sensitive pack, passive balancing is fine. Above a thousand cycles or where pack replacement is expensive, active balancing pays for itself by extending the life of the whole lithium battery.
