Sunday, November 6, 2016

ichargermon: a Linux/Mac iCharger monitoring tool

I use an iCharger 1010B+ to charge a few batteries for my electric skateboard. I also top up the battery in my car from time to time. I thought it would be nice to keep track of the charging progress so I wrote a small tool to parse logs that are output over UART and format them into a human-readable format.

I named the tool ichargermon. Feel free to send a pull request!

The project is written in C/C++ and has no external dependencies at this time. If I decide to support more advanced iChargers I will add libusb as a dependency.

Charging a small 3S1P battery pack
I also have an iCharger 4010Duo that I would like to add support for. The 4010Duo implements a much more rich protocol (MODBUS) that supports both remote monitoring and control.

Anyway, for now here is an example of the output. Thanks for reading!
Input voltage:    15.163V
Battery voltage:  40.165V
Battery amps:     0.990A
Internal temp:    30.300C
Cell 0 voltage:   4.009V
Cell 1 voltage:   4.010V
Cell 2 voltage:   4.012V
Cell 3 voltage:   3.998V
Cell 4 voltage:   4.014V
Cell 5 voltage:   4.014V
Cell 6 voltage:   4.014V
Cell 7 voltage:   4.014V
Cell 8 voltage:   4.017V
Cell 9 voltage:   4.019V