<html devsite>
  <head>
    <title>Measuring Device Power</title>
    <meta name="project_path" value="/_project.yaml" />
    <meta name="book_path" value="/_book.yaml" />
  </head>
  <body>
  <!--
      Copyright 2017 The Android Open Source Project

      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
      You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      See the License for the specific language governing permissions and
      limitations under the License.
  -->



<p>You can determine device power consumption for Android devices that include a battery fuel gauge
such as a Summit SMB347 or Maxim MAX17050 (available on many Nexus devices). Use the in-system
gauge when external measurement equipment is not available or is inconvenient to
connect to a device (such as in mobile usage).</p>

<p>Measurements can include instantaneous current, remaining charge, battery capacity at test start
and end, and more depending on the supported properties of the device (see below). For best
results, perform device power measurements during long-running A/B tests that use the same device
type with the same fuel gauge and same current sense resistor. Ensure the starting battery charge
is the same for each device to avoid differing fuel gauge behavior at different points in the
battery discharge curve.</p>

<p>Even with identical test environments, measurements are not guaranteed to be of high absolute
accuracy. However, most inaccuracies specific to the fuel gauge and sense resistor are consistent
between test runs, making comparisons between identical devices useful. We recommend running
multiple tests in different configurations to identify significant differences and relative power
consumption between configurations.</p>

<h2 id="power-consumption">Reading power consumption</h2>

<p>To read power consumption data, insert calls to the API in your testing code.</p>

<pre class="prettyprint">
import android.os.BatteryManager;
import android.content.Context;
BatteryManager mBatteryManager =
(BatteryManager)Context.getSystemService(Context.BATTERY_SERVICE);
Long energy =
mBatteryManager.getLongProperty(BatteryManager.BATTERY_PROPERTY_ENERGY_COUNTER);
Slog.i(TAG, "Remaining energy = " + energy + "nWh");
</pre>

<h2 id="avail-props">Available properties</h2>

<p>Android supports the following battery fuel gauge properties:</p>

<pre class="devsite-click-to-copy">
BATTERY_PROPERTY_CHARGE_COUNTER   Remaining battery capacity in microampere-hours
BATTERY_PROPERTY_CURRENT_NOW      Instantaneous battery current in microamperes
BATTERY_PROPERTY_CURRENT_AVERAGE  Average battery current in microamperes
BATTERY_PROPERTY_CAPACITY         Remaining battery capacity as an integer percentage
BATTERY_PROPERTY_ENERGY_COUNTER   Remaining energy in nanowatt-hours
</pre>

<p>Most properties are read from kernel power_supply subsystem attributes of similar names.
However, the exact properties, resolution of property values, and update frequency
available for a specific device depend on:</p>

<ul>
<li>Fuel gauge hardware, such as a Summit SMB347 or Maxim MAX17050.</li>
<li>Fuel gauge-to-system connection, such as the value of external current sense resistors.</li>
<li>Fuel gauge chip software configuration, such as values chosen for average current computation
intervals in the kernel driver.</li>
</ul>

<p>For details, see the properties available for <a href="#nexus-devices">Nexus devices</a>.</p>

<h2 id="maxim-fuel">Maxim fuel gauge</h2>

<p>When determining battery state-of-charge over a long period of time, the Maxim fuel gauge
(MAX17050, BC15) corrects for coulomb-counter offset measurements. For measurements made over a
short period of time (such as power consumption metering tests), the fuel gauge does not make
corrections, making the offset the primary source of error when current measurements are too small
(although no amount of time can eliminate the offset error completely).</p>

<p>For a typical 10mOhm sense resistor design, the offset current should be better than 1.5mA,
meaning any measurement is +/-1.5mA (PCBoard layout can also affect this variation). For example,
when measuring a large current (200mA) you can expect the following:</p>

<ul>
<li>2mA (1% gain error of 200mA due to fuel gauge gain error)</li>
<li>+2mA (1% gain error of 200mA due to sense resistor error)</li>
<li>+1.5mA  (current sense offset error from fuel gauge)</li>
</ul>

<p>The total error is 5.5mA (2.75%). Compare this to a medium current (50mA) where the same error
percentages give a total error of 7% or to a small current (15mA) where +/-1.5mA gives a total
error of 10%.</p>

<p>For best results, we recommend measuring greater than 20mA. Gain measurement errors are
systematic and repeatable, enabling you to test a device in multiple modes and get clean relative
measurements (with exceptions for the 1.5mA offset).</p>

<p>For +/-100uA relative measurements, required measurement time depends on:</p>

<ul>
<li><b>ADC sampling noise</b>. The MAX17050 with its normal factory configuration produces +/-1.5mA
sample-to-sample variation due to noise, with each sample delivered at 175.8ms. You can expect a
rough +/-100uA for a 1 minute test window and a clean  3-sigma noise less than 100uA (or 1-sigma
noise at 33uA) for a 6 minute test window.</li>
<li><b>Sample Aliasing because of load variation</b>. Variation exaggerates errors, so for samples
with variation inherent in the loading, consider using a longer test window.</li>
</ul>

<h2 id="nexus-devices">Supported Nexus devices</h2>

<h5 id="nexus-5">Nexus 5</h5>

<table>
<tbody>
<tr>
<th>Model</th>
<td>Nexus 5</td>
</tr>
<tr>
<th>Fuel Gauge</th>
<td>Maxim MAX17048 fuel gauge (ModelGauge™, no coulomb counter)</td>
</tr>
<tr>
<th>Properties</th>
<td>BATTERY_PROPERTY_CAPACITY</td>
</tr>
<tr>
<th>Measurements</th>
<td>The fuel gauge does not support any measurements other than battery State Of Charge to a
resolution of %/256 (1/256th of a percent of full battery capacity).</td>
</tr>
</tbody>
</table>


<h5 id="nexus-6">Nexus 6</h5>

<table>
<tbody>
<tr>
<th>Model</th>
<td>Nexus 6</td>
</tr>
<tr>
<th>Fuel Gauge</th>
<td>Maxim MAX17050 fuel gauge (a coulomb counter with Maxim ModelGauge™ adjustments), and a 10mohm
current sense resistor.</td>
</tr>
<tr>
<th>Properties</th>
<td>BATTERY_PROPERTY_CAPACITY<br>
BATTERY_PROPERTY_CURRENT_NOW<br>
BATTERY_PROPERTY_CURRENT_AVERAGE<br>
BATTERY_PROPERTY_CHARGE_COUNTER<br>
BATTERY_PROPERTY_ENERGY_COUNTER</td>
</tr>
<tr>
<th>Measurements</th>
<td>CURRENT_NOW resolution 156.25uA, update period is 175.8ms.<br>
CURRENT_AVERAGE resolution 156.25uA, update period configurable 0.7s - 6.4h, default 11.25 secs.<br>
CHARGE_COUNTER (accumulated current, non-extended precision) resolution is 500uAh (raw coulomb
counter read, not adjusted by fuel gauge for coulomb counter offset, plus inputs from the ModelGauge
m3 algorithm including empty compensation).<br>
CHARGE_COUNTER_EXT (extended precision in kernel) resolution 8nAh.<br>
ENERGY_COUNTER is CHARGE_COUNTER_EXT at nominal voltage of 3.7V.</td>
</tr>
</tbody>
</table>


<h5 id="nexus-9">Nexus 9</h5>

<table>
<tbody>
<tr>
<th>Model</th>
<td>Nexus 9</td>
</tr>
<tr>
<th>Fuel Gauge</th>
<td>Maxim MAX17050 fuel gauge (a coulomb counter with Maxim ModelGauge™ adjustments), and a 10mohm
current sense resistor.</td>
</tr>
<tr>
<th>Properties</th>
<td>BATTERY_PROPERTY_CAPACITY<br>
BATTERY_PROPERTY_CURRENT_NOW<br>
BATTERY_PROPERTY_CURRENT_AVERAGE<br>
BATTERY_PROPERTY_CHARGE_COUNTER<br>
BATTERY_PROPERTY_ENERGY_COUNTER</td>
</tr>
<tr>
<th>Measurements</th>
<td>CURRENT_NOW resolution 156.25uA, update period is 175.8ms.<br>
CURRENT_AVERAGE resolution 156.25uA, update period configurable 0.7s - 6.4h, default 11.25 secs.<br>
CHARGE_COUNTER (accumulated current, non-extended precision) resolution is 500uAh.<br>
CHARGE_COUNTER_EXT (extended precision in kernel) resolution 8nAh.<br>
ENERGY_COUNTER is CHARGE_COUNTER_EXT at nominal voltage of 3.7V.<br>
Accumulated current update period 175.8ms.<br>
ADC sampled at 175ms quantization with a 4ms sample period. Can adjust duty cycle.</td>
</tr>
</tbody>
</table>


<h5 id="nexus-10">Nexus 10</h5>

<table>
<tbody>
<tr>
<th>Model</th>
<td>Nexus 10</td>
</tr>
<tr>
<th>Fuel Gauge</th>
<td>Dallas Semiconductor DS2784 fuel gauge (a coulomb counter), with a 10mohm current sense
resistor.</td>
</tr>
<tr>
<th>Properties</th>
<td>BATTERY_PROPERTY_CAPACITY<br>
BATTERY_PROPERTY_CURRENT_NOW<br>
BATTERY_PROPERTY_CURRENT_AVERAGE<br>
BATTERY_PROPERTY_CHARGE_COUNTER<br>
BATTERY_PROPERTY_ENERGY_COUNTER</td>
</tr>
<tr>
<th>Measurements</th>
<td>Current measurement (instantaneous and average) resolution is 156.3uA.<br>
CURRENT_NOW instantaneous current update period is 3.5 seconds.<br>
CURRENT_AVERAGE update period is 28 seconds (not configurable).<br>
CHARGE_COUNTER (accumulated current, non-extended precision) resolution is 625uAh.<br>
CHARGE_COUNTER_EXT (extended precision in kernel) resolution is 144nAh.<br>
ENERGY_COUNTER is CHARGE_COUNTER_EXT at nominal voltage of 3.7V.<br>
Update period for all is 3.5 seconds.</td>
</tr>
</tbody>
</table>
  </body>
</html>
