Skip to content

Hewlett-Packard 3458A

Hewlett-Packard

3458A

8.5-digit high-performance digital multimeter

multimeter Proprietary
HP/Agilent 3458A 8.5-digit digital multimeter front panel
eBay listing photo
Default Address 22
Termination LF
IEEE 488.2 Yes
IDN Patterns
HEWLETT-PACKARD,3458A,*,*AGILENT TECHNOLOGIES,3458A,*,*

The 3458A is widely regarded as the highest-performance bench multimeter ever produced. First introduced in 1989, it remains in production. It does NOT use SCPI — all commands (except IEEE 488.2 common commands) use HP-proprietary short mnemonics. The command parser accepts abbreviated forms (e.g., DCV, OHM, NPLC) rather than SCPI tree-structured syntax. Two ADCs are available: an integrating multi-slope ADC (for high-resolution measurements up to 8.5 digits) and a fast sigma-delta ADC (for digitizing up to 100 kSa/s). Auto-calibration uses built-in 7V and 10k ohm references.

Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
Power OnRQSESBMAVAuxiliary ErrorErrorUnusedData Ready
Power-on SRQ occurredRequesting serviceEvent status byte summary bitMessage available in output bufferAuxiliary error (calibration, self-test, memory)Syntax error or hardware error detectedNot usedA reading is available in output buffer

Use *STB? or serial poll to read. The 3458A data-ready bit (0) is critical for high-speed reading workflows. Use *SRE to configure which bits generate SRQ.

Standard IEEE 488.2 commands — the only SCPI-like syntax this instrument uses

Command Type Description
*IDN? query Identification query — returns manufacturer, model, serial, firmware
Details
Returns (string) — Comma-separated identification
Example: HEWLETT-PACKARD,3458A,0,8+9
*RST command Reset to power-on state (same as RESET)
*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, nonzero for failure code
Details
Returns (numeric)
Example: 0
Note: Takes several seconds to complete. Resets instrument state.
*TRG command IEEE 488.2 group execute trigger (same as GET)

Select the measurement function. These are short mnemonics, not SCPI. Each command optionally accepts a range parameter.

Command Type Description
DCV [{range}] command Select DC voltage function
Details
Parameters
  • range (numeric, optional) — Range in volts: 0.1, 1, 10, 100, 1000 or AUTO Default: AUTO
Example DCV 10
ACV [{range}] command Select AC voltage function (RMS, AC-coupled)
Details
Parameters
  • range (numeric, optional) — Range in volts: 0.01, 0.1, 1, 10, 100, 700 or AUTO Default: AUTO
Example ACV 10
ACDCV [{range}] command Select AC+DC voltage function (true RMS, DC-coupled)
Details
Parameters
  • range (numeric, optional) — Range in volts or AUTO Default: AUTO
Example ACDCV 10
OHM [{range}] command Select 2-wire resistance function
Details
Parameters
  • range (numeric, optional) — Range in ohms: 10, 100, 1E3, 10E3, 100E3, 1E6, 10E6, 100E6, 1E9 or AUTO Default: AUTO
Example OHM 1E3
OHMF [{range}] command Select 4-wire resistance function
Details
Parameters
  • range (numeric, optional) — Range in ohms or AUTO Default: AUTO
Example OHMF 1E3
DCI [{range}] command Select DC current function
Details
Parameters
  • range (numeric, optional) — Range in amps: 100E-9 to 1 or AUTO Default: AUTO
Example DCI 0.1
ACI [{range}] command Select AC current function (RMS, AC-coupled)
Details
Parameters
  • range (numeric, optional) — Range in amps or AUTO Default: AUTO
Example ACI 0.1
ACDCI [{range}] command Select AC+DC current function (true RMS, DC-coupled)
Details
Parameters
  • range (numeric, optional) — Range in amps or AUTO Default: AUTO
Example ACDCI 0.1
FREQ [{range}] command Select frequency measurement function
Details
Parameters
  • range (numeric, optional) — Expected input voltage amplitude for gate sensitivity Default: AUTO
Example FREQ
PER [{range}] command Select period measurement function
Details
Parameters
  • range (numeric, optional) — Expected input voltage amplitude for gate sensitivity Default: AUTO
Example PER

Direct-sampling and sub-sampling digitizing modes. These select the function and prepare the 3458A as a high-speed digitizer.

Command Type Description
DSDC [{range}] command Direct-sampling DC-coupled digitizing — up to 100,000 readings/sec
Details
Parameters
  • range (numeric, optional) — Range in volts: 0.1, 1, 10, 100, 1000 or AUTO Default: AUTO
Example DSDC 10
DSAC [{range}] command Direct-sampling AC-coupled digitizing — up to 100,000 readings/sec
Details
Parameters
  • range (numeric, optional) — Range in volts or AUTO Default: AUTO
Example DSAC 10
SSDC [{range}] command Sub-sampling DC-coupled digitizing — equivalent-time sampling up to 20 MHz bandwidth
Details
Parameters
  • range (numeric, optional) — Range in volts or AUTO Default: AUTO
Example SSDC 10
SSAC [{range}] command Sub-sampling AC-coupled digitizing — equivalent-time sampling up to 20 MHz bandwidth
Details
Parameters
  • range (numeric, optional) — Range in volts or AUTO Default: AUTO
Example SSAC 10
SWEEP {interval},{count} command Configure digitizing sweep — sets sample interval and number of samples
Details
Parameters
  • interval (numeric) — Sample interval in seconds (minimum 10E-6 for direct-sampling)
  • count (numeric) — Number of samples to capture
Example SWEEP 10E-6,1000
Note: Equivalent to setting TIMER and NRDGS together. Overrides TIMER and NRDGS settings.
ISCALE {state} command Enable/disable input scaling for digitizing — applies gain and offset correction
Details
Parameters
  • state (enum) Values: ON, OFF

Configure measurement range, resolution, integration time, and autozero. These work with the currently selected function.

Command Type Description
RANGE {value} command Set measurement range for current function
Details
Parameters
  • value (numeric) — Range value in function units, or AUTO for autorange
Example RANGE 10
RANGE? query Query current range setting
Details
Returns (numeric)
Example: +1.00000000E+01
ARANGE {state} command Enable or disable autoranging
Details
Parameters
  • state (enum) Values: ON, OFF
Example ARANGE ON
ARANGE? query Query autorange state
Details
Returns (string)
Example: 1
NPLC {value} command Set integration time in power line cycles — primary resolution control
Details
Parameters
  • value (numeric) — 0 to 1000. Key values: 0 (DSDC/SSDC modes), 1 (5.5 digits), 10 (6.5 digits), 100 (7.5 digits), 1000 (8+ digits)
Example NPLC 100
Note: NPLC 100 at 60Hz = 1.67 sec integration. Higher NPLC improves noise rejection but slows measurement. NPLC 0 selects the fast ADC (digitizing modes).
NPLC? query Query current NPLC setting
Details
Returns (numeric)
Example: +1.00000000E+02
APER {seconds} command Set integration aperture time directly in seconds
Details
Parameters
  • seconds (numeric) — Aperture time in seconds — 500E-9 to 1.0
Example APER 0.1
Note: Overrides NPLC. Provides exact integration time independent of line frequency.
APER? query Query current aperture time
Details
Returns (numeric)
Example: +1.00000000E-01
NDIG {digits} command Set display resolution in number of digits — controls NPLC indirectly
Details
Parameters
  • digits (numeric) — 3 to 9 (integer)
Example NDIG 8
Note: Sets NPLC to achieve the requested number of digits. NDIG 4=NPLC 0.02, NDIG 6=NPLC 10, NDIG 8=NPLC 512 approx.
NDIG? query Query current digit resolution setting
Details
Returns (numeric)
Example: 8
AZERO {state} command Enable/disable autozero — reduces thermal drift but halves measurement speed
Details
Parameters
  • state (enum) Values: ON, OFF, ONCE
Note: ONCE performs a single autozero then disables. OFF doubles reading rate. ON is the default.
AZERO? query Query autozero state
Details
Returns (string)
Example: 1
LFILTER {state} command Enable/disable analog low-pass filter (for AC rejection in DC measurements)
Details
Parameters
  • state (enum) Values: ON, OFF
LFILTER? query Query analog filter state
Details
Returns (string)
Example: 0
FIXEDZ {state} command Enable fixed input impedance (10M ohm on all DCV ranges). When OFF, low ranges use >10G ohm input.
Details
Parameters
  • state (enum) Values: ON, OFF
Note: ON forces 10M input on all ranges. OFF (default) uses high-impedance input on 100mV and 1V ranges.
FIXEDZ? query Query fixed input impedance state
Details
Returns (string)
Example: 0

Three-level trigger model: trigger arm (TARM) -> trigger (TRIG) -> sample. Each level has its own event source.

Command Type Description
TARM {event} command Set trigger arm event — the first level of the trigger model
Details
Parameters
  • event (enum) — AUTO=continuous, HOLD=wait for TARM SGL, SGL=one arm cycle then hold, SYN=synchronous with controller, EXT=external TTL trigger Values: AUTO, HOLD, SGL, SYN, EXT
Example TARM SGL
TARM? query Query trigger arm event source
Details
Returns (string)
Example: 1
TRIG {event} command Set trigger event — the second level of the trigger model
Details
Parameters
  • event (enum) — AUTO=immediate after arm, SGL=single trigger then hold, HOLD=wait for TRIG SGL, EXT=external input, LEVEL=analog level trigger, LINE=power line sync Values: AUTO, SGL, HOLD, EXT, LEVEL, LINE
Example TRIG AUTO
TRIG? query Query trigger event source
Details
Returns (string)
Example: 1
NRDGS {count},{event} command Set number of readings per trigger and the sample event
Details
Parameters
  • count (numeric) — Number of readings (1 to 16,777,215)
  • event (enum) — Event between samples: AUTO=immediate, EXT=external, TIMER=use TIMER interval, LEVEL=analog level, LINE=line sync Values: AUTO, EXT, TIMER, LEVEL, LINE
Example NRDGS 100,TIMER
NRDGS? query Query number of readings setting
Details
Returns (string)
Example: 1,1
TIMER {seconds} command Set timer interval between readings when NRDGS uses TIMER event
Details
Parameters
  • seconds (numeric) — Interval in seconds (10E-6 to 100000)
Example TIMER 0.001
TIMER? query Query timer interval
Details
Returns (numeric)
Example: +1.00000000E-03
DELAY {seconds} command Set delay between trigger event and first reading
Details
Parameters
  • seconds (numeric) — Delay in seconds (-1 for auto, 0 to 100000)
Example DELAY 0.01
Note: DELAY -1 selects automatic delay (recommended for autorange). DELAY 0 for fastest response.
DELAY? query Query trigger delay
Details
Returns (numeric)
Example: +0.00000000E+00
LEVEL {voltage},{slope} command Set analog level trigger parameters (used when TRIG LEVEL or NRDGS event LEVEL)
Details
Parameters
  • voltage (numeric) — Trigger level in volts
  • slope (enum) — Trigger on positive or negative slope Values: POS, NEG
Example LEVEL 0.5,POS

Built-in math processing on readings. Multiple math operations can be chained.

Command Type Description
MATH {operation} command Enable a math operation on readings
Details
Parameters
  • operation (enum) — NULL=offset subtraction, SCALE=gain+offset, PERC=percentage deviation, FILTER=digital averaging, STAT=statistics accumulation, OFF=disable all math Values: NULL, SCALE, PERC, FILTER, STAT, OFF
Example MATH STAT
MATH? query Query active math operations
Details
Returns (string)
Example: 0
MMATH {operation} command Enable multiple math operations simultaneously (additive to current state)
Details
Parameters
  • operation (enum) — Operation to add to active math chain Values: NULL, SCALE, PERC, FILTER, STAT, OFF
Example MMATH FILTER
NULL [{value}] command Store null (offset) value — if no parameter, uses the last reading
Details
Parameters
  • value (numeric, optional) — Offset value in current function units
Example NULL
Note: Automatically enables MATH NULL. Send with no parameter to null the current reading.
NULL? query Query stored null value
Details
Returns (numeric)
Example: +0.00000000E+00
SCALE {gain},{offset} command Set scale factors — result = (reading * gain) + offset
Details
Parameters
  • gain (numeric) — Multiplicative gain factor
  • offset (numeric) — Additive offset
Example SCALE 1000,0
SCALE? query Query scale factors
Details
Returns (string)
Example: +1.00000000E+03,+0.00000000E+00
PERC {reference} command Set percentage reference value — result = ((reading - ref) / ref) * 100
Details
Parameters
  • reference (numeric) — Reference value for percentage calculation
Example PERC 10.0
PERC? query Query percentage reference value
Details
Returns (numeric)
Example: +1.00000000E+01
SMATH? query Query statistics — returns count, mean, variance, and standard deviation
Details
Returns (string) — Count, mean, variance, standard deviation
Example: 100,+1.23456789E+00,+1.23456789E-12,+1.11111111E-06
Note: Only valid when MATH STAT or MMATH STAT is active.
RMATH command Reset statistics accumulators to zero

Reading memory buffer and output format control. The 3458A can store up to ~16,000 readings in internal memory.

Command Type Description
MEM {mode} command Set memory mode for reading storage
Details
Parameters
  • mode (enum) — LIFO=last-in-first-out, FIFO=first-in-first-out, OFF=direct output (no buffering) Values: LIFO, FIFO, OFF
Example MEM FIFO
Note: MEM FIFO is required for digitizing workflows. Readings are stored in memory and retrieved with RMEM.
MEM? query Query memory mode
Details
Returns (string)
Example: 2
RMEM {start},{count} command Recall readings from memory buffer
Details
Parameters
  • start (numeric) — Starting reading number (1-based)
  • count (numeric) — Number of readings to retrieve
Example RMEM 1,1000
Note: Readings are returned in the current OFORMAT. Use after capture with MEM FIFO.
MCOUNT? query Query number of readings stored in memory
Details
Returns (numeric)
Example: 1000
MSIZE? query Query memory size (maximum number of readings that can be stored)
Details
Returns (numeric)
Example: 16384
OFORMAT {format} command Set output format for readings
Details
Parameters
  • format (enum) — ASCII=human-readable text, SINT=16-bit integer, DINT=32-bit integer, SREAL=IEEE 754 single, DREAL=IEEE 754 double Values: ASCII, SINT, DINT, SREAL, DREAL
Example OFORMAT ASCII
Note: Binary formats (SINT, DINT, SREAL, DREAL) are much faster for bulk transfer but require binary parsing on the controller.
OFORMAT? query Query output format
Details
Returns (string)
Example: 1
END {mode} command Control when EOI is asserted on output
Details
Parameters
  • mode (enum) — ON=EOI with last byte of response, OFF=never assert EOI, ALWAYS=EOI on every response byte Values: ON, OFF, ALWAYS
Example END ON
END? query Query EOI mode
Details
Returns (string)
Example: 1

Status register, error reporting, and service request configuration. The 3458A uses a proprietary status model alongside IEEE 488.2 registers.

Command Type Description
STB? query Read status byte (same as serial poll but does not clear RQS)
Details
Returns (numeric) — Status byte value 0-255
Example: 0
ERR? query Read and clear the error register
Details
Returns (numeric) — Error code — 0 means no error
Example: 0
Note: Nonzero indicates an error condition. See manual for error code definitions.
AUXERR? query Read auxiliary error register (provides detail on calibration and hardware errors)
Details
Returns (numeric)
Example: 0
ERRSTR? query Read error string for the most recent error
Details
Returns (string)
Example: 0,NO ERROR

System control, display, identification, and housekeeping commands

Command Type Description
PRESET command Set instrument to a known, fast-measurement state (different from *RST — PRESET selects DCV AUTO, NPLC 10, TARM AUTO, TRIG AUTO)
Details
Note: PRESET is the preferred way to initialize the 3458A for measurement. Unlike *RST, PRESET selects reasonable defaults for remote operation.
RESET command Full reset to power-on defaults (equivalent to *RST)
INBUF {state} command Enable/disable input buffer — when ON, commands are queued and executed sequentially
Details
Parameters
  • state (enum) Values: ON, OFF
Note: INBUF ON is recommended for GPIB operation. It allows the controller to send commands without waiting for each to complete.
INBUF? query Query input buffer state
Details
Returns (string)
Example: 1
ID? query Query instrument identification string (HP-proprietary, shorter than *IDN?)
Details
Returns (string)
Example: HP3458A
REV? query Query firmware revision numbers
Details
Returns (string) — Main CPU and I/O processor revision
Example: 8,9
OPT? query Query installed hardware options
Details
Returns (string)
Example: 0
LINE? query Query detected power line frequency
Details
Returns (numeric) — Line frequency in Hz
Example: +6.00000000E+01
Note: Returns 50 or 60. Affects NPLC timing. Measured at power-on.
TEMP? query Query internal temperature of the instrument
Details
Returns (numeric) — Temperature in degrees Celsius
Example: +3.50000000E+01
DISP {state} command Control front panel display
Details
Parameters
  • state (enum) — ON=enable display, OFF=disable (improves speed), CLR=clear custom message Values: ON, OFF, CLR
Note: Disabling the display improves measurement throughput.
DISP {state},"{message}" command Display a custom message on the front panel
Details
Parameters
  • state (enum) Values: MSG
  • message (string) — Message text (up to 16 characters)
Example DISP MSG,"CALIBRATING"
BEEP command Sound the front panel beeper
LOCK {state} command Lock/unlock front panel controls
Details
Parameters
  • state (enum) Values: ON, OFF
Note: LOCK ON prevents local operation from the front panel.
EMASK {mask} command Set error mask — controls which errors set the error bit in the status byte
Details
Parameters
  • mask (numeric) — Bitmask for error types
EMASK? query Query error mask
Details
Returns (numeric)
Example: 0

Self-calibration commands. ACAL runs internal auto-calibration routines using built-in references. Full calibration (CAL) requires external standards.

Command Type Description
ACAL {type} command Run auto-calibration — uses internal DC and resistance references
Details
Parameters
  • type (enum) — DCV=DC voltage only, ALL=full auto-cal, AC=AC flatness, OHMS=resistance Values: DCV, ALL, AC, OHMS
Example ACAL ALL
Note: ACAL ALL takes several minutes. Allow 2-hour warm-up before running for best results. Disconnect all inputs first.
ACAL? query Query auto-calibration status
Details
Returns (string) — Calibration state information
CAL {value} command Enter a calibration reference value during a full calibration sequence
Details
Parameters
  • value (numeric) — Known reference value for calibration step
Note: Full calibration requires external standards and should only be performed by qualified metrology personnel.
CALNUM? query Query total number of calibrations performed on this unit
Details
Returns (numeric)
Example: 42

The 3458A supports stored subprograms (macros) in non-volatile memory that can execute command sequences.

Command Type Description
SUB {number} command Begin recording a subprogram
Details
Parameters
  • number (numeric) — Subprogram slot number (1 to 4)
Example SUB 1
SUBEND command End recording a subprogram
CALL {number} command Execute a stored subprogram
Details
Parameters
  • number (numeric) — Subprogram slot number (1 to 4)
Example CALL 1
DELSUB {number} command Delete a stored subprogram
Details
Parameters
  • number (numeric) — Subprogram slot number (1 to 4)

Take a single DC voltage measurement at maximum resolution (8.5 digits) with full noise rejection

1

Initialize to known state

PRESET
2

Select DC voltage function with 10V range

DCV 10
3

Set integration to 100 NPLC for ~7.5 digit resolution

NPLC 100
4

Enable autozero for best accuracy

AZERO ON
5

Set trigger to single measurement

TARM HOLD
6

Arm a single trigger cycle

TARM SGL
7

Read the measurement result

Manual step
Expected: +X.XXXXXXXXE+XX

Capture 1000 DC-coupled samples at 100 kSa/s using the direct-sampling ADC

1

Initialize to known state

PRESET
2

Select direct-sampling DC mode, 10V range

DSDC 10
3

Configure sweep: 10us interval, 1000 samples

SWEEP 10E-6,1000
4

Enable FIFO memory for burst capture

MEM FIFO
5

Arm a single sweep

TARM SGL
6

Wait for sweep to complete (100ms for 1000 samples at 10us)

Manual step
Poll status byte bit 0 or use SRQ
7

Read all captured samples from memory

RMEM 1,1000

Take continuous DC voltage readings and accumulate statistics (min, max, mean, std dev)

1

Initialize to known state

PRESET
2

Select DC voltage, autorange

DCV AUTO
3

Set moderate integration

NPLC 10
4

Enable statistics math

MATH STAT
5

Clear previous statistics

RMATH
6

Set continuous triggering

TARM AUTO
7

Let readings accumulate, then query statistics

SMATH?
Expected: count,mean,variance,std_dev

Measure 4-wire resistance with lead compensation using null offset

1

Initialize to known state

PRESET
2

Select 4-wire resistance, autorange

OHMF AUTO
3

Set high resolution

NPLC 100
4

Enable autozero

AZERO ON
5

Short the test leads and take a reading

TARM SGL
Record this value as the lead resistance
6

Null the lead resistance (uses last reading)

NULL
7

Connect DUT and measure

TARM SGL
Expected: Compensated resistance value

Measure AC voltage with appropriate settling time for accurate RMS

1

Initialize to known state

PRESET
2

Select AC voltage, 10V range

ACV 10
3

Set trigger delay for RMS settling

DELAY 1
4

Single trigger and read

TARM SGL
Expected: +X.XXXXXXXXE+XX
5

For signals below 100 Hz, increase delay

Manual step
Low-frequency AC requires longer settling. Use DELAY 3 for signals near 10 Hz.