SMU — Source Measure Unit¶
Auto-generated reference
For the definitive command list extracted directly from source code, see REPL Command Reference.
Controls source measure units (SMUs) that can both source a precise voltage and simultaneously measure current (or vice versa).
- Multiple SMUs are named
smu1,smu2, etc. - Address a specific SMU directly:
smu1 set 5.0— or useuse smu1thensmu set 5.0
±60 V / 3 A four-quadrant SMU (20 W source, 12 W sink). Uses the nidcpower Python package (not VISA/SCPI). Install with: pip install nidcpower. Output range: −60 V to +60 V, −3 A to +3 A DC (10 A pulse).
PXIe boot order
The PXIe chassis must be powered on before the host PC boots. PXIe devices are enumerated during BIOS/POST — if the chassis powers on after the PC, the instrument will not appear in scan or list. Power cycle the PC with the chassis already on to fix this. See Troubleshooting for details.
smu on / smu off¶
Enable or disable the SMU output.
Safety limits set with upper_limit / lower_limit are enforced before enabling.
smu set¶
Set output voltage and optional current limit.
| Parameter | Required | Values | Description |
|---|---|---|---|
voltage |
required | −60.0 – 60.0 (V) | Target output voltage. |
current_limit |
optional | 0.0 – 3.0 (A) | Current compliance limit (always positive). If omitted, the existing limit is kept. |
smu set 5.0 # set 5 V, keep existing current limit
smu set 5.0 0.01 # set 5 V with 10 mA current limit
smu set -12.0 0.1 # negative voltage for four-quadrant operation
Warning
Setting a voltage without a current limit uses whatever limit was set previously (default: 10 mA). Always specify the limit when powering an unknown DUT. DC source power is capped at 20 W and sink power at 12 W by the hardware.
How to sink current
Use smu set_mode current instead of smu set. In current mode, the SMU acts as a programmable electronic load — positive current = sink from DUT, negative current = source into DUT. See smu set_mode below.
smu meas¶
Take a single measurement and print the result.
| Mode | Alias | Description |
|---|---|---|
(no arg) or vi |
both, all |
Atomic V+I+compliance read in one call (default) |
v |
volt, voltage |
Measure actual output voltage only |
i |
curr, current |
Measure actual output current only |
smu meas # prints e.g. V=5.000012V I=0.009987A
smu meas vi # same as above; appends [COMPLIANCE] if current-limited
smu meas v # prints e.g. 5.000012V
smu meas i # prints e.g. 0.009987A
Tip
smu meas / smu meas vi performs an atomic measurement that reads voltage, current, and compliance state in a single driver call — use this instead of separate v and i calls when you need a consistent snapshot.
smu set_mode¶
Switch the SMU between voltage-source and current-source modes.
| Parameter | Required | Values | Description |
|---|---|---|---|
voltage / current |
required | mode keyword | Select sourcing mode. Alias: v / i. |
| second arg | required | float | Setpoint in volts (voltage mode) or amps (current mode, −3.0 to 3.0). |
| third arg | optional | float | Compliance limit for the opposing quantity (always positive). |
smu set_mode voltage 3.3 0.1 # source 3.3 V with 100 mA current limit
smu set_mode current 0.010 3.0 # sink 10 mA from DUT (electronic load), 3 V compliance
smu set_mode current -0.5 5.0 # source 0.5 A into DUT, 5 V compliance
Current mode polarity
In current mode, positive current = sink (draw current from the DUT, acting as a load) and negative current = source (push current into the DUT). This is the standard four-quadrant SMU convention. Use positive values when the SMU is loading an LDO, regulator, or other voltage source.
Safety limits (upper_limit / lower_limit) are enforced before the mode switch is applied.
Recording measurements
Use assignment syntax to measure and store the result to the measurement log in one step:
| Parameter | Required | Values | Description |
|---|---|---|---|
label |
required | string, no spaces | Name for this entry in the log. |
v\|i |
required | v, i |
What to measure. |
unit= |
optional | string | Unit shown in log print. Defaults to V or A. |
See Log & Calc for full details.
smu compliance¶
Query whether the SMU is currently in compliance (i.e. the output is being current- or voltage-limited by the instrument's protection circuit).
Prints Not in compliance when the DUT is drawing within limits, or a warning banner IN COMPLIANCE - output is current-limited when the limit has been hit. Use smu meas vi to see the compliance flag alongside a measurement.
smu source_delay¶
Get or set the settling delay the SMU inserts between applying a new source value and taking a measurement.
smu source_delay # prints e.g. source_delay = 0.0020 s
smu source_delay 0.05 # set 50 ms settle time
smu source_delay 0 # disable delay
smu avg¶
Get or set the number of samples averaged per measurement.
smu avg # prints e.g. samples_to_average = 1
smu avg 10 # average 10 readings per measurement call
smu avg 1 # back to single-sample mode
Higher values reduce noise but increase measurement time proportionally.
smu temp¶
Read the internal temperature sensor of the instrument.
Prints the temperature in degrees Celsius, e.g. 34.5 degrees C. Useful for confirming the unit has warmed up to a stable operating temperature before precision measurements. Expected range for a powered-on PXIe-4139 is approximately 20 – 60 °C.
smu get¶
Show the current voltage setpoint, current limit, and output state.
Prints: Setpoint: <V>V @ <A>A, Output: ON|OFF
smu state¶
| Value | Effect |
|---|---|
on |
Enable output |
off |
Disable output |
safe |
Disable output |
reset |
Disconnect and re-initialize the session |
Safety limits¶
upper_limit and lower_limit work with SMUs using the same voltage and current parameters as PSUs:
upper_limit smu voltage 5.5 # SMU output ≤ 5.5 V
upper_limit smu current 0.1 # current limit ≤ 100 mA
lower_limit smu voltage -0.3 # SMU output ≥ −0.3 V
See Safety Limits for the full reference.