Skip to content

Hewlett-Packard 34401A

Hewlett-Packard

34401A

6.5-digit digital multimeter

multimeter SCPI
HP 34401A 6.5-digit digital multimeter front panel
Afandrf, CC BY-SA 4.0, via Wikimedia Commons
Default Address 22
Termination LF
IEEE 488.2 Yes
IDN Patterns
HEWLETT-PACKARD,34401A,*,*AGILENT TECHNOLOGIES,34401A,*,*Agilent Technologies,34401A,*,*

The 34401A was one of the most widely deployed bench multimeters in history. Produced from 1991 to 2014, superseded by the 34461A (Truevolt series). Many are still in active lab use. GPIB interface is standard on all units.

Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
Operation CompleteRQS/MSSESBMAVQuestionable DataError QueueUnusedUnused
Operation summary bitRequesting service / Master summary statusEvent status byte summary bitMessage available in output bufferQuestionable data summary bitOne or more errors in error queueNot usedNot used

Use *STB? to read status byte, *SRE to set service request enable register

Standard IEEE 488.2 commands supported by all compliant instruments

Command Type Description
*IDN? query Identification query — returns manufacturer, model, serial, firmware
Details
Returns (string) — Comma-separated identification
Example: HEWLETT-PACKARD,34401A,MY47000001,10-5-2
*RST command Reset to factory default state
*CLS command Clear status registers and error queue
*ESE {mask} command Set event status enable register
Details
Parameters
  • mask (numeric) — Bitmask 0-255
*ESE? query Query event status enable register
Details
Returns (numeric)
Example: 0
*ESR? query Read and clear event status register
Details
Returns (numeric)
Example: 0
*OPC command Set operation complete bit in ESR when all pending operations finish
*OPC? query Returns 1 when all pending operations complete
Details
Returns (numeric)
Example: 1
*SRE {mask} command Set service request enable register
Details
Parameters
  • mask (numeric) — Bitmask 0-255
*SRE? query Query service request enable register
Details
Returns (numeric)
Example: 0
*STB? query Read status byte register
Details
Returns (numeric) — Status byte value
Example: 0
*TST? query Self-test; returns 0 for pass, 1 for fail
Details
Returns (numeric)
Example: 0
Note: Takes several seconds to complete
*TRG command Trigger measurement from bus (requires trigger source BUS)

Configure measurement function, range, and resolution

Command Type Description
CONF:VOLT:DC [{range}[,{resolution}]] command Configure for DC voltage measurement
Details
Parameters
  • range (numeric, optional) — Range in volts (0.1, 1, 10, 100, 1000) or MIN|MAX|DEF Default: DEF
  • resolution (numeric, optional) — Resolution in volts or MIN|MAX|DEF Default: DEF
Example CONF:VOLT:DC 10,0.001
CONF:VOLT:AC [{range}[,{resolution}]] command Configure for AC voltage measurement
Details
Parameters
  • range (numeric, optional) — Range in volts (0.1, 1, 10, 100, 750) or MIN|MAX|DEF
  • resolution (numeric, optional) — Resolution or MIN|MAX|DEF
CONF:CURR:DC [{range}[,{resolution}]] command Configure for DC current measurement
Details
Parameters
  • range (numeric, optional) — Range in amps (0.01, 0.1, 1, 3) or MIN|MAX|DEF
  • resolution (numeric, optional)
CONF:CURR:AC [{range}[,{resolution}]] command Configure for AC current measurement
Details
Parameters
  • range (numeric, optional)
  • resolution (numeric, optional)
CONF:RES [{range}[,{resolution}]] command Configure for 2-wire resistance measurement
Details
Parameters
  • range (numeric, optional) — Range in ohms (100 to 100e6) or MIN|MAX|DEF
  • resolution (numeric, optional)
CONF:FRES [{range}[,{resolution}]] command Configure for 4-wire resistance measurement
Details
Parameters
  • range (numeric, optional)
  • resolution (numeric, optional)
CONF:FREQ [{range}[,{resolution}]] command Configure for frequency measurement
Details
Parameters
  • range (numeric, optional) — Expected voltage amplitude for gate
  • resolution (numeric, optional)
CONF:PER [{range}[,{resolution}]] command Configure for period measurement
Details
Parameters
  • range (numeric, optional)
  • resolution (numeric, optional)
CONF:CONT command Configure for continuity test (threshold ~1000 ohm, beeper)
CONF:DIOD command Configure for diode test (1mA test current, reads voltage)
CONF? query Query current measurement configuration
Details
Returns (string)
Example: "VOLT +1.00000000E+01,+1.00000000E-06"

Trigger and read measurements

Command Type Description
MEAS:VOLT:DC? [{range}[,{resolution}]] query Configure, trigger, and return one DC voltage reading
Details
Parameters
  • range (numeric, optional)
  • resolution (numeric, optional)
Returns (numeric) — Voltage in volts
Example: +1.23456789E+00
Example MEAS:VOLT:DC? 10,0.001
MEAS:VOLT:AC? [{range}[,{resolution}]] query Configure, trigger, and return one AC voltage reading
Details
Returns (numeric)
Example: +1.20000000E+02
MEAS:CURR:DC? [{range}[,{resolution}]] query Configure, trigger, and return one DC current reading
Details
Returns (numeric)
Example: +5.00000000E-02
MEAS:CURR:AC? [{range}[,{resolution}]] query Configure, trigger, and return one AC current reading
Details
Returns (numeric)
Example: +1.00000000E-01
MEAS:RES? [{range}[,{resolution}]] query Configure, trigger, and return one 2-wire resistance reading
Details
Returns (numeric)
Example: +1.00000000E+03
MEAS:FRES? [{range}[,{resolution}]] query Configure, trigger, and return one 4-wire resistance reading
Details
Returns (numeric)
Example: +1.00000000E+03
MEAS:FREQ? [{range}[,{resolution}]] query Configure, trigger, and return one frequency reading
Details
Returns (numeric)
Example: +1.00000000E+03
MEAS:PER? [{range}[,{resolution}]] query Configure, trigger, and return one period reading
Details
Returns (numeric)
Example: +1.00000000E-03
READ? query Trigger and return one reading using current configuration
Details
Returns (numeric) — Measurement result in current function's units
Example: +1.23456789E+00
INIT command Initiate measurement and place in wait-for-trigger state
FETCH? query Return stored readings from internal memory (no new trigger)
Details
Returns (numeric) — Comma-separated readings
Example: +1.23456789E+00,+1.23456790E+00
R? [{max_count}] query Read and remove readings from memory; optionally limit count
Details
Parameters
  • max_count (numeric, optional) — Maximum readings to return
Returns (numeric)
Example: +1.23456789E+00

Trigger system configuration

Command Type Description
TRIG:SOUR {source} command Set trigger source
Details
Parameters
  • source (enum) — BUS=*TRG/GET, IMM=immediate, EXT=rear panel Values: BUS, IMM, EXT
TRIG:SOUR? query
Details
Returns (string)
Example: IMM
TRIG:DEL {seconds} command Set trigger delay
Details
Parameters
  • seconds (numeric) — Delay in seconds (0 to 3600) or MIN|MAX|DEF
TRIG:DEL? query
Details
Returns (numeric)
Example: +0.00000000E+00
TRIG:DEL:AUTO {state} command Enable/disable automatic trigger delay
Details
Parameters
  • state (enum) Values: ON, OFF
TRIG:COUN {count} command Set number of triggers to accept before returning to idle
Details
Parameters
  • count (numeric) — 1 to 50000, or MIN|MAX|INF
TRIG:COUN? query
Details
Returns (numeric)
Example: +1
SAMP:COUN {count} command Set number of readings per trigger
Details
Parameters
  • count (numeric) — 1 to 50000 or MIN|MAX
SAMP:COUN? query
Details
Returns (numeric)
Example: +1

Detailed configuration of measurement parameters

Command Type Description
VOLT:DC:RANG {range} command Set DC voltage range manually
Details
Parameters
  • range (numeric) — 0.1, 1, 10, 100, 1000 or MIN|MAX
VOLT:DC:RANG? query
Details
Returns (numeric)
Example: +1.00000000E+01
VOLT:DC:RANG:AUTO {state} command Enable/disable DC voltage autoranging
Details
Parameters
  • state (enum) Values: ON, OFF
VOLT:DC:NPLC {nplc} command Set integration time in power line cycles
Details
Parameters
  • nplc (numeric) — 0.02, 0.2, 1, 10, 100 or MIN|MAX Values: 0.02, 0.2, 1, 10, 100
Note: Higher NPLC = better resolution but slower. 100 NPLC = 6.5 digits.
VOLT:DC:NPLC? query
Details
Returns (numeric)
Example: +1.00000000E+01
VOLT:DC:RES {resolution} command Set DC voltage resolution directly
Details
Parameters
  • resolution (numeric)
INP:IMP:AUTO {state} command Enable/disable high-impedance (>10G ohm) input on 100mV and 1V ranges
Details
Parameters
  • state (enum) Values: ON, OFF
Note: When OFF, input impedance is 10M ohm on all ranges. When ON, >10G ohm on 100mV and 1V DC ranges.
INP:IMP:AUTO? query
Details
Returns (string)
Example: 0
VOLT:AC:BAND {bandwidth} command Set AC voltage bandwidth
Details
Parameters
  • bandwidth (numeric) — 3, 20, 200 Hz or MIN|MAX Values: 3, 20, 200
Note: Lower bandwidth = more accurate for low frequencies but slower settling
ZERO:AUTO {state} command Enable/disable autozero for DC measurements
Details
Parameters
  • state (enum) Values: ON, OFF, ONCE
Note: ONCE performs single zero then disables. OFF doubles measurement speed.

Built-in math and null offset functions

Command Type Description
CALC:FUNC {function} command Select math function
Details
Parameters
  • function (enum) — NULL=offset, DB=dB relative, DBM=dBm, AVER=statistics, LIM=limit test Values: NULL, DB, DBM, AVER, LIM
CALC:STAT {state} command Enable/disable selected math function
Details
Parameters
  • state (enum) Values: ON, OFF
CALC:NULL:OFFS {value} command Set null offset value
Details
Parameters
  • value (numeric) — Offset value in current measurement units
CALC:NULL:OFFS? query
Details
Returns (numeric)
Example: +0.00000000E+00
CALC:AVER:MIN? query Query minimum reading since statistics cleared
Details
Returns (numeric)
Example: +1.20000000E+00
CALC:AVER:MAX? query Query maximum reading since statistics cleared
Details
Returns (numeric)
Example: +1.30000000E+00
CALC:AVER:AVER? query Query average of all readings since statistics cleared
Details
Returns (numeric)
Example: +1.25000000E+00
CALC:AVER:COUN? query Query number of readings taken since statistics cleared
Details
Returns (numeric)
Example: +100
CALC:LIM:LOW {value} command Set lower limit for limit test
Details
Parameters
  • value (numeric)
CALC:LIM:UPP {value} command Set upper limit for limit test
Details
Parameters
  • value (numeric)
CALC:LIM:LOW? query
Details
Returns (numeric)
Example: +0.00000000E+00
CALC:LIM:UPP? query
Details
Returns (numeric)
Example: +0.00000000E+00

System configuration and queries

Command Type Description
SYST:ERR? query Read and remove one error from error queue
Details
Returns (string) — Error code and message
Example: +0,"No error"
SYST:VERS? query Query SCPI version
Details
Returns (string)
Example: 1994.0
DISP {state} command Turn front panel display on/off
Details
Parameters
  • state (enum) Values: ON, OFF
Note: Turning display off improves measurement speed by ~10%
DISP:TEXT "{message}" command Display custom text on front panel (up to 12 chars)
Details
Parameters
  • message (string) — Up to 12 characters
Example DISP:TEXT "TESTING"
DISP:TEXT:CLE command Clear custom display text and return to normal display
SYST:BEEP command Issue a single beep
SYST:BEEP:STAT {state} command Enable/disable beeper
Details
Parameters
  • state (enum) Values: ON, OFF
DATA:POIN? query Query number of readings stored in internal memory
Details
Returns (numeric)
Example: 0

Control the format of returned data

Command Type Description
FORM:DATA {format} command Set data transfer format
Details
Parameters
  • format (enum) — ASC=ASCII text, REAL=IEEE 754 binary Values: ASC, REAL,32, REAL,64
Note: REAL formats are faster for bulk data transfer but require binary parsing
FORM:DATA? query
Details
Returns (string)
Example: ASC

Take a single DC voltage measurement on the 10V range with 6.5-digit resolution

1

Reset to known state

*RST
2

Clear status registers

*CLS
3

Configure for DC voltage, 10V range, max resolution

CONF:VOLT:DC 10,MIN
4

Set 100 NPLC for maximum resolution

VOLT:DC:NPLC 100
5

Enable high-impedance input

INP:IMP:AUTO ON
6

Trigger and read one measurement

READ?
Expected: +X.XXXXXXXXE+XX

Capture 100 DC voltage readings at maximum speed

1

Reset to known state

*RST
2

Configure DC voltage, autorange

CONF:VOLT:DC
3

Set fastest integration (4.5 digits)

VOLT:DC:NPLC 0.02
4

Disable autozero for speed

ZERO:AUTO OFF
5

Turn off display for speed

DISP OFF
6

Set trigger count to 100

TRIG:COUN 100
7

Set immediate trigger

TRIG:SOUR IMM
8

Initiate measurement sequence

INIT
9

Wait for completion

*OPC?
Expected: 1
10

Fetch all readings

FETCH?
Expected: Comma-separated values
11

Re-enable display

DISP ON

Measure 4-wire resistance with lead-resistance null compensation

1

Reset to known state

*RST
2

Configure 4-wire resistance

CONF:FRES
3

Set high resolution

VOLT:DC:NPLC 10
4

Short test leads together, then null the reading

READ?
Record this value for the null offset
5

Enable null math function

CALC:FUNC NULL
6

Set null offset to the shorted reading

CALC:NULL:OFFS {shorted_reading}
7

Enable math

CALC:STAT ON
8

Connect DUT and measure

READ?
Expected: Resistance with lead compensation