Open Source LXI Tools Free Us From Vendor Bloat

LXI, or LAN eXtensions for Instrumentation is a modern control standard for connecting electronics instrumentation which supports ethernet. It replaces the older GPIB standard, giving much better performance and lower cost of implementation. This is a good thing.  [Martin Lund] has created the open source lxi-tools project which enables us to detach ourselves from the often bloated vendor tools usually required for talking LXI to your bench equipment. This is a partial rewrite of an earlier version of the tool, and now sports some rather nice features such as mDNS for instrument discovery, support for screen grabbing, and a LUA-based scripting backend. (API Link)

SCPI or Standard Commands for Programmable Instruments is the text-based language spoken by many instruments, allowing control and querying of an instrument. Just to be clear, SCPI is not at all a new thing, and older instruments that have GPIB or RS232 connectors, still could talk SCPI. lxi-tools is not for those. Some instruments can also be very picky about the formatting of commands, especially if they’re buggy, so the ability to interactively debug commands is very desirable. It is quite possible to make poor use of SCPI commands in your test script and end up with tests that just take far longer to execute that they need to. lxi-tools has a benchmarking tool too, which helps you to dig in and find out where all the time is going and make suitable adjustments.

We’ve not seen much about LXI on Hackaday, but we did cover using PyVISA for dealing with SCPI-over-GPIB in python.  If you have an older instrument  with GPIB and you don’t want to sell a internal organ to pay for a USB adaptor, here’s one you can make yourself.

Save Money And Have Fun Using IEEE-488

A few months ago, I was discussing the control of GPIB equipment with a colleague. Based on only on my gut feeling and the briefest of research, I told him that the pricey and proprietary GPIB controller solutions could easily be replaced by open-source tools and Linux. In the many weeks that followed, I almost abandoned my stance several times out of frustration. With some perseverance, breaking the problems into bite-sized chunks, and lots of online searching to learn from other people’s experiences, my plan eventually succeeded. I haven’t abandoned my original stance entirely, I’ve taken a few steps back and added some qualifiers.

What is GPIB?

Example of HP-IB block diagram from the 1970s, from hp9845.net

Back in the 1960s, if test equipment was interconnected at all, there weren’t any agreed-upon methods for doing so. By the late 60s, the situation was made somewhat better by card-cage controller systems. These held a number of interface cards, one per instrument, presenting a common interface on the backplane. Although this approach was workable, the HP engineers realized they could significantly improve the concept to include these “bridging circuit boards” within the instruments and replacing the card cage backplane with passive cables. Thus began the development of what became the Hewlett-Packard Interface Bus (HP-IB). The October 1972 issue of the HP Journal introduced HP-IB with two main articles: A Practical Interface System for Electronic Instruments and A Common Digital Interface for Programmable Instruments: The Evolution of a System. Continue reading “Save Money And Have Fun Using IEEE-488”

GPIB To USB, With A Python API

If you’re not so daft as to think Arduino-based oscilloscopes and multimeters are actually useful for all but the simplest tests and measurements, you just might have some big iron sitting around your workbench from the likes of HP, or Tektronix. You might have noticed a strange port on the back of these machines, labeled GPIB or IEEE-488. This is the standard interface for these devices, and if you’ve ever priced out a USB to IEEE-488 converter, you can see why [Steven] thought it would be cheaper to build his own.

This build is an update to an earlier version we saw a few years ago. Since then, [Steven] has taken some advice from the community and replaced a bunch of resistors with proper GPIB line driver ICs, and generally cleaned up the firmware.

Because a USB to GPIB adapter is only one small part of the tools necessary to connect these old measurement devices to a modern computer, [Steven] has also been working on InstrumentKit. It’s a Python library that takes all the standardized instrument commands and wraps them up in an easy to use API. You can check out the docs for InstrumentKit here, or just look through the board files and firmware on the Github

GPIB Connectivity Twofer

Dust off that old GPIB hardware and hook it up to your modern computing platform using either of these two solutions. If you haven’t a clue what we’re talking about you probably don’t own any fifty-year-old test equipment. But the General Purpose Interface Bus (aka IEEE-488) was fairly common on 1960’s era test equipment like multimeters and logic analyzers.

[Sven Pauli] is responsible for the RS232 GPIB interface board (translated) in the upper left. It uses an ATmega16 and a couple of classic bus driver chips to get the job done.

To the lower right is a USB to GPIB converter board that [Steven Casagrande] developed. This one is PIC based, using the 18F4520 and an FTDI chip to handle the USB side of the equation.

Check out the connector that is used for this protocol. We’d bet that’s not the easiest part to source. But at least now you’ll know what you’re looking at when pawing through the flea market offerings.