Battery technology has advanced quickly over the last decade, but these advanced chemistries need intelligence in order to not be destroyed. Most commercially available BMS are incredibly expensive. Low cost BMS are available for some chemistries at certain pack voltages, but they are closed source and not upgrade-able. Systems that can actively balance cells are even more expensive. What we need is an open source system that is flexible enough that it can handle different chemistries, and pack voltages, and can communicate in intelligent ways.
My system uses an Arduino mega at its core. It is based on a single base unit instead of modules at each cell. The unique part of the system is that I am using an isolated dcdc converter to power the Mega, so I have a floating ground. Using an array of mosfets I can bring the ground up to any cell in the pack to check voltage without using a voltage divider. This system also allows me to actively balance the cells even when not charging.
This project is relesed under the cern open hardware license V1.2