###Other relevant posts
- A concise guide to equipment setup, and how to use the development kit for current measurements can be found here: Measuring current with PCA10040 v0.9.0
- A post that describes how to measure current on the nRF52821 Engineering B with SoftDevice s132 v2.0.0-7.alpha and shows the results of some measurements with different test equipment can be found here: Measuring current with nRF52832 Engineering B and S132 v2.0.0-7.alpha
Below you will find general information on measuring current with the nRF52 chip and basic test equipment setup and techniques.
Measurement basics
There are several ways to measure current. Using a dedicated power analyzer is the preferred way, but since most of us do not have access to a power analyzer, this post will describe other possibilities as well which include using an oscilloscope or an ampere meter. An ampere meter will only give us the average current and further investigation of the different components of the current draw is not possible. An oscilloscope on the other hand will give us the opportunity to measure both average current over a given time interval as well as capture the current profile of BLE events.
The nRF52 current draw is in the range from a few hundred nanoamps (nA) in System Off mode, to several milliamps (mA) when CPU and radio are active. A typical scenario is measuring advertising packets. Between the packets the chip is usually in System On IDLE mode with an RTC and 32kHz RC oscillator running which draws 1.6 uA with full RAM retention. During transmission the current peaks at around 7 mA (Radio and CPU). When using an oscilloscope, it should be able to handle such a large range, or be able to automatically adjust the range based on the current draw.
The nRF52 power supply uses auto-controlled refresh modes to maximize efficiency. What this basically means is that a capacitor is recharged regularly to provide power to the chip. The recharge off the capacitor happens during a very short time interval, and results in a high frequency peak in current. This peak is measured to be about 10 - 15 us long. In order to get the correct average current during these peaks, a sampling frequency corresponding to half the peak length is required. This results in a minimum frequency of 200k samples per second (1 sample every 5 us).
###Using an oscilloscope In order to use an oscilloscope to calculate current, a resistor needs to be placed in series with the voltage source, which enables you to measure the voltage drop over this resistor. The current is then given by V_drop / R.
Since the range of the current drawn by the nRF52 chip is in the order of 10mA, as described above, a resistor must be chosen so that the range of the voltage drop is within the maximum range of the highest sensitivity mode on the scope. A typical value is 10 Ohm which will give you a maximum voltage drop of 100mV.
Connect two probes, one on each side of the resistor, and calculate the difference between the voltages. Most oscilloscopes have this function build in, and will show you the difference while doing measurements. Probes with 1X attenuation should be used to reduce noise. In order to measure the lowest currents, you should be aware of a few things. Most oscilloscopes come with a bandwidth limit filter which will filter out some of the unwanted noise. You should also enable averaging mode to reduce random noise. If your oscilloscope has a high resolution function, this should be enabled.
Connect both probes to a common node with the same input voltage as the test circuit. Set the voltage offset on both inputs to this voltage and set the sensitivity (V/div) to not more than necessary to capture the highest peaks. Read of the differential voltage between the two probes. If it is not zero, it means that you have common-mode currents caused by external or internal noise. You should compensate for this by subtracting this offset value in subsequent measurements.
Ideally, you should set the sampling rate to around 200 kSa/s to be able to capture the refresh mode spikes as described above, but be aware that the memory depth of your oscilloscope may not be large enough to capture a whole advertising/connection period if you are using long intervals. If not, reduce the sampling rate. For example, a 100 millisecond interval with a limit of 32k sampling points, gives you a sampling rate of maximum of 320 kSa/s to capture the whole interval.
###Using an ampere meter You can use an ampere meter to measure the average current during System ON IDLE and System OFF as well as advertising/connection events when the interval is not too long. We have successfully been able to measure the chip during advertising or connection with intervals as long as 100 ms. Intervals above 100 ms is hard to read because the display will jump between the low and high currents, and therefore you will not get the correct average.
###Using a power analyzer A dedicated power analyzer is the preferred tool to use in order to get the most accurate results. Most power analyzers adjust the sensitivity (dynamic range) while doing measurements. This enables us to get accurate results while measuring for example different advertising intervals. It will give us accurate results on both the radio packets and the idle current in between. The sampling frequency of this equipment is specified to be a maximum of 200k samples per second, which is enough to measure the refresh mode peaks.
A good power analyzer will give us very accurate currents from a few hundred nanoamps up to several milliamps in the same measurement.