Skip to main content
Skip table of contents

Using a Thermocouple with the T8


The T8 has the best resolution and amplification for measuring raw thermocouple signals. A single T8 can measure up to 8 thermocouples! Not only that, but each input is differential, opto-isolated, and contains a separate CJC, allowing for much higher accuracy than the other T-Series devices. 

If you need to handle more than 8 signals, check out Selecting the Right Hardware to compare our different hardware solutions.

The T8 also sports a 24-bit low-speed sigma-delta converter that is excellent for thermocouples. In addition to the improved resolution, this converter provides great rejection of 50/60 Hz noise, which can be a common problem in thermocouple applications.


A type K thermocouple provides roughly 40 μV/°C.  Output is -10.8 mV at -270 °C to +54.89 mV at 1372 °C.

As for the LabJack T8, here are the input resolutions for type K thermocouples:


Noise Free (°C)

Effective (°C)


0.3 °C

0.05 °C


0.075 °C

0.0125 °C

In-depth breakdown: The maximum ResolutionIndex for a T8 is 16, and the typical range used with thermocouples is ±100 mV.  From Appendix A-3-3 of the T8 User's Guide, looking at the ±0.15V range, the typical device resolution at ResolutionIndex=8 is about 12 μV noise-free and 2.0 μV effective (0.3 and 0.05 °C for a type K).  At ResolutionIndex=16 it is about 3.0 μV noise-free and 0.5 μV effective (0.075 and 0.0125 °C for a type K).  The effective numbers mean that most samples (1 standard deviation) will fall in that range.

Note that the actual signal from a thermocouple will likely have real noise with it, beyond the internal noise of the device itself noted above.

Also note that temperature in air tends to have many small fluctuations.  What looks like noise on a thermocouple signal might be real temperature changes.


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

From Appendix A-3 of the T8 User's Guide, the device is calibrated to an absolute accuracy of ±0.015% full-span on the ±0.15 V range.  Full-span is 0.3 V so that equates to an accuracy of ±45 μV, which corresponds to an accuracy of about ±1 °C for a type K thermocouple, which is more accurate than the thermocouple itself.

There are other sources of error in a thermocouple system, and in particular any error in cold junction temperature measurement is reflected as error in the thermocouple temperature. Expect about ±2.0 °C with the Internal Temperature Sensor, or about ±0.5 °C with the LM34CAZ temperature sensor. If the local ends of the thermocouples are all at the same temperature, then CJC error will affect them all equally and will not affect relative accuracy between the thermocouples.

Tutorial: T8 and Type K Thermocouples

The following instructions will help you connect a Type K thermocouple to a LabJack T7 in a differential input configuration using Kipling. After that has been done, there are instructions for how to read the value of a Type K thermocouple and save the data to a .csv file using LJLogM.

1. Go through the T8 Quickstart Guide.

2. Thermocouple Wiring.

For this tutorial, we recommend using the isolated pair AIN0+ and AIN0- on the T8.

Connect as shown below:

  • Thermocouple + to AIN0+

  • Thermocouple - to AIN0-





Note that you don’t need a differential connection resistor because of the T8’s isolated inputs! 🙂

3. Run our Kipling software and Connect to the T8

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

4. Configure the Analog Input Channels in Kipling

For thermocouple measurements on the T8, the only device configuration that you should need to set is the AIN range. The ±0.075V range setting is suitable for most thermocouple types as a catch-all configuration.

We recommend using the smallest range setting that will work for your measurement. See our analog input documentation for related information.

To configure the AIN0 range in Kipling, do the following:

  1. Navigate to the register matrix tab in Kipling.

  2. Search for the register AIN0_RANGE and add it to the active registers by clicking on it.

  3. Click on the "write mode" button for AIN0_RANGE in the active registers section. It looks like a small pencil icon under the VALUE column. Set the value to reflect the range setting you want to use. For example, write 0.075 for the ±0.075V range setting. Click the "write" button to apply your new range setting.

  4. To save these settings so that when the device is powered-on, go to the Power-Up Defaults tab and follow the steps to save "Current Device Settings" as it's power-up defaults.

5. Log Data with LJLogM

Close Kipling and then open the device in LJLogM.

6. Configure a Thermocouple Measurement

The T8 can be set up to collect and convert temperature readings automatically using the thermocouple AIN_EF, or can be manually converted from a plain voltage measurement from within LJLogM.

AIN_EF Method:

Ensure that AIN0_EF_READ_A is in the Names column for row0. This will configure LJLogM to measure the AIN0 thermocouple temperature in row0, reported in the Value column. From here, skip to step 9.

Traditional/Manual Method:

Ensure that AIN0 is in the Names column for row0. This will have LJLogM measure AIN0 in row 0, which is configured to measure the thermocouple voltage as described in the previous steps. Continue to step 7.

7. Configure a CJC Measurement (Applies Only to the Traditional/Manual Method)

The temperature at the AIN0 terminal should be the thermocouple cold junction temperature, and should be found to do cold junction compensation. Replace the register name in the Names column of row1 with TEMPERATURE0_CAPTURE. This will set LJLogM to measure the temperature of the AIN0 terminal. See the Internal Temp Sensor section of the T-series datasheet for more information about the device temperature registers.

8. Apply Scaling Equations (Applies Only to the Traditional/Manual Method)

The scaling equation column of LJLogM can be used to convert a thermocouple voltage to temperature.  See the Scaling Equations description in the LJLogUD/LJLogM documentation. The equation you want for the AIN0 measurement in row0 is:
y=TCVoltsToTemp[K:a:b]                             // degrees K
y=TCVoltsToTemp[K:a:b]-273.15                 // degrees C
y=1.8*(TCVoltsToTemp[K:a:b])-459.67       // degrees F

... where K means Type K thermocouple, a is the raw value measured in row0 (the raw thermocouple voltage), and b is the the raw value measured in row1 (cold junction temperature in Kelvin).  The TCVoltsToTemp function supports B, E, J, K, N, R, S and T type thermocouples.

Note that the scaling equation variables are a-p corresponding to row0-row15. For example, row4 corresponds to scaling variable e. The scaling equation described above should be adjusted accordingly if you are applying it to channels beyond row0 and row1.

9. Check the Thermocouple Temperature and Troubleshoot if necessary.

After finishing the steps above, you should see a good thermocouple temperature reported in the Scaled column of row0. If you do not see good measurements, see our thermocouple application note Troubleshooting Tips section.

10. [Optional] Configure Additional Thermocouples.

Repeat steps 2-8 for any additional thermocouples you want to configure on other AIN channels, except we suggest replacing the regular AIN# register in LJLogM with AIN#_CAPTURE in order to take the AIN measurement simultaneously with the AIN0 measurement. For example, set the LJLogM row2 Names column to AIN1_CAPTUREt o get the raw thermocouple voltage of a thermocouple on AIN1. Also be sure to change # Channels in LJLogM to reflect the number of rows you want to take measurements from.

11. Save Data to File.

Once you are getting all thermocouple readings that you want in LJLogM, you can start logging data to file by clicking the small Write to File radio button near the Exit button in LJLogM. 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.

Going Further

The T8 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.

Additional Notes

  • The AIN_EF are incompatible with stream mode acquisition, so the manual/traditional measurement method mentioned in the tutorial above would be required when using stream mode.

  • If you intend to do programmatic control, note that we have examples in various languages such as C, Python, and LabVIEW.

  • If you intend to do programmatic control and if you are using the traditional/manual thermocouple measurement method mentioned in the tutorial above, note that our TCVoltsToTemp function can be used to handle the voltage to temperature conversion.

JavaScript errors detected

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

If this problem persists, please contact our support.