This is a central resource designed to help new and experienced users get a T-Series device setup, running, and select the optimal control scheme for any project. Along the way, we will cover key terms needed to understand the operation and features of the devices, the connection types, and where to find additional information.
Installation
To begin using your T-series device, install the LabJack driver and software bundle. This comprehensive installer supports all U-Series (U3, U6, UE9) and T-series (T4, T7, T8) devices. Should you encounter any installation problems, please consult our Windows Installer Troubleshooting guide.
Quickstart Tutorial
The quickstart tutorials will guide you through connecting to the device and taking your first measurements. Follow the guide for the device you are using:
The following terms introduce the core principles of T-Series functionality. They provide a foundation for understanding how the device operates and will make the rest of the documentation easier to follow.
Registers
T-Series devices operate using a register-based system. Every feature of the device is accessed by interacting with the registers. Using this system, you can interact with the device in two primary ways:
Writing: Used to configure a setting, trigger a specific internal action, or store a value on the device. For example, writing to AIN4_RANGE configures the voltage range for that input.
Reading: Used to retrieve a current setting, access a stored value, or trigger an action that returns a result. For example, reading from the AIN4 register triggers a measurement and returns the current voltage.
Each section of this datasheet identifies the specific register names used to operate the feature being described. For a comprehensive list of all available registers, refer to the Modbus Map.
Each register has both a Name (e.g., DAC1) and a numerical Address (e.g., 1002). Our API is designed to accept register names, making code easier to read, write, and maintain. This is the recommended method for most users. Advanced users or those using third-party Modbus software can use the numerical address directly.
Command-Response vs Stream Mode
There are two distinct ways to communicate with T-Series devices. The choice depends on whether you need individual, immediate readings or a continuous flow of high-speed data.
Command-Response (C-R)
Command-Response is the standard mode for most applications. In this mode, the computer sends a request to the LabJack (the command), and the LabJack sends a response back.
Best for: Changing settings, toggling digital I/O, or reading sensors at lower speeds (typically up to ~800 samples/second).
Software-Timed: The timing is managed by the application's code. The interval between samples may vary due to how the operating system schedules tasks. Typically, that variance is around 1 ms. (Note: Jitter may be higher over network connections, especially WiFi). If better precision is needed, stream mode (below) should be considered.
Latency: Each command is subject to the "round-trip" time of your connection (USB, Ethernet, or WiFi).
Stream Mode (Stream)
Stream is a hardware-timed mode where the LabJack captures data at a precise, fixed rate. Instead of waiting for a command for every sample, the LabJack uses its internal crystal oscillator to trigger measurements and sends the data to the computer in large packets.
Best for: Capturing high-speed waveforms or any application where the time between samples must be perfectly uniform.
Hardware-Timed: The interval between samples is more precise. The sample timing is controlled by the LabJack’s crystal based clock. The result is much less variation “jitter” in the time between measurements.
Throughput: By grouping many samples into each communication packet, Stream achieves much higher data rates than Command-Response.
Concurrent C-R: While stream is running, the device will still accept C-R instructions. Some systems like the analog inputs may be unavailable because Stream is using them.
Datasheet
T-Series devices share a common datasheet which provides information about hardware, features, and technical specifications. Key sections include:
Hardware Overview - Describes physical features and includes pinout tables detailing the capabilities of every I/O.
Modbus Map - A quick reference tool for looking up registers.
Features & Operation - Detailed descriptions of device capabilities, including the specific registers needed to operate each feature.
Specifications - Electrical and mechanical specifications are located in the appendix.
Connection Types
T-Series devices offer several ways to connect, each with specific advantages and considerations:
USB
Quick, easy, and reliable for short distances. Note that USB can be sensitive to ESD (Electrostatic Discharge) events. This app-note will help you track down any issues:
Great for reliable, long-distance communication. Connecting to managed networks, such as those at an office or other IT managed locations, might require additional setup steps. Here are a few guides to get you going:
T-Series devices can be controlled with free applications from LabJack, commercial programs, and most programming languages. These can connect directly to the device or utilize our driver and easy-to-use API. This flexibility opens up a lot of options. The “Device Control Options” below briefly discusses each to help you select an initial direction for your project.
A key factor in this decision is that T-Series devices can save their configuration internally so that settings are automatically reapplied on startup. This creates two primary ways to approach your setup:
Integrated Setup: Configuring and controlling the device entirely within a single custom application.
Decoupled Setup: Using a dedicated utility to "set and forget" the device configuration, then using a separate lightweight application for data collection.
The sections below briefly cover each option for configuring and controlling your device. Greater detail for each method can be found in the provided links.
Configuration Options
Before writing your application, you must decide how the device will be configured. There are three primary methods:
Boot-up Configuration (Power-up Defaults): You can save a specific configuration directly to the device’s non-volatile memory using Kipling or your own application. The device will then automatically load these settings every time it powers on.
Best for: Simplifying your code and ensuring consistent behavior when using LJLogM or LJStreamM.
In-Application Configuration: Kipling uses the same Modbus registers that are accessible to any application. Any configuration that can be set in Kipling can be also be set in your program.
Best for: Ensuring the device is in a known state regardless of previous usage or changes made by other software.
On-Device Lua Scripts: A Lua script running on the T-Series device can manage complex configurations autonomously. This can be much more convenient than using Kipling, especially when dealing with high-channel counts or complex features like AIN_EF.
Best for: Applying configuration to many channels, applying the same configuration to multiple devices, making small changes to many channels.
Device Control Options
Kipling: Primarily used to test, configure, and update the device. It is a convenient tool for verifying hardware operation, exploring features, and setting the Power-up Defaults.
LJLogM and LJStreamM: Free, ready-to-run logging programs provided by LabJack. These are great for projects that require straightforward data collection to a file. While they include simple, manually triggered output capabilities, they are not suitable for applications that require the computer to set outputs automatically based on logic or timing.
Custom Programs: For full control, you can write your own software. We provide a simple API (LJM) and extensive code examples (Python, C++, C#, etc.) to help you integrate LabJack control directly into your application. You can find examples for many languages here: LJM Examples
Lua: Lua scripts run locally on the T-Series hardware, providing several unique advantages:
Task Offloading: Move complexity away from the host PC by handling digital sensor interfaces or serial communication locally.
Simplified Configuration: Programmatically configure many features at once—useful for duplicating setups across multiple devices.
Stand-alone Operation: Perfect for autonomous tasks like PID control loops that must run even if the host computer is disconnected.
3rd-Party Software (COTS): Commercial Off-The-Shelf programs (like DAQFactory or LabVIEW) offer a middle ground for users who need more logic than our free loggers provide but prefer not to write code from scratch.
Modbus Clients and SCADA: Because T-Series devices speak native Modbus TCP, they can be controlled by many industrial SCADA systems. See our Direct Modbus TCP app-note for more information.
Note: Direct Modbus TCP connections generally do not support high-speed features like Stream or Feedback.
For more information about these choices, see the Software Options page.
App-Notes
Our goal is to make LabJack devices as easy to use as possible. To support that, we maintain an extensive library of App Notes covering sensors, communication protocols, specific device features, etc. These guides provide a great foundational for most common applications.
We suggest starting by seeing the resources above. If you still have questions from there, our engineers can help via email at support@labjack.com or via our live chat support. You should see our live chat widget and a description of our availability in the bottom right corner of each of our webpages.
TechExplorations has also created a comprehensive video based tutorial series centered around T4 control. More details can be found in our blog post here.