Control any GPIB Interfaced Device via USB with Linux

As part of an ongoing project to allow an Agilent/HP 4192A low frequency impedance analyzer to communicate with a modern netbook or PC via USB, I designed a generic interface class that allows any application designer to control his or her old instruments, such as DMMs, SPAs, and so on, using a ProLogix GPIB controller and some simple Linux software I wrote.

I’m designing the GUI with QT, and am working on creating a generic application that can interface with several different HP/Agilent instruments. I may consider re-writing it and releasing it as open source software, dependning on interest in the project. So far it has a customized GUI for each instrument that it supports. At this point, it supports automatic data acquisition from an HP 4155C semiconductor parameter analyzer (SPA) and the 4192A impedance analyzer I’ve been working with.

In the case of the impedance analyzer, not only is data acquisiton supported, but so are automated frequency sweeps on [5Hz, 13MHz] and current-voltage sweeps. Thanks to the features of Qwt, it rapidly generates plots, and even has a “live monitor” feature, which shows the transient response of a dielectric under study using an ECG-style plotting feature. If I get a chance to work with more instruments of these sorts, I will definitely consider designing a toolkit or application suite for these devices.

Frequency sweep example

Frequency sweep example

"Live monitor" plotting

"Live monitor" plotting