Electronic – Measuring the Current Draw from a LIPO Battery

batteriescurrent measurementpower-meter

I have been working with LIPO batteries to power my portable projects for a while (mostly in RC aircraft), but when using them, I have always had to guess as to how much charge is remaining. Now, I am trying to build a system to provide a more accurate estimate as to how much charge is available.

So, I was thinking, I know how much the batteries get charged to, so, if I can measure the amount of current that is being drawn during its life, I can estimate how much longer the battery will keep operating.

Sadly, I am not to sure how to go about measuring this usage. I have a larger LiPop 4s battery (14.8v, 10000mah), and 4 180w brushless motors. This works out to around a maximum of 50A (each at 12.2A) being drawn by the motors at full power.

So, I want to measure the amount of current being drawn by all the motors. But, all the components I have found have usually maxed out at between 20A and 30A, so not enough to measure the usage if all the motors are going at once.

My solution to that was to measure the current being used by each motor. If I was to get 4 digital ammeters, and connect one to each motor, would that cause any problems? And would it be able to accurately measure how much current is being drawn without interference from the others?

Also, I have been searching several sources for digital ammeters, and there appears to be quite a range, and I don't want to get it wrong and damage my system/waste money, so If anyone could recommend a suitable Current Sensor I could use (the interface doesn't matter too much, as long as I can connect it to an Arduino)

Best Answer

For measuring remaining capacity of a LiPo battery pack, search for Battery Fuel Gauge ICs.

For instance, the Texas Instruments bq34z100 Wide Range Fuel Gauge supports LiFePo4 batteries from single cell through to 18 cells (3V to 65 V range), monitors battery health, charge and discharge, battery aging and self-discharge. It interfaces using I2C 2-wire, and also has direct indication support via an LED direct output pin.

Fuel Gauge or Gas Gauge ICs like this can both estimate remaining capacity, and learn the battery parameters over time, thus improving precision of estimate with use.

To take battery management further, LiPo battery pack manager ICs such as bq3055 not only provide fuel gauging, they also incorporate over and under-voltage protection, overcurrent and over-temperature protection, all in one package.


For measuring current in the 50 Ampere range mentioned in the question, an integrated Hall Effect Current Sensor IC such as Allegro's ACS756 Hall Effect based Linear 50-100A Current Sensor can be used. While sub-50 Ampere current sensors are also available, at lower prices, it would be better to use a sensor rated for higher than the maximum current envisaged.

The down-sides of measuring current flow and thereby attempting to estimate remaining capacity are:

  1. Current has to be monitored constantly, as any missed readings due to interrupts on the microcontroller, for instance, would lead to imprecision in readings.
  2. Reactive loads like motors do not have a linear current draw: Besides ripple, they can also back-feed current. With the proper battery protection in place, this back-feed will not harm the batteries, but may be partially used to charge the batteries. This leads to further imprecision.
  3. A low current draw when the motors are off but the rest of the circuit is operating may not register at all in a high current sensor, and self-discharge certainly will not register. More imprecision.

The current sensor mentioned has an analog voltage output, 20 mV per Ampere, and requires an ADC pin at the microcontroller to constantly poll the readings. Other current sensors exist with direct serial (I2C or SPI) output, saving the ADC pin, and for buffered output devices, the requirement for constant sampling by the microcontroller.