DAQami alternatives for MCC hardware

TracerDAQ, DASYLab, DAQFactory, MATLAB, LabVIEW and Python can all log Measurement Computing devices, and of these only Python with uldaq runs on macOS or Linux.

Britt Espinosa··7 min read

DAQami is Measurement Computing’s own app for logging data from MCC devices without writing code. It is a free download that logs analog, digital and counter channels from several devices at once to CSV. Digilent’s documentation for DAQami 4.2.1 says it logs up to 1 million samples per channel per file, and its listed requirements are Windows 11, 10, 8, 7 or Vista.

People look for something else when the computer next to the hardware is a Mac or a Linux box, when a test needs triggers, alarms or calculated channels, when the data has to land in a format other than CSV, or when the MCC module is one device among several from different vendors. If the Mac is the only problem, see our guide to running MCC devices on macOS.

MCC software options compared

ToolRuns onCost (at the time of writing)How it reaches MCC hardwareEffortGood at
DAQamiWindowsFree downloadMCC Universal LibraryLowQuick logging to CSV
TracerDAQ / TracerDAQ ProWindowsFree; Pro listed as a free download by MeilhausMCC Universal LibraryLowScope and strip chart views
DASYLabWindowsBasic £1,745 ex VAT at Farnell UKBuilt-in MCC driverMediumGraphical signal processing and control
DAQFactoryWindows 10 and laterLite $299, Base $599, Pro $1,199MCC driver, not kept current for newer devicesMediumOperator screens, scripting, Modbus
MATLAB + Data Acquisition ToolboxWindows 64-bit for MCC supportCommercial MATLAB and toolbox licensesMathWorks support package (installs InstaCal)MediumAnalysis in the same environment
LabVIEW + ULxWindowsULx free; LabVIEW subscription or perpetualULx VIsHighLabs already built on LabVIEW
Python + mcculwWindowsFreeUniversal Library via ctypesHighScripts and automated fixtures
Python + uldaqLinux, macOSFree, open sourcelibuldaq over libusbHighHeadless loggers, Raspberry Pi, Macs
DAQAtlas (in development)macOS, Windows, LinuxBeta listuldaqLowMixed-vendor benches

TracerDAQ and TracerDAQ Pro

TracerDAQ is MCC’s older companion app. It gives you four virtual instruments: a strip chart, an oscilloscope, a function generator and a rate generator, and you can run several at once on different devices. The standard version caps the strip chart at 8 channels and 32,000 samples per channel. TracerDAQ Pro raises the hard limit to 1,000,000 samples per channel and adds triggering, alarms and a math module. Meilhaus, MCC’s German distributor, notes that the Pro version is now a free download.

It is Windows only, and data comes out as CSV or TXT, plus its own history file format. Use TracerDAQ when you want to look at a signal for a few minutes, check wiring or drive an output. The sample caps rule it out for long unattended runs.

DASYLab

In DASYLab you build a measurement as a flowchart, wiring an input module to filters, FFTs, statistics, displays and file writers on a worksheet. MCC and Digilent sell it today, and Digilent’s product page lists Lite, Basic, Pro (annual or perpetual) and Runtime editions, with Basic supporting up to 256 analog inputs, and a downloadable evaluation copy. The listed operating systems are Windows 10, 8.1 and 7.

Hardware support is the strongest reason to pick it. The DASYLab data sheet lists drivers for more than 20 vendors, including MCC, Data Translation and NI-DAQmx, plus Modbus, OPC, MQTT, GPIB and RS232. Data can be saved as ASCII, NI TDM/TDMS or DASYLab’s own binary format. Pricing goes through distributors, and Farnell UK lists DASYLab Basic at £1,745 ex VAT at the time of writing.

DASYLab suits a Windows bench where processing matters as much as logging, such as computing RMS or an FFT live, closing a control loop, or combining MCC and NI hardware in one worksheet.

DAQFactory

AzeoTech’s DAQFactory is closer to a small SCADA package than a logger. You build operator screens, write sequences in its scripting language, set alarms and log to files or databases. Logging sets write delimited ASCII, an ODBC database or one of three binary formats. It requires Windows 10 or newer. AzeoTech’s store lists Lite at $299, Base at $599 and Pro at $1,199 for release 20.1 and later, and a Runtime license at $189.

Check your MCC model before you buy. DAQFactory talks to MCC hardware through MCC’s Universal Library, and in a thread on its own support forum, AzeoTech says the MCC and NI drivers are not kept current, so older MCC hardware works and newer models may not. DAQFactory is strongest with LabJack devices and Modbus instruments.

MATLAB with Data Acquisition Toolbox

MathWorks publishes a support package for Measurement Computing hardware that works with Data Acquisition Toolbox from R2017a onward and installs InstaCal for you. It covers 24 devices, including the USB-1208FS, USB-1408FS-Plus and USB-1608GX-2AO. It acquires and generates voltage on analog channels and sets sample rates, but it does not support counters, digital I/O, triggered acquisition, thermocouple measurements or Simulink blocks.

MathWorks’ system requirements table lists the MCC package as Windows 64-bit only through R2026a, so MATLAB on a Mac can analyze MCC data but cannot acquire it. If your analysis already lives in MATLAB and your devices are on the supported list, acquiring in the same session saves a conversion step. For thermocouple modules like the USB-TC, the missing temperature support rules it out.

LabVIEW with ULx

MCC’s ULx for NI LabVIEW is a library of LabVIEW VIs that exposes the Universal Library and InstaCal functions, so you program MCC devices from LabVIEW without NI-DAQmx. Digilent’s reference page says ULx ships free in the MCCDAQ software suite, supports LabVIEW 2015 through 2023 in 32-bit and 64-bit, runs only on Windows and does not support LabVIEW Real-Time. You install matching versions of InstaCal and ULx, and InstaCal has to be run on each deployment machine.

You also need LabVIEW. NI sells Base, Full and Professional editions as annual subscriptions or perpetual licenses, and the free Community Edition is limited to personal, non-commercial use. This route fits a lab that already has LabVIEW code, licenses and people who maintain them. Bought from scratch to log an MCC device, it is the most expensive option here in money and time.

Python with mcculw or uldaq

MCC maintains two Python libraries, one per platform. On Windows, mcculw wraps the Universal Library C API through ctypes and needs InstaCal installed. Its current release, 1.0.0, dates from 2020 and requires Universal Library 6.55 or later. On Linux and macOS, uldaq wraps libuldaq, MCC’s open-source library built on libusb. Raspberry Pi setups use the same library, covered in MCC DAQ on Linux and Raspberry Pi.

This hardware-paced scan reads two channels with uldaq and writes them to CSV. It assumes a device with a pacer, such as the USB-1208FS-Plus or USB-1608G:

import csv, time
from uldaq import (get_daq_device_inventory, DaqDevice, InterfaceType,
                   AiInputMode, Range, ScanOption, AInScanFlag,
                   ScanStatus, create_float_buffer)

devices = get_daq_device_inventory(InterfaceType.USB)
daq = DaqDevice(devices[0])
ai = daq.get_ai_device()
daq.connect()

chans, n = 2, 10000                      # AI0-AI1, 10,000 samples each
buf = create_float_buffer(chans, n)
rate = ai.a_in_scan(0, chans - 1, AiInputMode.SINGLE_ENDED,
                    Range.BIP10VOLTS, n, 1000.0,
                    ScanOption.DEFAULTIO, AInScanFlag.DEFAULT, buf)

while ai.get_scan_status()[0] == ScanStatus.RUNNING:
    time.sleep(0.1)

with open("run.csv", "w", newline="") as f:
    w = csv.writer(f)
    w.writerow(["t_s", "AI0_V", "AI1_V"])
    for i in range(n):                   # samples are interleaved by channel
        w.writerow([i / rate, buf[i * chans], buf[i * chans + 1]])

daq.disconnect()
daq.release()

Python fits when acquisition is part of a larger program, such as a production test, a fixture that talks to other instruments, or a pipeline that pushes results to a database. Live plots, safe file handling when a cable drops and everything else a logging app provides become code you write and maintain. The Python data acquisition guide covers continuous scans that write to disk as they run.

DAQAtlas (in development)

DAQAtlas is a desktop app for macOS, Windows and Linux, currently in development. It reaches MCC hardware through uldaq, which is bundled in the macOS build, so on a Mac there is nothing extra to install for any MCC device uldaq supports. The USB-231 is the exception: uldaq doesn’t support it, so DAQAtlas detects it but cannot run it. Scans are hardware-paced on devices with a pacer and software-timed elsewhere (see hardware-timed vs software-timed sampling). Live charts, triggers, alarms and math channels run during the test, and recordings export to CSV, MATLAB, TDMS, Parquet or HDF5. LabJack, Digilent and SCPI devices record into the same run as the MCC module, and NI hardware joins through DAQAtlas Bridge. It is not released yet, and the beta list is open.

Matching the tool to the job

If you only need a quick look at a signal on Windows, DAQami or TracerDAQ costs nothing and installs in minutes. If the test needs live processing or control on Windows and you have budget, DASYLab’s driver list and worksheet model fit best. Pick DAQFactory when operators need a custom screen and the hardware mix leans toward LabJack and Modbus, after checking that your MCC model is supported. Choose MATLAB or LabVIEW when the rest of your workflow already lives there. Pick Python when acquisition is one step in an automated system, with mcculw on Windows and uldaq everywhere else.

Size your runs before you start. A USB-1608G scanning 8 channels at 250 kS/s aggregate fills a disk fast, and the DAQ file size calculator shows how fast for each output format. For a side-by-side look at the general-purpose loggers, see data logging software compared.