Embedder rejects settings the connected model doesn’t support. For example, it rejects the 2 A range on a JS220 or JS320 instead of silently substituting another range.
Prepare
- Connect the Joulescope by USB and close the Joulescope application and any other software that uses it.
- In the Monitor, select +, then select the Joulescope under On the bench. It’s listed by model, such as Joulescope JS220. You can also ask Embedder to check the Joulescope.
- Select Set up & connect to approve setup. The device bar shows progress. See Connect a bench instrument.
JS320 requirements
- Python 3.12 or newer. If Embedder’s Python environment uses an older Python, Embedder asks Upgrade Embedder Python environment for Joulescope JS320? and rebuilds the environment. Other instruments reinstall their packages the next time you use them. If the rebuild fails, your previous environment is kept. If Python 3.12 isn’t installed, Embedder offers Install Python 3.12?. If that install fails, install Python 3.12 or newer yourself, then retry.
- Firmware 1.1.3 or newer. Embedder refuses to connect to a JS320 on older firmware, because it can report wrong current. See Update JS320 firmware.
Wire the current and voltage paths
On a JS220 or JS320, tie
V+ to I+ for a simple two-wire setup. Without that tie, the voltage reading floats. For four-wire (Kelvin) sensing, connect V+ and V- at the target’s supply pins instead, so the voltage reading excludes the drop across the wiring.
Turning on DUT power opens the current path from your external supply. It doesn’t set a supply voltage. Stay within the device’s input ratings.
Measure a workload
Ask Embedder for a one-shot capture when you need numbers for a single workload.
Check the applied settings in the result before you compare runs.
Record a longer test
Choose the method that gives the result you need:- Statistics: each read returns the latest statistics window, not an aggregate of the whole wait. Ask Embedder to reset the charge and energy totals when a new workload phase starts.
- JLS recording: choose any of current, voltage, and power. Current and voltage are recorded by default. Stop a live sample stream before you start a recording.
.jls path and ask Embedder to open it in Power. The recording must contain both current and voltage. Long recordings are averaged to at most 1,000,000 points for display, so keep the JLS file for sample-level inspection.
Record the workload, firmware revision, supply voltage, and settling period with the result so another run is comparable.
Correlate digital activity
Use the Joulescope’s digital inputs to mark firmware states while you measure. Give Embedder the input pin and the target’s logic voltage. Set the I/O reference for your model:
On a JS320 attached to a target, wire VREF to the target’s logic supply and select it. The internal reference can back-power a target that is switched off.
You can:
- Read the digital inputs, or drive
gpo0andgpo1. Say what state the outputs should be left in. - Measure between edges on one input. Embedder waits for the start edge, 5 seconds by default, and fails if none arrives. It stops at the end edge or the maximum duration, 2 seconds by default. On a JS320, you can also use the BNC trigger input. Embedder detects edges by polling, and checks for the end edge about every 50 ms, so use this for longer state windows, not microsecond timing.
- Decode UART on a JS220. Two decoders can each read 8N1 serial data on
gpi0–gpi3while you measure power. JS110 and JS320 don’t support this.
Update JS320 firmware
When Embedder connects to a JS320 and newer firmware is available, it tells you. It updates the firmware only after you confirm.- Stop any stream or measurement that uses the JS320. Leave the USB cable plugged in.
- Ask Embedder to update the JS320 firmware. Embedder runs the update on its own, separate from any measurement.
- Approve the update. It takes about 10 seconds, and the device briefly disconnects and reconnects.
- Reconnect and check the reported firmware version.
Configure a live stream
- Open a Power tab for the Joulescope. The Setup panel is open until you start streaming; select Setup to show or hide it.
- If the tab isn’t bound to a device, choose Joulescope under Instrument.
- Choose the Sample rate and ranges.
- Select DUT power off to open the current path. The button changes to DUT power on.
- Select Start.
The defaults are 2 Hz, auto current range, and 15V.
Sample rate counts statistics windows per second, not raw samples. Each live point is one window with mean, minimum, and maximum values. If the instrument applies a different rate, the chart readout marks it actual.
Charge and energy start from zero for each stream.
The live view connects to the only attached Joulescope. With more than one attached, it reports that multiple Joulescopes were found. Unplug the others, or ask Embedder to measure with the serial number of the one you want.
See live power controls for pausing, recording, and stopping the stream.
Use the Joulescope in a hardware script
In a hardware script, use these helpers. Current is in amps, voltage in volts, and power in watts.
Use
joulescope_measure() on its own, or the streaming helpers on their own. Embedder checks the script before it runs. It flags range values that don’t exist, one-shot captures longer than 60 seconds, and a firmware update mixed with other helpers. There are no helpers to set a supply voltage, because a Joulescope can’t supply one.
Troubleshoot
- “No Joulescope detected via USB”: check the USB cable and port, then select Rescan in the device bar.
- Joulescope not found on Linux: install Jetperch’s
99-joulescope.rulesudev file in/etc/udev/rules.d/, runsudo udevadm control --reload-rules, and replug. An older rules file can let a JS220 work while a JS320 stays invisible. - Multiple Joulescopes found: give Embedder the serial number of the unit to use.
- Current reads zero: check the current path, the external supply, and DUT power. On a JS320, check for a tripped fuse. Fix the overcurrent cause, then ask Embedder to clear the fuse.
- Voltage is wrong: check the voltage-sense wiring, the
V+toI+tie, and the voltage range. - Range or sample rate rejected: use a setting the connected model supports.
- JS320 connect is slow after an interrupted session: Embedder resets the device automatically, which can take several seconds. If it reports that recovery failed, unplug and replug the JS320.
- JS320 unavailable: complete the Python environment upgrade, or update the firmware.
- Long capture fails: use statistics, streaming, or a JLS recording instead of a one-shot capture.
- Digital marker missing: check the pin, ground, I/O reference, and how long the signal holds its state.