{"id":82,"date":"2009-09-06T16:20:42","date_gmt":"2009-09-06T23:20:42","guid":{"rendered":"http:\/\/www.giassa.net\/?p=82"},"modified":"2009-09-07T09:09:56","modified_gmt":"2009-09-07T16:09:56","slug":"control-any-gpib-interfaced-device-via-usb-with-linux","status":"publish","type":"post","link":"https:\/\/www.giassa.net\/?p=82","title":{"rendered":"Control any GPIB Interfaced Device via USB with Linux"},"content":{"rendered":"<p>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.<\/p>\n<p>I&#8217;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&#8217;ve been working with.<\/p>\n<p>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 &#8220;live monitor&#8221; 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.<\/p>\n<div id=\"attachment_84\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.giassa.net\/wp-content\/uploads\/2009\/09\/image002.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-84\" class=\"size-medium wp-image-84\" title=\"image002\" src=\"https:\/\/www.giassa.net\/wp-content\/uploads\/2009\/09\/image002-300x242.png\" alt=\"Frequency sweep example\" width=\"300\" height=\"242\" srcset=\"https:\/\/www.giassa.net\/wp-content\/uploads\/2009\/09\/image002-300x242.png 300w, https:\/\/www.giassa.net\/wp-content\/uploads\/2009\/09\/image002.png 591w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-84\" class=\"wp-caption-text\">Frequency sweep example<\/p><\/div>\n<div id=\"attachment_83\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.giassa.net\/wp-content\/uploads\/2009\/09\/image001.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-83\" class=\"size-medium wp-image-83\" title=\"image001\" src=\"https:\/\/www.giassa.net\/wp-content\/uploads\/2009\/09\/image001-300x242.png\" alt=\"&quot;Live monitor&quot; plotting\" width=\"300\" height=\"242\" srcset=\"https:\/\/www.giassa.net\/wp-content\/uploads\/2009\/09\/image001-300x242.png 300w, https:\/\/www.giassa.net\/wp-content\/uploads\/2009\/09\/image001.png 589w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-83\" class=\"wp-caption-text\">&quot;Live monitor&quot; plotting<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>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 &hellip; <a href=\"https:\/\/www.giassa.net\/?p=82\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[14,13,12,15,16,11],"class_list":["post-82","post","type-post","status-publish","format-standard","hentry","category-general","tag-4155c","tag-4192a","tag-agilent","tag-daq","tag-data-acquisition","tag-hp"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"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\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Matthew\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.giassa.net\/?p=82\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"GIASSA.NET | Engineering, DIY, and Everything Else\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Control any GPIB Interfaced Device via USB with Linux | GIASSA.NET\" \/>\n\t\t<meta property=\"og:description\" content=\"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\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.giassa.net\/?p=82\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2009-09-06T23:20:42+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2009-09-07T16:09:56+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Control any GPIB Interfaced Device via USB with Linux | GIASSA.NET\" \/>\n\t\t<meta name=\"twitter:description\" content=\"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\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.giassa.net\\\/?p=82#article\",\"name\":\"Control any GPIB Interfaced Device via USB with Linux | GIASSA.NET\",\"headline\":\"Control any GPIB Interfaced Device via USB with Linux\",\"author\":{\"@id\":\"https:\\\/\\\/www.giassa.net\\\/?author=1#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.giassa.net\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.giassa.net\\\/wp-content\\\/uploads\\\/2009\\\/09\\\/image002.png\",\"@id\":\"https:\\\/\\\/www.giassa.net\\\/?p=82\\\/#articleImage\",\"width\":591,\"height\":477,\"caption\":\"Frequency sweep example\"},\"datePublished\":\"2009-09-06T16:20:42-07:00\",\"dateModified\":\"2009-09-07T09:09:56-07:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.giassa.net\\\/?p=82#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.giassa.net\\\/?p=82#webpage\"},\"articleSection\":\"general, 4155c, 4192a, agilent, daq, data acquisition, hp\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.giassa.net\\\/?p=82#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.giassa.net#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.giassa.net\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.giassa.net\\\/?cat=8#listItem\",\"name\":\"general\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.giassa.net\\\/?cat=8#listItem\",\"position\":2,\"name\":\"general\",\"item\":\"https:\\\/\\\/www.giassa.net\\\/?cat=8\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.giassa.net\\\/?p=82#listItem\",\"name\":\"Control any GPIB Interfaced Device via USB with Linux\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.giassa.net#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.giassa.net\\\/?p=82#listItem\",\"position\":3,\"name\":\"Control any GPIB Interfaced Device via USB with Linux\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.giassa.net\\\/?cat=8#listItem\",\"name\":\"general\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.giassa.net\\\/#organization\",\"name\":\"GIASSA.NET\",\"description\":\"Engineering, DIY, and Everything Else\",\"url\":\"https:\\\/\\\/www.giassa.net\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.giassa.net\\\/?author=1#author\",\"url\":\"https:\\\/\\\/www.giassa.net\\\/?author=1\",\"name\":\"Matthew\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.giassa.net\\\/?p=82#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/142becf34a0aa535d70e4cdfa6c2bc96?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Matthew\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.giassa.net\\\/?p=82#webpage\",\"url\":\"https:\\\/\\\/www.giassa.net\\\/?p=82\",\"name\":\"Control any GPIB Interfaced Device via USB with Linux | GIASSA.NET\",\"description\":\"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\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.giassa.net\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.giassa.net\\\/?p=82#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.giassa.net\\\/?author=1#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.giassa.net\\\/?author=1#author\"},\"datePublished\":\"2009-09-06T16:20:42-07:00\",\"dateModified\":\"2009-09-07T09:09:56-07:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.giassa.net\\\/#website\",\"url\":\"https:\\\/\\\/www.giassa.net\\\/\",\"name\":\"GIASSA.NET\",\"description\":\"Engineering, DIY, and Everything Else\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.giassa.net\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Control any GPIB Interfaced Device via USB with Linux | GIASSA.NET","description":"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","canonical_url":"https:\/\/www.giassa.net\/?p=82","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.giassa.net\/?p=82#article","name":"Control any GPIB Interfaced Device via USB with Linux | GIASSA.NET","headline":"Control any GPIB Interfaced Device via USB with Linux","author":{"@id":"https:\/\/www.giassa.net\/?author=1#author"},"publisher":{"@id":"https:\/\/www.giassa.net\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/www.giassa.net\/wp-content\/uploads\/2009\/09\/image002.png","@id":"https:\/\/www.giassa.net\/?p=82\/#articleImage","width":591,"height":477,"caption":"Frequency sweep example"},"datePublished":"2009-09-06T16:20:42-07:00","dateModified":"2009-09-07T09:09:56-07:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.giassa.net\/?p=82#webpage"},"isPartOf":{"@id":"https:\/\/www.giassa.net\/?p=82#webpage"},"articleSection":"general, 4155c, 4192a, agilent, daq, data acquisition, hp"},{"@type":"BreadcrumbList","@id":"https:\/\/www.giassa.net\/?p=82#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.giassa.net#listItem","position":1,"name":"Home","item":"https:\/\/www.giassa.net","nextItem":{"@type":"ListItem","@id":"https:\/\/www.giassa.net\/?cat=8#listItem","name":"general"}},{"@type":"ListItem","@id":"https:\/\/www.giassa.net\/?cat=8#listItem","position":2,"name":"general","item":"https:\/\/www.giassa.net\/?cat=8","nextItem":{"@type":"ListItem","@id":"https:\/\/www.giassa.net\/?p=82#listItem","name":"Control any GPIB Interfaced Device via USB with Linux"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.giassa.net#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.giassa.net\/?p=82#listItem","position":3,"name":"Control any GPIB Interfaced Device via USB with Linux","previousItem":{"@type":"ListItem","@id":"https:\/\/www.giassa.net\/?cat=8#listItem","name":"general"}}]},{"@type":"Organization","@id":"https:\/\/www.giassa.net\/#organization","name":"GIASSA.NET","description":"Engineering, DIY, and Everything Else","url":"https:\/\/www.giassa.net\/"},{"@type":"Person","@id":"https:\/\/www.giassa.net\/?author=1#author","url":"https:\/\/www.giassa.net\/?author=1","name":"Matthew","image":{"@type":"ImageObject","@id":"https:\/\/www.giassa.net\/?p=82#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/142becf34a0aa535d70e4cdfa6c2bc96?s=96&d=mm&r=g","width":96,"height":96,"caption":"Matthew"}},{"@type":"WebPage","@id":"https:\/\/www.giassa.net\/?p=82#webpage","url":"https:\/\/www.giassa.net\/?p=82","name":"Control any GPIB Interfaced Device via USB with Linux | GIASSA.NET","description":"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","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.giassa.net\/#website"},"breadcrumb":{"@id":"https:\/\/www.giassa.net\/?p=82#breadcrumblist"},"author":{"@id":"https:\/\/www.giassa.net\/?author=1#author"},"creator":{"@id":"https:\/\/www.giassa.net\/?author=1#author"},"datePublished":"2009-09-06T16:20:42-07:00","dateModified":"2009-09-07T09:09:56-07:00"},{"@type":"WebSite","@id":"https:\/\/www.giassa.net\/#website","url":"https:\/\/www.giassa.net\/","name":"GIASSA.NET","description":"Engineering, DIY, and Everything Else","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.giassa.net\/#organization"}}]},"og:locale":"en_US","og:site_name":"GIASSA.NET | Engineering, DIY, and Everything Else","og:type":"article","og:title":"Control any GPIB Interfaced Device via USB with Linux | GIASSA.NET","og:description":"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","og:url":"https:\/\/www.giassa.net\/?p=82","article:published_time":"2009-09-06T23:20:42+00:00","article:modified_time":"2009-09-07T16:09:56+00:00","twitter:card":"summary","twitter:title":"Control any GPIB Interfaced Device via USB with Linux | GIASSA.NET","twitter:description":"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"},"aioseo_meta_data":{"post_id":"82","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2021-04-22 01:31:46","updated":"2025-06-03 21:45:52","seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.giassa.net\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.giassa.net\/?cat=8\" title=\"general\">general<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tControl any GPIB Interfaced Device via USB with Linux\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.giassa.net"},{"label":"general","link":"https:\/\/www.giassa.net\/?cat=8"},{"label":"Control any GPIB Interfaced Device via USB with Linux","link":"https:\/\/www.giassa.net\/?p=82"}],"_links":{"self":[{"href":"https:\/\/www.giassa.net\/index.php?rest_route=\/wp\/v2\/posts\/82","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.giassa.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.giassa.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.giassa.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.giassa.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=82"}],"version-history":[{"count":2,"href":"https:\/\/www.giassa.net\/index.php?rest_route=\/wp\/v2\/posts\/82\/revisions"}],"predecessor-version":[{"id":86,"href":"https:\/\/www.giassa.net\/index.php?rest_route=\/wp\/v2\/posts\/82\/revisions\/86"}],"wp:attachment":[{"href":"https:\/\/www.giassa.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=82"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.giassa.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=82"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.giassa.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=82"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}