Overall Operation: The cell level BMS boards gather the voltage and temperature from each cell. The microcontrollers are powered directly from the li-ion cell, which is within the operating voltage of the PIC. The cell level BMS boards will communicate with a supervisor over an optically isolated bus. The bus will be bi-directional and will allow the supervisor to program the cell level BMS boards as well as allow the BMS boards to submit data to the supervisor. If the cell voltage goes above the maximum allowed voltage, the microcontroller will activate PWM driven bypass regulators attempt to lower the voltage by shunting 200ma across a bypass resistor. The boards will also transmit all voltage and temperature information to a supervisor and the supervisor will be responsible for lowering the charge current limit to prevent overcharge. The supervisor is responsible for coordinating the balancing of the cells amongst the individual cell level BMS boards and monitoring for weak cells, pack temperature, etc. The BMS cell level board microcontrollers will go into a super low power sleep mode to minimize pack drain when not in use. The BMS boards are responsible for: 1.) monitoring the actual voltage 2.) monitoring the actual temperature 3.) listening for requests from the supervisor, reporting and accepting data 4.) going to sleep after a pre-determined amount of time after the supervisor has stopped communicating 5.) waking up on messages from the supervisor. In addition, the supervisor is responsible for the following: 1.) monitoring the overall current flowing in and out of the whole pack. 2.) Monitoring the overall voltage at the pack level and comparing it with the expected level from the BMS boards 3.) Monitoring the temperature of each individual cell and reporting an average temperature 4.) Maintaining maximum charge and discharge limits to be published 5.) Monitoring the balance of each cell (or cells) in the block and coordinating corrective measures (shunting across the bypass resistor.) 6.) Having a programmable section to allow the pack to be integrated into a variety of applications - such as over a CAN bus.