Open Source

Every layer of the DAQiFi stack is open.

Firmware, hardware schematics, desktop app, and SDKs in five languages — all under permissive licenses. Audit, modify, integrate, or fork without paywalls.

  • 9 Active repos
  • 5 SDK languages
  • MIT / CERN OHL / BSD Permissive licenses

The stack

Nine actively maintained repositories spanning every layer — firmware on the chip, schematics on the bench, the desktop client your team runs, and SDKs in five languages. Click any card to read source, file issues, or contribute.

  • Firmware

    Nyquist Firmware

    C / FreeRTOS Open

    Real-time multi-channel acquisition firmware running on PIC32MZ. SCPI command set, USB / WiFi / SD streaming.

    Used in: Nyquist 1, 2, 3 View on GitHub →
  • Hardware

    Nyquist Hardware

    KiCad CERN OHL v2

    Schematics and PCB layouts for NQ1 / NQ2 / NQ3. Verify, repair, or fork the hardware itself.

    Used in: Nyquist 1, 2, 3 View on GitHub →
  • Applications

    DAQiFi Desktop

    C# / .NET 10 MIT

    Windows desktop app for real-time visualization, logging, and device control. WPF + OxyPlot.

  • SDKs

    daqifi-core

    C# / .NET MIT

    Cross-platform .NET SDK. Device discovery, streaming, OTA firmware updates. Published to NuGet.

  • SDKs

    daqifi-python-core

    Python MIT

    Pythonic property-based API. Real-time streaming, context managers, full type hints.

  • SDKs

    daqifi-java-api

    Java MIT

    Java SDK for enterprise and Android workflows. Protocol Buffers under the hood.

  • SDKs

    daqifi-labview

    LabVIEW BSD-3-Clause

    Native LabVIEW driver and VI library. Drop-in for existing T&M workflows.

  • SDKs

    daqifi-node

    Node.js / TypeScript MIT

    Node.js SDK plus Node-RED plugin. Build IoT and edge apps on a DAQiFi device.

    Last refresh 2022 — modernization in progress

  • Examples

    daqifi-core-example-app

    C# / .NET MIT

    Reference CLI demonstrating discovery, streaming, channel config, and firmware updates against daqifi-core.

Why open matters

  • Audit

    Read every line that runs on your data path. Compliance and security teams can verify firmware behavior end-to-end.

  • Modify

    Patch firmware for an edge case. Tweak the desktop client. The fork is yours.

  • Integrate

    No licensing fees, no per-seat costs, no SDK paywalls. Embed DAQiFi inside your product or test rig.

  • Fork

    CERN OHL hardware lets you produce a derivative board for a custom application. Not theoretical — this is licensed for it.

Compared to closed alternatives

How DAQiFi’s stack compares to NI, LabJack, and Omega across each layer customers actually need to read or change.

Layer DAQiFi NI LabJack Omega
Firmware open closed partial closed
Hardware (schematics) open (CERN OHL) closed closed closed
Desktop application open (MIT) closed partial closed
C# / .NET SDK open (MIT) closed open closed
Python SDK open (MIT) closed open closed
Java SDK open (MIT) closed closed closed
LabVIEW driver open (BSD-3) (own) open closed
Node.js / Node-RED open (MIT) closed closed closed

“Partial” = some components open, others closed. “(own)” = vendor-specific platform; not a third-party SDK.

Get started in five lines

Discover a device, configure a channel, stream samples. Pick your language.

from daqifi import DAQiFiDevice

with DAQiFiDevice.discover_first() as dev:
    dev.channels.ai0.enable()
    for sample in dev.stream(rate_hz=1000):
        print(sample)
using DAQiFi.Core;

var device = await DAQiFiDevice.DiscoverFirstAsync();
await device.ConnectAsync();
device.Channels["AI0"].Enable();
await foreach (var sample in device.StreamAsync(rateHz: 1000))
    Console.WriteLine(sample);
DAQiFiDevice device = DAQiFiDevice.discoverFirst();
device.connect();
device.channel("AI0").enable();
device.stream(1000).forEach(System.out::println);
Drop the DAQiFi.lvlib palette into your block diagram.
Wire DAQiFi Open VI → Configure Channel VI → Read Stream VI.
Full example VIs in the daqifi-labview repo.

See the full reference example app →

CERN OHL hardware — rare in commercial DAQ

Most DAQ vendors will sell you a black box. Nyquist hardware is published under the CERN Open Hardware License v2 (Weakly Reciprocal). You can read every schematic, see the bill of materials, and produce your own derivative board for a custom application — all permitted by the license.

Browse daqifi-nyquist-hardware →

Get involved

  • Issues

    Bug reports and feature requests live on each repository. The firmware, desktop, and SDK repos are the most active.

    Browse repos →
  • Pull requests

    PRs welcome. Each repo has its own contributing guide; small fixes, new examples, and translations are great first contributions.

  • Talk to us

    Building something with a Nyquist? Stuck on integration? Use the contact form — engineers answer.

    Contact us →