How to Use Nordic Power Profiler Kit Effectively

Your datasheet promises 0.4 µA in System OFF. Your bench multimeter reads 400 µA. That’s a thousand-fold difference, and one of them is wrong.
Here’s the problem: standard multimeters sample too slowly to capture the microsecond-scale current spikes that define wireless device behavior. When your nRF52 wakes up, transmits a BLE advertisement, and returns to sleep within 3 milliseconds, a typical multimeter just averages the whole thing into meaningless mush. You need an instrument that can sample at 100 kHz with dynamic range spanning 200 nA to 1 A.
That’s exactly what the Nordic PPK (Power Profiler Kit II) does. This guide walks you through setup, capture, and interpretation: everything you need to answer the question, Is my firmware actually hitting the low-power numbers I designed for?
What the Nordic PPK Actually Measures
The PPK2 is a USB-powered measurement tool purpose-built for the nRF52 power profiler workflow. It samples current at up to 100,000 times per second across a dynamic range that spans from 200 nanoamps to 1 amp. That means you can see both your sub-microamp sleep current and your 6 mA TX bursts in the same capture, with no range switching and no clipping.
The device operates in two modes:
Source Meter Mode: The PPK2 supplies power directly to your target at a voltage you specify (up to 5 V). This is the simplest configuration and what you should use for most nRF52 DK work.
Ampere Meter Mode: An external supply powers your target while the PPK2 measures current inline. Use this when you need a specific voltage your PPK2 can’t source, or when measuring a custom board with its own power architecture.
Start with Source Meter mode. It eliminates variables and gets you measuring in minutes.
Hardware Setup: The Step Everyone Gets Wrong
Getting accurate measurements requires isolating your target’s power path. This is where most beginners introduce errors that corrupt every measurement they take.
What you need:
- PPK2 with USB cable
- Target board (nRF52 DK or custom hardware)
- Two jumper wires (for VOUT→VDD and GND→GND)
Source Meter wiring (step-by-step):
Connect PPK2 VOUT to target VDD. On an nRF52 DK, this is the VDD pin on the debug header (P20). Use a jumper wire from the PPK2’s VOUT terminal.
Connect PPK2 GND to target GND. Same debug header, GND pin. This gives you a common ground reference.
Disable the target’s onboard power source. This step is critical. On an nRF52 DK, you must cut the power supply jumper (check your specific DK variant, but it’s typically labeled SB9 or similar on the board silkscreen). On custom hardware, you may need to remove a zero-ohm resistor or cut a trace.
Why isolation matters: If you leave the onboard regulator connected, you’re measuring the parallel combination of two power sources fighting each other. Your readings will include the regulator’s quiescent current (typically 10-50 µA), and the regulator may even source current into the PPK2. The numbers you get will be consistently wrong in ways that look plausible, which is the worst kind of measurement error.
A quick sanity check: with the PPK2 disconnected and the target power path cut, your board should be completely dead. No LEDs, no serial output. If it still powers on, you haven’t fully isolated the power path.
Software Setup: Five Minutes to First Measurement
Install nRF Connect for Desktop from Nordic’s download page (developer.nordicsemi.com). This is Nordic’s launcher application for their desktop tools.
Once installed, open nRF Connect for Desktop and find the Power Profiler app in the app list. Click Install, then Launch.
With your PPK2 connected via USB:
- Select your PPK2 from the device dropdown in the top-left corner.
- Choose Source Meter mode from the mode selector.
- Set your target voltage, typically 3.0 V for coin cell applications or 3.3 V for USB-powered scenarios.
- Click the power toggle to enable output.
Your target should now boot. Verify by watching for LED activity, checking serial output, or confirming BLE advertisements appear on your phone. If nothing happens, double-check your VOUT and GND connections.
Capturing Your First Power Profile
Click Start to begin live sampling. The display immediately shows current consumption over time, with the X-axis representing time and the Y-axis showing current.
Let your device run through at least one complete operational cycle. For a typical BLE beacon, that means one advertising interval (often 1 second). For a sensor node, capture a full wake-sample-transmit-sleep sequence.
Using markers for event correlation:
The real power of profiling comes from correlating current spikes with firmware events. You have two options:
- Manual markers: Click in the timeline to drop a marker, then label it (“ADC sample,” “BLE TX,” “Sleep entry”). Useful for one-off investigation.
- Digital trigger input: Connect a GPIO from your target to the PPK2’s digital input pins. Toggle the GPIO in your firmware at key points. The profiler displays these as vertical lines overlaid on your current trace.
Adjusting your view:
Zoom in to see individual TX events. A BLE advertisement typically shows a sharp ~5 mA spike lasting 1-3 ms. Zoom out to calculate average current over minutes or hours. Use the selection tool to highlight a specific region, and the app calculates average, minimum, and maximum current for that window.
When you have a capture worth keeping, stop the measurement and export. The .ppk format preserves all metadata for later analysis in the Power Profiler app. Export to .csv if you need to process data in Excel or Python.
Interpreting Your Results
The Power Profiler app automatically calculates average current for your entire capture or any selected region. But raw numbers need context.
Sleep baseline analysis:
Zoom into a period when your device should be in deep sleep. This is your power floor, the minimum your device will ever consume. Compare against these reference values:
| State | nRF52832 Typical | nRF52840 Typical |
|---|---|---|
| System OFF | ~0.3–0.4 µA | ~0.3–0.4 µA |
| System ON (RAM retained) | ~1.4–1.9 µA | ~1.4–1.9 µA |
| BLE TX (0 dBm) | ~5–6 mA | ~4.8–5.3 mA |
Note: These figures are approximate. Consult the current nRF52832/nRF52840 Product Specifications for authoritative values, as they vary with silicon revision and operating conditions.
If your measured sleep current is 10x higher than expected, something is keeping the chip awake.
Common culprits for excessive sleep current:
- Floating GPIOs: Inputs without defined state draw current as they oscillate near threshold. Configure unused pins as outputs driven low, or enable internal pull-ups/pull-downs.
- Enabled peripherals: UART, SPI, and I2C peripherals consume power even when idle. Disable them before entering sleep.
- Active debugger connection: SWD keeps debug circuitry alive. Disconnect your J-Link or onboard debugger when measuring true sleep current.
Event correlation:
Each current spike should map to a known firmware event. If you see unexpected spikes between advertising intervals, you have unintended wake sources: possibly a misconfigured timer, an interrupt that shouldn’t be firing, or a busy-wait loop burning power.
Quick Troubleshooting
No data or flat line at zero: Check your wiring. Verify VOUT and GND connections. Confirm you actually enabled power output in the app.
Measurement saturates at high current: You may have a short circuit on your target board. Disconnect the PPK2, check for solder bridges, and measure your target’s resistance between VDD and GND with a multimeter.
Current never drops to expected sleep levels: Disconnect the debugger first. This is the most common cause. Then audit your firmware: check RAM retention settings, verify peripheral disable calls are actually executing, and confirm your sleep mode entry code path works correctly.
Readings seem plausible but don’t match your budget: Re-verify power path isolation. Even a partially-connected onboard regulator can add 20-50 µA that looks like “normal” overhead.
Turning Measurements Into Optimization
You now have a workflow: connect hardware with proper isolation, configure the Power Profiler app, capture representative operation, and interpret results against datasheet specifications. This is the foundation for every battery life optimization you’ll make.
Once you’re comfortable with basic captures, explore advanced techniques: use the digital trigger inputs to automate event marking, correlate PPK2 traces with logic analyzer captures to see exactly which code path caused each spike, or script automated measurement sequences for regression testing.
But those refinements come later. Right now, your job is simple: measure your device’s actual current consumption and compare it to what you designed for. The PPK2 gives you the ground truth. What you do with that truth determines whether your product runs for days or years on a single battery.
Hubble Network connects Bluetooth devices directly to satellites—no ground infrastructure needed. See how it works →