The central processing unit (CPU) of the BMS system interfaces with sense boards (daisy chain) to obtain voltage and temperature data from each individual cell, and it interfaces with shunt sensor to read pack current. The CPU is powered by a 12V DC source. It detects ground fault error, calculates the State-Of-Charge (SOC) of the battery pack, provides video output signal for display of pack voltage, pack current, SOC level, as well as alarm status. The CPU also provides alarm outputs for protection against over-voltage, under-voltage, over-current and over-temp conditions. EMS-CPU comes with three parts: the CPU itself, a shunt sensor and a computer cable connecting between the CPU and the sense board strings. EMS-CAN or EMS-MOD can be purchased together with EMS-CPU to add CANBUS or MODBUS communication capability for data extraction. Sensor board strings and an optional LCD screen are also sold separately.