WinUsbTmc - A simple interface for USBTMC based measurement devices 
Friday, July 5, 2013, 22:34 - Measurement devices
In the past every decent measurement device had one of these bulky GPIB connectors to be able to control them with a PC.
This was a very handy feature and powerful automated measurement setups could be easily built.

Nowadays there are many devices on the market with a USB connector. When you intend to make use of this feature, you will notice that you have to download and install a several hundred MB sized library which includes a driver for such devices.
Integrating this library into your own applications can be rather complex depending on your development environment.

Is this really neccesary just to send commands and get a response from your device?

At least I was not happy with this situation.

After doing some research I noticed that these devices implement a certain USB class called USBTMC for which a well described documentation is available.

The communication protocol is very simple and I started to write a small software module with a simple interface to talk to such devices. For this I needed only 2 days of work.
I called it WinUsbTmc and published it as Open source project under GitHub:

The current status of the project consists of the following elements:
- A UsbTmc driver which can be used with all USBTmc measurement devices
- A command line utility to talk to your device from command line or batch file
- A Dll. In case you want to integrate UsbTmc communication in your product this is an easy interface to it

and finally a Matlab interface.

WinUsbTmc follows the KISS principle and everybody should be able to start communicating to his device in the matter within a few minutes.

WinUsbTmc was tested succesfully with 3 devices:
- Rigol 1052E (Scope)
- Rigol DS2072 (Scope)
- Siglent SDG1020 (Function generator)

While developing, it was also interesting to see that some devices don't implement the UsbTmc standard completely. E.g. some class functions which are mandatory according to the UsbTmc specification don't work with some devices.
Nevertheless, I tried to work around it and could use WinUsbTmc already in a automated test setup.

In case you would like to participate: You are welcome.

Adding interfaces for other tools like Matlab would be a nice thing to have, e.g. Labview, Visual C, Borland Delphi, ...


Add Comment
Fill out the form below to add your own comments.

Insert Special:

Moderation is turned on for this blog. Your comment will require the administrators approval before it will be visible.