<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Xyphros electronic workshop</title>
		<link>https://xyphro.de/blog/index.php</link>
		<description><![CDATA[No Footer]]></description>
		<copyright>Copyright 2026, Kai Gossner</copyright>
		<managingEditor>xyphro@gmail.com (Kai Gossner)</managingEditor>
		<language>en-US</language>
		<generator>SPHPBLOG 0.8.1</generator>
		<item>
			<title>WinUsbTmc - A simple interface for USBTMC based measurement devices</title>
			<link>https://xyphro.de/blog/index.php?entry=entry130705-223439</link>
			<description><![CDATA[In the past every decent measurement device had one of these bulky GPIB connectors to be able to control them with a PC.<br />This was a very handy feature and powerful automated measurement setups could be easily built.<br /><br />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.<br />Integrating this library into your own applications can be rather complex depending on your development environment.<br /><br />Is this really neccesary just to send commands and get a response from your device?<br /><br />At least I was not happy with this situation. <br /><br />After doing some research I noticed that these devices implement a certain USB class called USBTMC for which a well described documentation is available.<br /><br />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.<br />I called it WinUsbTmc and published it as Open source project under GitHub:<br /><br /><a href="http://github.com/xyphro/WinUsbTmc" >http://github.com/xyphro/WinUsbTmc</a><br /><br />The current status of the project consists of the following elements:<br />- A UsbTmc driver which can be used with all USBTmc measurement devices<br />- A command line utility to talk to your device from command line or batch file<br />- A Dll. In case you want to integrate UsbTmc communication in your product this is an easy interface to it<br /><br />and finally a Matlab interface.<br /><br />WinUsbTmc follows the KISS principle and everybody should be able to start communicating to his device in the matter within a few minutes.<br /><br />WinUsbTmc was tested succesfully with 3 devices:<br />- Rigol 1052E (Scope)<br />- Rigol DS2072 (Scope)<br />- Siglent SDG1020 (Function generator)<br /><br />While developing, it was also interesting to see that some devices don&#039;t implement the UsbTmc standard completely. E.g. some class functions which are mandatory according to the UsbTmc specification don&#039;t work with some devices.<br />Nevertheless, I tried to work around it and could use WinUsbTmc already in a automated test setup.<br /><br />In case you would like to participate: You are welcome. <br /><br />Adding interfaces for other tools like Matlab would be a nice thing to have, e.g. Labview, Visual C, Borland Delphi, ...<br /><br />]]></description>
			<category>Measurement devices</category>
			<guid isPermaLink="true">https://xyphro.de/blog/index.php?entry=entry130705-223439</guid>
			<author>xyphro@gmail.com (Kai Gossner)</author>
			<pubDate>Fri, 05 Jul 2013 20:34:39 GMT</pubDate>
		</item>
	</channel>
</rss>
