An unofficial Pythonic interface for HP3458A DMM using pyvisa
Project description
HP3458A Python Library (Unofficial)
A Pythonic interface for controlling the Keysight / HP 3458A 8½-Digit Digital Multimeter using pyvisa.
📜 Licensing & Attribution
This project is licensed under the MIT License.
Important: If you use this library, you must keep the original copyright notice. If you modify it, please attribute the original work to Đorđe Novaković.
Note: For commercial support or custom features, please contact the author.
⚠️ Safety Warning
The HP 3458A is a high-precision instrument capable of measuring high voltages (up to 1000V). This software is unofficial and interacts directly with the instrument hardware. Incorrect configurations or automation loops could potentially lead to unexpected behavior in a test environment. Use at your own risk. Always ensure your test setup is safe and your inputs do not exceed the instrument's maximum ratings before enabling automation.
🚀 Overview
The HP 3458A is the industry standard for high-precision metrology, but its native command set can be complex to automate. This library wraps those commands into a clean, Pythonic API, making it easy to configure NPLC, sub-ppm ranges, and data streaming without having to parse the 500-page manual for every script.
Installation
pip install hp3458a
Quick start
from hp3458a import HP3458A
dmm = HP3458A("GPIB0::22::INSTR")
hp3458a.set_trigger_arm('HOLD')
hp3458a.set_voltage_dc_rang_res(10, 1E-6)
hp3458a.set_number_of_digits(8)
hp3458a.set_nplc(NPLC)
hp3458a.set_number_of_reading_per_trigger(1, 'AUTO')
hp3458a.set_trigger_event('AUTO')
hp3458a.set_memory_storage_mode('FIFO')
hp3458a.set_fixedz('OFF')
hp3458a.set_realtime_math('OFF')
hp3458a.set_trigger_arm('SGL',1)
hp3458a_data = hp3458a.read_memory(1,1,1).strip().split(',')
hp3458a_data.reverse()
hp3458a_data = [float(x) for x in hp3458a_data]
Requirements
- Python 3.8+
- pyvisa-py
- A valid VISA backend (pyvisa-py, NI-VISA, or Keysight IO Libraries)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hp3458a-0.1.1.tar.gz.
File metadata
- Download URL: hp3458a-0.1.1.tar.gz
- Upload date:
- Size: 41.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c4b32ee374fc4b7c61da653cdbbd11ab408fe5756293ddee7fcb5f7217b5652
|
|
| MD5 |
1f91b80c24eb7a0fb580525bb70fd570
|
|
| BLAKE2b-256 |
ef4fa9746333d65916e2f8f27cd4adf710e109147c0af008b34e8341abef9ed9
|
File details
Details for the file hp3458a-0.1.1-py3-none-any.whl.
File metadata
- Download URL: hp3458a-0.1.1-py3-none-any.whl
- Upload date:
- Size: 40.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
925898c162b05007841651eb4f6272c53cf1e8d8083f3a31b7f52302d213123e
|
|
| MD5 |
40e7f420d0e3bba01e3ad7840c13cb58
|
|
| BLAKE2b-256 |
f71bcc3cb3b4cd491cb3c8f977d1c7978597443ea1762702a6374ee68fdbb0b0
|