Support and Documentation

Using a Thermocouple with the T7

image-20240506-165949.png
T7 with a Thermocouple Connected

Overview

T7 devices have the resolution and amplification necessary to directly measure thermocouples. Through only the built-in screw terminals, a T7 can measure up to 4 single-ended thermocouples. Beyond that, add a CB37 to handle up to 6 (recommended max) differential thermocouples, or add a Mux80 to handle up to 26 (recommended max) differential thermocouples. For more details see Selecting the Right Hardware.

For the best accuracy, consider adding a dedicated temperature sensor such as an LM34 to measure the cold junction temperature.

Resolution

The voltage range for a type K thermocouple is -10.8 mV at -270 °C to +54.89 mV at 1372 °C. This equates to an output of roughly 40 µV/°C. The corresponding temperature resolution when using a T7 is described in Table 1.

Table 1: Approximate Type K Thermocouple Measurement Resolution Using the T7.

Resolution Index

Noise Free (°C)

Effective (°C)

8

0.2 °C

0.04 °C

12 (T7-Pro)

0.03 °C

0.005 °C

In-depth breakdown: The maximum resolution index is 8 on the T7, or 12 on the T7-Pro. The typical input range used for thermocouple measurements is ±0.1 V.  From Appendix A-3-1 of the T7 User's Guide, the typical device resolution at resolution index 8 and ±0.1 V range is is ≈6.3 μV noise-free and ≈1.3 μV effective (0.2 and 0.04 °C for a type K). 

At resolution index 12 the T7 resolution is ≈1.2 μV noise-free and ≈0.2 μV effective (0.03 and 0.005 °C for a type K).

Most temperature samples (1 standard deviation) are expected to fall within the effective resolution value.

Real thermocouple signals could be affected by external noise sources that result in worse resolution than the values detailed above.  The 24-bit low-speed sigma-delta converter on the T7-Pro has excellent noise rejection. In particular, it rejects 50/60 Hz noise very well at resolution index 12.

Air temperature tends to fluctuate naturally. What looks like noise in a thermocouple measurement could be real temperature changes.

Accuracy

What's the difference between resolution and accuracy?  See the Resolution and Accuracy app note.

From Appendix A-3 of the T7 User's Guide, the T7 is calibrated to an absolute accuracy of ±20 μV at the ±0.1 V range.  This corresponds to ±0.5 °C for a type K thermocouple, which should be more accurate than the thermocouple itself.

There are other sources of error in a thermocouple system. In particular, any error in cold junction temperature measurement is reflected as error in the thermocouple temperature. Expect an error around ±2.0 °C with the Internal Temperature Sensor, or about ±0.5 °C with an LM34CAZ temperature sensor.

When using multiple probes where the thermocouple cold junctions are at the same temperature, the errors in cold junction compensation will be uniform. It will not affect the relative accuracy between the thermocouples.

Tutorial: T7 and Type K Thermocouples in Kipling

Follow these instructions to connect a Type K thermocouple to a LabJack T7 and acquire readings using Kipling. The “Going Further” section provides guidance for other software options.

1. Go Through the T7 Quickstart Guide.

2. Connect the Thermocouple to an Analog Input.

Thermocouple measurements can have many complications, so it is best to start with the simplest setup possible. This tutorial will use AIN0 on the T7. Connect the thermocouple to the T7 screw terminals as follows:

  • Thermocouple+ to AIN0.

  • Thermocouple- to GND.

  • The remote end of the thermocouple should be in free air near the T7, and not touching anything besides air. Pull on both thermocouple leads to ensure they are securely clamped into the screw terminals.

  • Nothing else should be connected to the T7 screw terminals or DB connectors.

3. Run Kipling and Connect to the T7.

Plug the device in over USB, and then click Refresh Devices in Kipling. Click the Green USB button to open the T7.

image-20240507-170456.png

4. Configure and Read the Analog Input in Kipling.

The AIN can be configured in Kipling by using the Analog Inputs tab wizard, or by manually writing device registers using the Register Matrix tab.

Wizard Configuration (Easiest Method)

The simplest way to configure AIN is using the wizard in Kipling. Go to the Analog Inputs tab, press the + button for AIN0, and set Extended Feature (EF) to TypeK Thermocouple.

kipling_t7_thermocouple_tutorial_configure.png

The thermocouple voltage in the above screenshot is about -160 μV. Since the response of a type K is about 40 μV/K, this reading tells us that the remote end of the thermocouple is about 4 degrees cooler than the local end (T7 screw terminals), which makes sense for a warmed up T7.

The calculated thermocouple temperature is 295.8 K. This makes sense since the CJC (local end) temperature is 299.7 K and the -160 μV reading tells us the remote end is 4 degrees cooler than the local end.

Register Matrix Configuration (Alternate Method)

This method may be useful if you eventually intend to do the AIN configuration programmatically.

  1. Navigate to the Register Matrix tab in Kipling.

  2. Add AIN0_EF_INDEX to the active registers list. To do so, search for the register using the search bar. When the register appears in the search results, click on the check mark to the left of the register name to add it to the active register list.

  3. Set AIN0_EF_INDEX to 22 to configure the type K thermocouple measurement feature (AIN_EF). To do so, click on the "write mode" button for AIN0_EF_INDEX in the active registers section. The “write mode” button looks like a small pencil icon under the VALUE column. Next, update the register value and click the “write” button.

  4. Add AIN0, AIN0_EF_READ_A, and AIN0_EF_READ_C to the active registers list. These return the raw thermocouple voltage, the thermocouple temperature, and the thermocouple CJC temperature, respectively.

The image below shows example readings where the thermocouple remote end was brought close to the cold junction, resulting in a near 0 V reading on AIN0. You may note that the temperature values are high for a room temperature, but they match the expected values at the time of testing.

Screenshot 2026-07-28 153504.png

5. Troubleshooting Readings.

If you are not sure what temperature to expect or your reading are not consistent with what you expect, see the tests and other guidance provided in the “Wrong Temperature” section of the Thermocouple Troubleshooting page.

6. [Optional] Configure a Differential Measurement.

Differential measurements are always recommended when measuring more than one thermocouple. Further, they can help reduce or eliminate some thermocouple measurement complications. For more details see the "Thermocouple Complications" section of the Thermocouple App Note.

The T7 is capable of measuring up to 42 thermocouples using differential measurements when combined with a Mux80 and any necessary CB37 expansion boards.

To set up a differential measurement, connect the thermocouple to the T7 screw terminals as follows:

  • Thermocouple+ to AIN0.

  • Thermocouple- to AIN1.

  • Wire a ≈100 kΩ resistor between AIN1 and GND.

There is one additional configuration in Kipling necessary to set up differential measurements in software.

Wizard Configuration

Go to the Analog Inputs tab in Kipling, press the + button for AIN0, and change Negative Channel from GND to AIN1.

Register Matrix Configuration

Go to the Register Matrix tab in Kipling, Add AIN0_NEGATIVE_CH to the active register list, then set its value to 1 (which corresponds to AIN1).

7. Use an LM34 for CJC.

Any error in cold junction measurement will show up in the calculated thermocouple temperature. An external cold junction sensor might be used to maximize accuracy. For example, when connecting thermocouples to a CB37 terminal board, the CB37 screw terminals are the cold junction so it is common to put an LM34CAZ sensor in AIN12 on the CB37. The following steps would configure an AIN thermocouple feature to use an LM34 sensor on AIN12 for CJC:

Wizard Configuration

Go to the Analog Inputs tab and press the + button for AIN0. Set CJC Modbus Address to External Sensor on AIN12, CJC Slope to 55.56, and CJC Offset to 255.37.

Register Matrix Configuration

Go to the Register Matrix tab in Kipling. Add and set the following registers to the active register list:

  • Set AIN0_EF_CONFIG_B to 24, which corresponds to the CJC reading (the Modbus address for AIN12 is 24).

  • Set AIN0_EF_CONFIG_D to 55.56, which corresponds to the CJC Slope.

  • Set AIN0_EF_CONFIG_E to 255.37, which corresponds to the CJC Offset.

8. [Optional] Configure Additional Thermocouples in Kipling.

Repeat steps 2-7 for any additional thermocouples you want to configure on other AIN channels.

Do not connect multiple thermocouples to the same AIN terminals. For example, if you take a differential measurement between AIN0 and AIN1, the next thermocouple should be configured on AIN2.

For AIN0-13, the positive channel in a differential pair should always be an even numbered AIN and the negative channel the following odd numbered AIN. f.e. AIN0-AIN1, AIN2-AIN3, AIN4-AIN5, etc.

9. [Optional] Configure Settings as Power-Up Defaults.

Most AIN settings such as the input ranges and thermocouple measurement features can be saved so that they are automatically applied when the T7 is powered on. To configure power-up defaults using Kipling, go to the Power-Up Defaults tab and follow the instructions on the page to save "Current Device Settings" as the power-up defaults. See Device Configurations in the T-Series Datasheet for more information.

Power-up default settings only apply to device registers and their associated features. These settings are separate from LJLogM. LJLogM settings such as #Channels, Names, etc. are saved automatically when you exit LJLogM.

Going Further

The T7 is compatible with multiple thermocouple types including B, C, E, J, K, N, R, T, and S. For an up-to-date list, look at section 14.1.1 Thermocouple which is in the AIN/AIN_EF section of the T-Series Datasheet. If another thermocouple type is required for your application let us know.

The thermocouple AIN feature (AIN_EF) can be configured programmatically by reading and writing AIN_EF registers, similar to what is described in the “Register Matrix Configuration” sections of the tutorial above.

Software Options

There are four main software options to acquire thermocouple measurements:

  1. LJLogM: LJLogM is the simplest logging solution. See the “Log Data with LJLogM” section below.

  2. Custom LJM Software: LJM is recommended if you need to create custom software. Programming examples are available on the LJM Example Code page. Registers such as AIN0_EF_INDEX and AIN0_EF_READ_A can be written and read using the LJM Single Value Functions or Multiple Value Functions.

  3. DAQFactory: DAQFactory is more customizable than LJLogM. It may require a small amount of programming, but much less than LJM or Modbus TCP programs. See "Device Configuration" and "Linking LabJack Inputs/Outputs to DAQFactory Channels" sections on the DAQFactory for LJM page.

  4. Direct Modbus TCP Communications: LabJack recommends using LJM over direct Modbus TCP communications whenever possible. See the Direct Modbus TCP Getting Started guide.

See the T-Series Software Options page for a full list of software options.

Thermocouples in Stream Mode

The AIN_EF functionality is not compatible with stream mode acquisition. Stream mode is for high-speed acquisition, which is not typically required for thermocouple measurements, but can be handled as follows:

  1. Configure analog inputs as needed. The AIN range is typically set to ±0.01 V.

  2. Add analog input registers to the stream scanlist that correspond to the raw thermocouple voltage and cold junction sensor voltage. For example, you might add the registers AIN0 (thermocouple voltage) and AIN14 (internal temperature sensor voltage) to the stream scanlist.

  3. Convert raw CJC sensor voltage to temperature in software. The conversion formula will depend on the sensor used. The following formula applies to the internal temperature sensor:
    Device temperature K = volts * -92.6 + 467.6

  4. The measured thermocouple voltage and CJC temperature can be converted to thermocouple (remote end) temperature using the LJM TCVoltsToTemp function.

Some AIN range settings may not be available when streaming many channels at high acquisition rates. See the Stream Data Rates appendix for more information. Range settings such as ±10V will not provide good thermocouple measurement resolution, in which case external amplification such as the LJTick-InAmp may be necessary.

Log Data with LJLogM

LJLogM is a simple solution to log thermocouple measurements. Close Kipling and then open the T7 in LJLogM.

Thermocouple Readings in LJLogM

Set the value of the row0 Names column to AIN0_EF_READ_A. This will configure LJLogM to measure the AIN0 thermocouple temperature in row0, reported in the Value column. Repeat this step for however many thermocouples you configured in Kipling. Also be sure to change the # Channels control to reflect the number of channels you want to read in LJLogM. For example, if you set up a second thermocouple on AIN2 you could set the value of row1 Names column to AIN2_EF_READ_A to read the thermocouple temperature in row1. Set # Channels to a value >=2 to read at least the first two channels/rows.

AIN_EF readings will only work in LJLogM if the thermocouple measurement feature is configured for each corresponding AIN channel. See the configuration steps in the section “Tutorial: T7 and Type K Thermocouples in Kipling” above.

Save LJLogM Data to File

Once you see good thermocouple readings in LJLogM, you can start logging data to file by clicking the small Write to File radio button. This will save data as a tab delimited ASCII file with a timestamp in the first column. See the LJLogUD & LJLogM Timestamps page for additional information.