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

GSAS Micro Systems launch key visual for the manufacturing and R&D facility at Doddaballapur, Karnataka, India
Life at GSAS

What the Doddaballapur Facility Does, and Why That Matters to a German Engineering Team

The press release covered the building. This covers what the building does: FPGA and embedded board work, vision and edge AI engineering, automotive board bring-up and production test automation, and why that combination makes GSAS an offshore development centre partner for German and DACH teams.

21 Sept 2026 · 9 min read
Master and slave roles on a 100BASE-T1 link: the master PHY times its transmitter from a local clock, the slave recovers the clock from the received signal, with the both-master and both-slave misconfigurations that leave the link down, from GSAS Micro Systems India
Automotive Ethernet Automotive & Mobility

100BASE-T1 Link Won't Come Up: A Vendor-Neutral Checklist

A 100BASE-T1 link that will not come up is almost never a mystery, but the answers on the web are written per silicon vendor and do not transfer. This is the ordered bring-up checklist that holds regardless of which PHY, switch or SoC you have: physical layer first, then the PHY over MDIO, then the master and slave pairing, then the causes of a link that comes up and drops. The standards and tooling claims trace to IEEE 802.3 task force records, the Linux ethtool and kernel documentation or published test material. Written by the GSAS Micro Systems engineering team in India.

29 Aug 2026 · 14 min read
The bench to harness adapter path drawn left to right: the ECU connector, a test lead, a media converter or pluggable T1 module, RJ45, and the host, showing where each connector family sits between the device under test and the laptop, from GSAS Micro Systems India
Automotive Ethernet Automotive & Mobility

Automotive Ethernet Connectors: H-MTD, MATEnet, MQS

An ECU arrives on the bench with a connector nobody has a mate for, and the day is gone. Search the family names and you get connector product pages that describe their own part and stop there. This article puts the families side by side in one table using only what their public pages state, then makes the point those pages leave out: the IEEE link segment definition, not the connector, is what sets reach and loss limits, and shielding is a channel decision rather than a preference. Written by the GSAS Micro Systems engineering team in India.

29 Aug 2026 · 12 min read