Site Search:

USB DAQ Products Support LibUSB and CDC


The native communication mode of most of our newer USB data acquisition (USB DAQ) products is LibUSB, a cross-platform standard that supports many USB products. LibUSB is supported out-of-the-box by our WinDaq data acquisition and .Net class software that is included with the hardware, so there’s little need to change USB modes. However, for those who want to program these new USB products themselves (especially from the protocol level), the so-called USB CDC mode may offer some advantages. Not the least of these is simply communicating with the device over a COM port instead of through the LibUSB library. The Communication Device Class (CDC) allows the USB port of supported devices to appear like a traditional RS-232 port, which is ubiquitous across OS platforms and development languages. Fortunately, our USB data acquisition products can be configured for either standard. The following procedure explains how you can transition from the default LibUSB to the CDC mode and back again for all the products you’ll find here (except model DI-245, which lacks LibUSB support and always hooks a COM port.)

  1. Disconnect and reconnect the USB cable to the device.
  2. Immediately begin pressing the button on the side of the instrument about twice per second. Stop when the Active LED turns RED.*
  3. The LED begins flashing yellow indicating that it’s in the CDC mode, or green indicating the LibUSB mode.
  4. Disconnect and re-connect the USB cable. The instrument will hook a COM port if the LED is yellow, or be an active LibUSB device if green.

* The DI-2008’s LED  never turns RED. It transitions directly to YELLOW for the CDC mode, or GREEN for LibUSB, at which point you can stop pressing the button.

The instrument remembers its configuration, so you only need to perform this maneuver once. Repeat it to revert to previously active mode: CDC to LibUSB (active LED flashes GREEN), or LibUSB to CDC (active LED flashes YELLOW.)  Also, when in the CDC mode COM port interface variables (aside from port name) are “don’t care:” Baud, Data bits, Parity, etc.

Here’s how Windows Device Manager detects the presence of model DI-1100 (for example) for each supported mode:

Comparison of how Windows’ Device Manager detects model DI-1100 when the instrument is programmed for LibUSB or CDC modes.



Follow Us

 Categories: Data Acquisition, USB

 Tags: , , , , ,

 Bookmark the permalink

 RSS Feed (comments for this post)

 Post a comment

 Trackback URL


  1. Avatar
    Tom Spitznas
    Posted April 26, 2019 at 3:35 pm Permalink

    Thank you so much for your immediate response.
    This worked perfectly. Thank you again.

    • Posted May 30, 2019 at 3:54 pm Permalink


      Thanks for the heads-up! Glad to hear you’re up and running.

      Shawn MacDonald
      Application Engineer
      DATAQ Instruments Inc.

Post a Comment

Your email is never published nor shared. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>