EE Test Automation in Windows - Page 1
Forum section: electronics / testgear

author: NF6X
author_rank: Unknown
timestamp: September 10, 2025, 06:55:15 pm
content: I work in macOS and Linux environments >99% of the time, and I implement my electronic test automation with Python code. I assume (without any real evidence) that Windows is still much more commonly used by EEs in 2025 than Linux or macOS. If I were to develop electronic test equipment to be sold for general use on EE test benches, it seems to me that I should provide good support for EEs who prefer to work in Windows. So, I'm asking for advice and context from EEs here who perform test automation in Windows 10/11 environments.How do EEs who use Windows 10 or 11 prefer to develop test automation with their USBTMC, LXI/VXI-11, and even old GPIB test equipment in 2025? What software do you prefer to use for your test automation?

author: HKJ
author_rank: Super Contributor
timestamp: September 10, 2025, 07:12:32 pm
content: I am publishing some software that can do test automation on Windows, Mac and Linux, see the thread: "Program that can log from many multimeters." in the pinned section.I know the title is misleading, because the software can do a lot more than just log from multimeters, it supports many hundred devices it can log from and control, either from menu, advanced controls or from script.

author: joeqsmith
author_rank: Super Contributor
timestamp: September 10, 2025, 07:16:44 pm
content: I am not understanding why it would matter as long as the interface is well defined.I think at work we still use CVI.

author: NF6X
author_rank: Unknown
timestamp: September 10, 2025, 07:37:20 pm
content: Quote from: HKJ on September 10, 2025, 07:12:32 pmThank you. I have seen yourthread topic, but I never read the thread because of the misleading title.I'll give it a read and a try.Quote from: joeqsmith on September 10, 2025, 07:16:44 pmI think it would matter for customer support. Potential customers might ask me questions like "How do I automate/log measurements with your product?", and I only know how to answer that in the context of Linux+Python. I think that would limit my potential sales to customers who are already experienced with test automation and just need documentation on the device's SCPI commands, and/or customers who are already comfortable in a Linux+Python environment. I'd like my products to be attractive to people who are new to test automation and using the most common operating systems, so I'll need to learn how I should advise them based on the OS they prefer to use. Which I think will probably be Windows.Also, I'd want to provide examples and perform compatibility testing with the most common tools my potential customers might want to use. Since I'm not familiar with what tools the Windows-based EEs like to use, I need to learn what to research and buy so I can provide good customer support.Quote from: joeqsmith on September 10, 2025, 07:16:44 pmMy naive search for CVI just turned up hits for Chronic Venous Insufficiency, but I think you're referring toLabWindows/CVI. Thank you. I'll look into it.In decades past, other people in the labs I was in liked to use LabView. Is that still a popular environment, or is is a dinosaur these days?

author: KungFuJosh
author_rank: Super Contributor
timestamp: September 10, 2025, 07:49:41 pm
content: I use TestController (the program / thread HKJ linked above - yes, he should change the title) for all my logging/remote control/etc. It doesn't currently support USBTMC, but everything it does support works really well.If you're developing products, adding support in TestController should work to your advantage, and be compatible on any system that can run a java app.With that said, I would make sure your devices support more than just USBTMC.

author: NF6X
author_rank: Unknown
timestamp: September 10, 2025, 08:00:33 pm
content: Quote from: KungFuJosh on September 10, 2025, 07:49:41 pmIs USBTMC problematic in Windows? I'm not familiar enough with the USB driver situation in Windows 10/11, and what I do know about it is a large part of why I personally prefer Linux. What do you recommend for USB-only devices in addition to USBTMC? Perhaps an option to use the same SCPI commands over CDC/ACM (virtual COM port), also?Does Windows support composite devices (i.e., devices presenting both USBTMC and CDC classes simultaneously) well, or would a Windows-friendly device need to be configurable to just present one device class at a time? I gather from something I recently read in a firmware example that Windows is not happy if a device is plugged in presenting one class, and then later plugged in presenting a different class with the same VID/PID numbers, and it was recommended to use different PIDs for each class when a device might need to present different classes across plug-ins/resets.

author: HKJ
author_rank: Super Contributor
timestamp: September 10, 2025, 08:06:06 pm
content: Quote from: NF6X on September 10, 2025, 08:00:33 pmTestController works well with virtual com devices and with network devices on any supported OS.Quote from: NF6X on September 10, 2025, 08:00:33 pmI cannot answer that, but as far as I know USBTMC devices requires a driver.Com ports do also require drivers, but when using some standard solution, there is already a standard driver for it.

author: HKJ
author_rank: Super Contributor
timestamp: September 10, 2025, 08:15:48 pm
content: Before your use too much time on TestController:It is designed to do low speed logging, that is up to about 100 samples/second, i.e. it is not for devices where you need to transfer 1000's of samples each second.You can download a log to TC and show it in it table and chart window, it already does that for some multimeters. It can also download screen captures and show them, but it cannot do real-time update of either of these.To add a device you write a definition file, it is a plain text file that defined how to log and how to control the device, it usually do not require real programming to make the file.

author: joeqsmith
author_rank: Super Contributor
timestamp: September 10, 2025, 08:24:54 pm
content: Quote from: NF6X on September 10, 2025, 07:37:20 pmSorry about that. Yes, that is correct.We had used other like DSPACE, Simulink and ADI. Normally there was a mix of C. We dropped all of our contacts with NI for LabView when they changed their business strategy. I wouldn't be surprised if we did not start using Python to automate some of our testing. I have never worked for a company who used LINUX. It's always been DOS then Windows. But again, I could care less what the equipment uses. As long as everything is well documented you should be good to go.

author: Njk
author_rank: Frequent Contributor
timestamp: September 11, 2025, 12:29:27 am
content: Quote from: NF6X on September 10, 2025, 08:00:33 pmOf course, Windows does support composite devices. I see no problems with USBTMC in Windows. The driver and its API are standardized by the IVI Foundation and available for free (although some vendors prefer their own implementations, perhaps with enhanced API). In theory, once the driver is installed, and the device is enumerated as a TMC class device, an application such as Test Controller can open it, obtaining the file handle as usual, and start sending SCPI commands through the driver. The backward compatibility seems the only reason for the app to support the legacy ways (using the CDC class, etc.) as well. While a new device may support only TMC. That will incentivize the app developers to migrate to TMC faster.QuoteThat's not my experience. It's a legitimate scenario (e.g. DFU). But Windows is a complex system and I'm far from saying that it never can happen because I've never seen it.

author: KungFuJosh
author_rank: Super Contributor
timestamp: September 11, 2025, 01:18:47 am
content: Quote from: Njk on September 11, 2025, 12:29:27 amTestController doesnotcurrently support USBTMC, as I mentioned above.

author: Njk
author_rank: Frequent Contributor
timestamp: September 11, 2025, 01:24:27 am
content: Quote from: KungFuJosh on September 11, 2025, 01:18:47 amThat's not good, is it?

author: KungFuJosh
author_rank: Super Contributor
timestamp: September 11, 2025, 02:42:26 am
content: Quote from: Njk on September 11, 2025, 01:24:27 amIt is what it is. If you design a device, and you want it to work with TestController, limiting it to USBTMC isn't good, is it?If somebody develops (and maintains) an OS independent USBTMC library that works with java, then HKJ will very likely add USBTMC support to TestController. Until then...

author: Cyclotron
author_rank: Unknown
timestamp: September 11, 2025, 02:57:44 am
content: Quote from: KungFuJosh on September 11, 2025, 02:42:26 amDifferent thread and likely different reasons, but there's a cross in the streams. Why not just use the JAVAvisa libraries? Even if you don't do that and want to use USBTMC Java can use JNI to communicate with that driver. I've not done Java in a long time, so this may all be madness.