Using Third-Party USB or FireWire Devices with LabVIEW or LabWindows/CVI

Updated Aug 31, 2023

Reported In


  • LabWindows/CVI
  • LabVIEW



Issue Details

What kind of support do LabVIEW and LabWindows/CVI provide for third-party Universal Serial Bus (USB) or IEEE 1394 (FireWire) devices?

Can I use the Serial VIs and functions to communicate with my USB device?


USB communication is supported with NI-VISA 3.0 and later on Windows and with NI-VISA 3.2 and later on Macintosh and Linux.

NI-VISA supports instrument class 488.2 devices conformant to the USBTMC spec and non-class devices that do not have a default Windows driver. 

No generic IEEE 1394 (FireWire) or USB driver is available for non-Windows platforms, just as no generic PCI or ISA bus driver is available. As with PCI and ISA, you or the third-party device vendor must supply a device-specific driver, such as a DLL, that you can call from LabWindows/CVI or LabVIEW using the Call Library Function Node.

Additional Information

Note: Refer to Calling Shared Libraries for more information about using external code in LabVIEW. In LabVIEW 7.1 or earlier, refer to the Using External Code in LabVIEW manual (linked below) for more information about using external code in LabVIEW.

National Instruments IEEE 1394 (FireWire) and USB hardware devices are supported through standard National Instruments driver interfaces such as NI-DAQ.

Note: Although USB contains the word serial, it is not the same serial protocol used in RS-232. Therefore, you cannot use the Non-VISA Serial VIs or functions to interact with a USB device. Any bus protocol, including USB and IEEE 1394 (FireWire), should have a well-defined interface for the user because device manufacturers do not want users to have unrestricted access to memory locations on the bus.