Skip to main content
Joulescope JS220 measuring IoT device power consumption

IoT Device Power Profiling with Joulescope JS220: From Nanoamps to Amps

GSAS Engineering · · 8 min read

Why Power Profiling Matters for IoT

Battery-powered IoT devices, BLE sensors, LoRaWAN nodes, Zigbee mesh endpoints, cellular NB-IoT trackers, must operate for months or years on a single battery. The difference between a device that lasts 6 months and one that lasts 3 years often comes down to sleep current. A device drawing 10 uA in sleep versus 100 uA loses 90% of its theoretical battery life before the radio even transmits.

Traditional multimeters cannot capture the dynamic current profile of an IoT device. A BLE sensor might draw 500 nA in deep sleep, spike to 15 mA during an ADC conversion, burst to 8 mA for a BLE advertisement, and return to sleep, all within 20 milliseconds. A DMM sampling at 1 Hz misses the entire active phase and reports only the sleep current.

An oscilloscope with a shunt resistor faces the opposite problem: a shunt sized for nanoamp resolution drops excessive voltage at milliamp currents, perturbing the device under test.

Joulescope JS220: Simultaneous Nanoamp and Amp Measurement

The Joulescope JS220 solves this with simultaneous current and voltage measurement across a 34-bit dynamic range, from 0.5 nA resolution to +/-10 A peak (+/-3 A sustained), with 2 Msps 16-bit ADC capture and 300 kHz bandwidth. No current spike is missed, regardless of duration.

The proprietary Enwavify autoranging technology switches between optimized shunt resistors in 1 microsecond with zero gaps in the data stream. A 20 mV maximum burden voltage ensures the target device operates within normal parameters, which is critical for accurate low-power profiling where even small voltage drops alter firmware behavior. Electrical isolation between sensor ports and USB prevents ground loops between the instrument and device under test.

Key measurement capabilities:

  • Current range: 0.5 nA to +/-10 A peak in a single continuous measurement
  • Voltage measurement: simultaneous with current, +/-15 V range
  • Sample rate: 2 Msps with 16-bit simultaneous ADCs
  • Autoranging: Enwavify, 1 microsecond switching, zero dead zones
  • Software: Joulescope UI with energy integration, statistics, and export (Windows, macOS, Linux)
  • Automation: Full Python API for scripted measurement, CI/CD integration, and regression testing

Practical Methodology

Step 1: Baseline Sleep Measurement

Power the device, let it enter its deepest sleep state, and measure the sleep current over 60 seconds. The Joulescope UI’s statistics view shows mean, standard deviation, min, and max current over the capture window. This baseline tells you the floor of your power budget, the current the device draws 99%+ of the time in a duty-cycled application.

Watch for unexpected periodic wake events: RTC tick interrupts, watchdog refresh cycles, or peripheral oscillator calibrations that briefly elevate current. These are invisible to a multimeter but clearly visible in the JS220’s 2 Msps capture as narrow current spikes at regular intervals.

Step 2: Active Phase Capture

Trigger an active event, sensor read, radio transmission, display update, and capture the full current profile. Use the Joulescope UI’s oscilloscope view to zoom into the event with microsecond resolution. Identify each sub-phase: MCU wake-up, oscillator settling, peripheral initialization, sensor acquisition, data processing, radio transmission, acknowledgment reception, and return to sleep.

Step 3: Energy Integration

Use the Joulescope UI’s energy accumulation feature to calculate total energy per event. Select the time window around one complete active cycle and read the integrated energy in joules or the integrated charge in coulombs. This is the per-event energy cost, a single number that captures the combined effect of current magnitude and duration across all sub-phases.

For protocols with variable packet sizes or retransmissions, capture multiple events and compute the statistical distribution. A LoRaWAN confirmed uplink that occasionally requires retransmission has a different average energy cost than an unconfirmed uplink.

Step 4: Battery Life Calculation

With the sleep current baseline and the per-event energy cost, battery life calculation becomes straightforward:

Average current = sleep current + (events per day x charge per event) / 86,400 seconds

Battery life = battery capacity (mAh) / average current (mA)

For a CR2032 coin cell (225 mAh) powering a BLE sensor that advertises every 10 seconds with 50 uC per advertisement and 800 nA sleep current, the average current is approximately 5.8 uA, yielding a theoretical battery life of about 4.4 years. The JS220 measurement tells you whether the actual device matches this calculation or whether unexpected wake events, leakage paths, or firmware bugs are consuming additional energy.

Export and Reporting

The Joulescope UI exports data in CSV, JLS (native), and binary formats for post-processing in Python, MATLAB, or custom analysis tools. The Python API enables fully automated measurement workflows, trigger a firmware operation, capture the current profile, compute energy, and log the result, suitable for CI/CD pipelines that track power regression across firmware versions.

Buy Joulescope in India from GSAS

GSAS provides Joulescope instruments with INR invoicing, evaluation units, and application support from offices in Bengaluru, Hyderabad, Chennai, Pune, Mumbai, Delhi NCR, Coimbatore, Visakhapatnam, Vadodara, and Kolkata.

Contact sales@gsasindia.com or call +91 80 6590 1783.

Interested in Joulescope tools?

Talk to our application engineers for personalized tool recommendations.

Stay in the Loop

Get monthly compliance updates, product insights, and engineering best practices delivered to your inbox.

Related Articles

Embedded engineering bench in India, illustrating the hardware a developer can act on today, supported by GSAS
Technical Guides Arm

Arm's Agentic AI Push: What Indian Embedded Teams Can Actually Use Today

Arm has set out its platform strategy for the agentic era, putting inference everywhere it has compute. Indian embedded teams can start on that direction this quarter with the Cortex-M toolchain they already own: Helium, CMSIS-NN, Ethos-U and Vela, on boards you can order today.

13 Sept 2026 · 7 min read
Horizontal stacked bar showing where an ADAS test vehicle's bandwidth budget is spent, split into cameras, lidar, radar and bus traffic, with the logger uplink limit drawn as a vertical rule crossing the bar, from GSAS Micro Systems India
Automotive Ethernet Automotive & Mobility

ADAS Sensor Data Logging: Bandwidth Budgets That Add Up

Every page that tells you an ADAS test vehicle produces terabytes a day states the headline and skips the arithmetic, so you cannot redo it for your own sensor set. This article publishes the arithmetic instead: one formula, every table row derived on the page, a worked eight-hour drive that chains those rows into a sustained write rate, a media count and an offload window, and the five places bandwidth budgets go wrong. Written by the GSAS Micro Systems engineering team in India.

29 Aug 2026 · 15 min read
Ladder chart of the T1 single-pair Ethernet family by data rate: 10BASE-T1S (802.3cg), 100BASE-T1 (802.3bw), 1000BASE-T1 (802.3bp), 2.5/5/10GBASE-T1 (802.3ch) and 25GBASE-T1 (802.3cy), one balanced pair across five IEEE standards, from GSAS Micro Systems India
Automotive Ethernet Automotive & Mobility

The T1 Family Explained: 10BASE-T1S to Multi-Gig 802.3ch

The T1 family is the set of single-pair Ethernet physical layers used in vehicles, and every member is documented separately inside a different datasheet. This guide puts all of them in one table with rate, symbol rate, line code, specified reach and cabling traced to public IEEE task force documents, then answers the two questions that keep coming back: why 100BASE-T1 has no auto-negotiation, and why one end has to be master. Written by the GSAS Micro Systems engineering team in India.

29 Aug 2026 · 13 min read