# Compatibility of PsychToolbox DAQ functions with USB-200 series on Linux System

**URL:** <https://psychtoolbox.discourse.group/t/compatibility-of-psychtoolbox-daq-functions-with-usb-200-series-on-linux-system/5818>\
**Category:** Hardware\
**Tags:** windows, linux\
**Created:** [September 29, 2026, 9:30pm UTC](https://psychtoolbox.discourse.group/t/compatibility-of-psychtoolbox-daq-functions-with-usb-200-series-on-linux-system/5818 "2026-09-29T21:30:51Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![kchetnik](https://avatars.discourse-cdn.com/v4/letter/k/b2d939/32.png) [@kchetnik](https://psychtoolbox.discourse.group/u/kchetnik)\
**Post date:** [September 29, 2026, 9:30pm UTC](https://psychtoolbox.discourse.group/t/compatibility-of-psychtoolbox-daq-functions-with-usb-200-series-on-linux-system/5818/1 "2026-09-29T21:30:51Z")

</div>

I am trying to determine if a Measurement Computing Corporation (MCC) USB-200 series DAQ is compatible with Psychtoolbox out-of-the-box on Linux Ubuntu 22.04. Our lab is essentially trying to integrate another lab’s system for aligning data streams with our existing data acquisition set up. The other lab uses Psychtoolbox to send numbered pulses to a ripple neural interface processor via a MCC USB-204 DAQ on a laptop running Windows (I’m not sure of their specific hardware / software specs, but I can find out if needed). I want to know if I’ll be able to use their code (example snippet below) on our Linux setup without needing to write any custom functions for interfacing with MCC’s uldaq.

```auto
% Initialize DAQ to inject triggers into neural recordings simultaneously
% alongside their insertion into the video and eye-tracking streams to
% enable synchronization.
HID=DaqFind;
DaqDConfigPort(HID,0,0);
DaqDOut(HID,0,0);

trigger_number = 1;
trigger_interval = 10; % seconds
et_log_message_string = ['Align #', num2str(trigger_number)];

trigger_times = zeros(1,2000);
interval_times = zeros(1,1999);

exp_start_time = GetSecs;
absolute_time = exp_start_time;

terminate = false;
while ~terminate
% BEGIN Critical Timing Section.
DaqDOut(HID,0,255); % Turn DAQ on
WaitSecs(.001); % Wait 1 ms
DaqDOut(HID,0,0); % Turn DAQ off
% END Critical Timing Section.

% Print console output. Update and save timing log.
trigger_times(trigger_number) = absolute_time - exp_start_time;
trigger_number = trigger_number + 1;
interval_times(trigger_number) = absolute_time - trigger_times(trigger_number-1);
save(save_file, 'trigger_times','interval_times')
et_log_message_string = ['Align #', num2str(trigger_number)];

% Check if experimenter wants to terminate
[keyIsDown, ~, keyCode, ~] = KbCheck();
if keyIsDown && strcmp(KbName(keyCode),'esc')
    terminate = true;
    fprintf('ESC Key Pressed... Terminating\n')
end

% Wait until 'trigger_interval' seconds from last visit to this line
absolute_time = WaitSecs('UntilTime',absolute_time+trigger_interval);

end

```

Platform: Linux, Ubuntu 22.04  
Psychtoolbox Version: 3.0.19  
Matlab Version: Version 24.2 (R2024b)
