Skip to main content
Skip table of contents

Low Level UD User's Guide

This guide provides information about the low-level functions used to control LabJack UD devices. We support a higher level interface on Windows called the UD Library, so these functions are typically only used (directly) on macOS and Linux.

USB Interface Details

USB interface information such as the device ID and which endpoints are used can be found in the USB section of your device datasheet.

2.1 - USB [U3 Datasheet]

2.1 - USB [U6 Datasheet]

2.1 - USB [UE9 Datasheet]


The Exodriver library / API is used to communicate over USB with the LabJack U3, U6, UE9 and U12 in Mac OS X and Linux environments. The Exodriver provides USB functionality necessary to send and receive data for the low-level functions. See our Exodriver Downloads page for further information.

General Protocol

All low-level UD functions follow a custom protocol we made to frame command data. All Low-level functions use the command formats defined by the general protocol. See the General Protocol section for additional information.

Low-level Functions

See our definitions for the Low-level functions. These functions provide access to all available UD device functionality. All low-level functions use the command formats defined by the general protocol.

Feedback Functions

Feedback functions are special low level functions. They are used to control most functionality relevant to the device I/O such as digital I/O, analog inputs, and analog outputs. On the U6 and U3, a feedback function can combine multiple control actions into a single command by defining different control IOType and Data in the Data Words section (bytes 6 and beyond) of the command frame. Similarly, the UE9 feedback function provides a mechanism to read and write most device features such as digital I/O and analog inputs in a single command. See the following sections.

U3 and U6 Feedback

UE9 Feedback

Comm Functions (UE9 only)

The UE9 has two processors, with one dedicated for handling device to host computer communications. The comm functions provide controls for the comm processor such as functions to flush the stream buffer or set the device Ethernet IP.

Error Codes

Our error codes page documents the errors that can be returned from UD devices. Note that other errors can be propogated from other interfaces. For example, USB and checksum errors from the Exodriver.

Example Code

Most of our Windows programming examples use our high-level UD library software. We recommend using the UD library if you are programming on Windows. For examples that use our low-level functions, see the entries in our UD Example Code Table that are supported on macOS and Linux.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.