Lithium batteries are not the single solution for all our devices, there is not enough Lithium available on our planet for everything and everyone. Recycling of Lithium batteries is not easy still and it is very expensive. So if you can think of a solution for this problem, you'll probably be very rich soon. But for now it is a useful battery chemistry as it has high energy density, low self discharge and it's possible to charge those batteries thousands of times.
Treat your batteries right! Those batteries in your phone, why do they die so soon? Well, that's because of the way it's charged and discharged. Charging to 100% and discharging to 0% is very bad for the cells. If you're lucky and keep the cells at optimum temperature, you might get about 1000 cycles out of them before they wear out. If you use only a few percent of the energy and keep the voltage somewhere in the middle, you might get 20 times as much cycles or more. But that is not efficient either as you probably want to use the batteries for storing and delivering energy. If you charge to about 60 to 80% and don't discharge them fully, it's possible to get up to 6 times as much cycles, even more when you use LiPO4 batteries. You can find more info the batteryuniversity website and on many other websites.
Unfortunately there are not many cheap cell balancers available that stop the charge of your batteries at a certain level below the standard 100% full 4.2V for Li-ion. And to find one that is configurable to your needs is even harder. That's why we need to develop some nice cell balancers and a management system that can do this for you. Here's benadski's first attempt to build part of such a system.
The above picture is a small PCB that can be used to build your own BMS. Each PCB can balance (discharge) a cell or parallel string of cells and it can send "full" or "empty" to another PCB that controls charge or discharge for the whole pack.
The schematic above is very simple. There's a small MOSFET to balance a cell, a voltage reference for monitoring the cell voltage and two AC coupled outputs for sending the state to a main controller, doubled and mirrored on the PCB for easy chainability. Also provided is a programming port, it should be possible to upload a program with a simple USB->serial converter, a resistor and pyupdi software.
The source code has yet to be written (maybe one of the next days at cccamp), if you'd like to help, please contact benadski! For getting a kit at camp, contact benadski too, he lives near the HSNL village.