Arduino: Full Featured Lithium Shield

I would love to build the following shield. If I had enough time and help, I would build it. However I do not and I know I could use this on about 3+ projects. I also think there are a lot of projects that people would love to use this on. Being able to monitor voltages, support a bit of current, and have built in charging, would be great in a lot of applications.

I am looking for suggestions, comments, talk of SparkFun jumping on board with this, or how to get started on this project.

Thanks,

Frank

Desired Features:

  • - Provides connections for the battery input
  • - Provides a header supporting the 1S to 6S balance plugs for 1-6S lithium ion/polymer cells (smaller foot print then providing 6 different keyed balance plugs)
  • - Provides power output to be directed to other motor shields or whatever output desired
  • - Provides 12 volt power onto Vin for the Arduino and various shields *(Can it also supplement the power on the 5 and 3.3 VDC pins to allow more native current draw?)*
  • - Provides single 12v input for charging purposes *(For lower current application, allow simultaneous output during charging)*
  • - Monitors and maintains balance of the cells during charge and discharge
  • - Provide short circuit protection at the battery input
  • Likely Requirements

  • - Utilize I2C bus for A/D’s for the cells and overall voltage and current draw (8 channels?)
  • - Utilize I2C bus for I/O to switch cells/transistors and to monitor when the external 12v is connected for charging. This would be used to switch the Arduino into charging mode and/or route power for . The I/O would also provide a couple of LED indicators.
  • Other Thoughts

    Obviously a lot of current would be desired in certain applications. How would this be handled in a PCB format with the battery being routed through the board? I don’t think this would be used in airborne applications, but it could be used in ground vehicles, so heavy current could be dozens of amps? However that may be outside of scope since most would use motor shields etc.

    So I am not sure how this project will progress, but here are some more thoughts.

  • - I figured that while this would be a great shield, it would be too risky to not have its own dedicated µC.
  • - With that said, it should have its own ATmega328p with the Arduino bootloader. This would offload the need for extra I/O and A/D.
  • - This shield would be designed to be the first shield in the stack above the hosting Arduino. As a result, it will provide Vin above and below, but it will provide +5v and +3.3v to subsequent shields instead of the the hosting Arduino.
  • - The µC would detect the number of cells based on the balance connector. It can balance the cells during charge or during usage.