How Do I Generate Timed Digital Output with My USB-600x?

Updated Apr 25, 2023

Reported In


  • USB-6001
  • USB-6002
  • USB-6003


  • NI-DAQmx

Issue Details

I'm trying to generate a digital signal with my USB-6001/6002/6003 to talk to another instrument. I'm not able to do any hardware timing using the DAQmx Timing VI, so how do I send a signal with specific timing?


Since there is no hardware timing available for the digital outputs of the USB-6001/6002/6003, you need to create your own timing as shown in the example below. 
  1. Configure a DAQmx digital output task with the DAQmx Create Virtual Channel VI and a DAQmx Digital Write configured to Digital >> Single Channel >> Single Sample >> Boolean.
  2. Set the task to auto start by wiring a true constant to the auto start input of the DAQmx Write VI.
  3. Wire an array containing your output sequence into the for loop, with indexing enabled.
  4. Put a wait function in the loop showing how much time to wait between changes in the output.