Thermocouples (App Note) | LabJack
« Close

Datasheets and User Guides

App Notes

Software & Driver


Free Shipping for U.S. Orders $150+   |   5-year Warranty   |   Try Our Devices & Support for 60 Days, Risk Free  |   50 of 54 Products In-Stock Now

Thermocouples (App Note)

Thermocouples Overview

If you are measuring in the range of -50 to +150 degrees C, consider using a silicon type temperature sensor, rather than a thermocouple.  See the "Temperature Sensors" application note.

Understand the difference between resolution and accuracy

The T7-Pro is the best device for thermocouples.  The U6 family has the same analog input quality as the T7, but does not have the ability to do the math in hardware (we do provide a UD driver function to handle the math in software).  The 24-bit converter available on the T7-Pro & U6-Pro provides higher resolution (at lower speeds), but perhaps more importantly with small thermocouple signals it also provides outstanding noise rejection.  The U3/T4 with LJTick-InAmps is the least expensive way to get decent readings from thermocouples:

U3/T4:  The U3 is a USB-only device that when combined with LJTick-InAmps provides the minimum cost solution for 4 or less thermocouples.  The T4 is similar but has USB & Ethernet.  See the U3/T4 Thermocouple Tutorial.

U6:  The U6 (or U6-Pro) is a USB-only device with much better analog inputs than the U3.  Thermocouples can be connected directly with better performance than the U3-LJTIA combination.  See the U6 Thermocouple Tutorial.

T7:  The T7 (or T7-Pro) has the same analog input system as the U6 (or U6-Pro), but provides Ethernet and USB connectivity (and also WiFi on the T7-Pro).  Also, on the T7 devices the AIN-EF system can be used to perform all thermocouple math in hardware so you can get direct readings of temperature.  See the T7 Thermocouple Tutorial.

U6-Pro/T7-Pro:  Same as the U6/T7 info above, but the 24-bit sigma-delta on the -Pro versions has even better resolution and noise rejection.  In particular, at lower sample rates the sigma-delta rejects 50 & 60 Hz which is a common problem with thermocouple signals.

UE9 & U12:  New applications should first consider the U3, U6, or T7 series devices.  The UE9-Pro is good with thermocouples, while the UE9 is okay providing a resolution of roughly 1 degree C.  The U12 can only resolve raw thermocouple voltages within 10s of degrees C, and thus generally requires an amplifier such as the EI-1040.


Silicon Type Sensors

In the range from -50 to +150 degrees C, silicon temperature sensors are generally cheaper, easier to use, and more accurate, than other types of temperature sensors. With no or minimal extra components, they provide a high-level linear voltage output that connects directly to a LabJack's analog inputs.

The EI-1034 is a silicon based temperature probe made by Electronic Innovations and sold by LabJack.  It uses an LM34CAZ sensor element from National Semiconductor.  The LM34 provides an easy-to-use 10 mV/degF.

The EI-1022 is a silicon based temperature probe made by Electronic Innovations and sold by LabJack.  It uses an LM335A sensor element from National Semiconductor.  The LM335A provides an easy-to-use 10 mV/degK, but needs a resistor also.


Thermocouple Complications

Thermocouples are not particularly accurate, and sometimes can be more difficult to use, but they are a very common way to measure temperature.  Some applications with extreme temperatures or specific mechanical requirements might require thermocouples.

Thermocouples have 1 main issue and other minor issues:

  1. Small Output Voltage:  The small output voltage of a thermocouple makes it difficult to get good temperature resolution.  The common K-type only provides about 40 uV/degC, thus for a temperature resolution of 0.1 degC you need a voltage resolution of 4 uV.  This is the reason the U3/T4 requires LJTick-InAmps, whereas the U6/T7 devices have the necessary resolution & amplification built-in.
  2. Cold Junction Effects:  The voltage generated by the thermocouple is related to the difference in temperature of the 2 ends (local and remote) of the thermocouple.  In order to know the absolute temperature at the remote end of the thermocouple, the temperature of the local end (called the cold junction) must also be known.  Once the cold junction temperature is known, cold junction compensation (CJC) is easily handled in software.  The U6 and T7 have built-in sensors to provide the temperature of the U6 or temperature of the T7.  If connecting to the CB37, rather than directly to the U6/T7, you might want an LM34CAZ to measure the temperature of the CB37.
  3. Non-Linear Output:  The output of a thermocouple is non-linear.  NIST provides tables and equations to convert a thermocouple voltage to a temperature.  The LabJack UD or M libraries provide convenient functions that use the NIST equations to handle the conversion, and DAQFactory has built-in conversion functions of its own.
  4. Poor Inherent Accuracy:  Thermocouples have errors due to the consistency of the thermocouple materials themselves.  There is a standard called IEC 584-2 that limits the allowable error for different thermocouple types at different temperatures, and these allowable errors are typically ±1.0 to ±2.5 degrees C at moderate temperatures, but can be as high as ±9.0 degrees C at 1200 degrees C.  See the "Thermocouple comparison" table on the Wikipedia thermocouple page.
  5. Bad Ground Loops:  This is a common and complex problem that our customers encounter.  It occurs when bare thermocouple wire is used, or a metal thermocouple probe where one of the thermocouple wires inside is connected to the probe (often called a "grounded" probe).  If multiple of these are connected to a common conductor (e.g. a system of connected metal pipes), and connected single-ended to the LabJack, you can get ground loops and unexpected thermocouple junctions.  The typical fix is to use differential inputs with a resistor (100k is typical) from the negative input to GND.  As noted in the Differential Readings Application Note, the resistor is sized to be low enough to provide a path for bias currents but high enough to prevent ground loop issues.  Differential connections usually prevent this problem, but sometimes further steps are needed (e.g. channel-to-channel isolation).  The best way to make sure this will never be an issue is to install thermocouples such that this situation does not exist:
    • Use some sort of substance, between the thermocouple metal and test specimen, that has good thermal conduction but poor electrical conduction.  Epoxy, tape, etc.
    • Place the thermocouple near, but not actually touching, the test specimen.
    • Use probes that are called "ungrounded". A very common option.
    • Use thermocouples with an electrically insulating layer between the thermocouple metal and test specimen.  One example is the SA1 series of self-adhesive thermocouples from Omega.
  6. Ground Offsets:  Care must be taken to avoid ground offset errors with single-ended measurements.  Error will result if the negative lead of the thermocouple is connected to a GND terminal that is at a different voltage than ground at the A/D chip.  See the "Ground Offsets" section on the Mux80 Datasheet.  A quick summary of this information would be that differential measurements (with ~100 kΩ resistor from negative AINx to GND) are recommended if using thermocouples with the Mux80.
  7. EMI Susceptibility:  Thermocouples produce weakly driven small voltages.  EMI can easily introduce noise on long thermocouple wires.


Connectors & Connections

For a single-ended connection (good if you do not have complications #5 or #6 above), connect + to AINx and - to GND.

For a differential connection, connect + to positive AINx (ex: AIN0) and - to negative AINx (ex: AIN1), and you almost always need to add a resistor (100k is typical) from negative AINx to GND per the Differential App Note.

The LabJack analog inputs are accessed through screw terminals or DB connectors.  If your thermocouple has plain wire ends, just clamp them right in screw-terminals and know that screw terminal is your cold junction.

If your thermocouple has a 2-pronged connector at the end such as the Amazon B00OK6CBMU, you can simply remove a screw or 2 and remove that connector, or get a female connector such as the REED LS-182 and add a couple pigtail wires.  Note that this connector is the cold junction, and also note that per the law of intermediate metals the type of this connector should not matter ... you should be able to use a type K connector with any type thermocouple.


Single-Ended or Differential

The previous section describes how to connect a thermocouple for single-ended (SE) or differential (DIFF) acquisition.  For most signals, all specifications (noise, accuracy, etc.) are the same for single-ended or differential, so why use an extra channel for a differential connection?  The Differential Readings App Note provides 3 typical reasons for using differential readings, but here is a list of reasons specifically for thermocouples:

  1. Bad Ground Loops:  Some systems create shorts between multiple thermocouples.  Differential connections can often solve this problem, but the best fix is to modify the thermocouple isolation to avoid the shorts.  See item #5 in the "Thermocouple Complications" section above.
  2. Ground Offsets:  If connecting thermocouples to the Mux80, substantial ground offsets can occur and differential connections are an easy fix.  See item #6 in the "Thermocouple Complications" section above.
  3. Rejection of Common-Mode Noise:  See "Why use differential?" item #3 from the Differential Readings App Note

Per the Differential Readings App Note, analog inputs cannot be totally floating, so a differential thermocouple connection will require the addition of a resistor from the negative channel to GND.  100 kΩ is a typical value.


Troubleshooting Tips

Too much noise: 

1.  Range and Resolution configuration settings:  The most common problem leading to too much noise is not having the correct range and resolution settings (on the U6/T7 in particular).  To test, disconnect the thermocouple and jumper the analog input to GND (or both analog inputs to GND if using a differential input).  Open LJControlPanel and go to the test panel (U6) or go to the Analog Inputs tab in Kipling (T7).  Set the range and resolution as needed and look at the noise level on the applicable channels and compare to the specified typical noise for the LabJack (Appendix A of the U3 Datasheet, Appendix B of the U6 Datasheet, Appendix B of the UE9 Datasheet, Appendix A-3-1 of the T-Series Datasheet, or Appendix B of the LJTick-InAmp Datasheet).  With the default thermocouple settings of Range=0.1 and ResolutionIndex=0, the noise level of a U6/T7 will be perhaps 1 or 2 microvolts.  After confirming the proper noise level in LJControlPanel/Kipling, go to your actual software and look at the raw voltage to confirm the proper noise level there.

2.  Floating differential input:  If using a differential input you usually need a resistor from the negative channel to GND.  See the Differential Readings App Note.

3.  Bad ground loops (see complications above), ground offsets (see complications above), or bad EMI sources nearby (e.g. arc furnace).

Wrong temperature:

1.  Is the CJC temperature correct?

A thermocouple gives you a voltage related to the difference in temperature between the 2 ends, so if there is a +10 degree error in the measurement of the local end (cold junction or CJ) you will see about a +10 degree error in the calculated value for absolute temperature of the remote end of the thermocouple.

If using the AIN-EF feature on the T7, read AIN#_EF_READ_C for the CJC temperature.

2.  Is the raw thermocouple voltage as expected?

Bring the remote end of the thermocouple over near the local end (CJ) to check the condition where both ends are at the same temperature.  You should read very close to 0 volts (within a couple hundred microvolts typically).  A thermocouple gives you a voltage related to the difference in temperature between the 2 ends, so if the remote end is at the same temperature as the LJTIA end, the voltage difference created by the thermocouple should be close to 0.

If using the AIN-EF feature on the T7, read AIN#_EF_READ_B for the raw thermocouple voltage.

To check at some arbitrary temperature difference, here are charts where you can look to see what voltage you expect:

For example, say you have a Type K thermocouple:

The voltage at the 25 deg C end is 1.000 mV and the voltage at the 35 deg C end is 1.407 mV, so the difference is 407 uV.

If the LabJack is reporting 407 uV, then continue to step 3.  If not, use a DMM to measure across the screw-terminals where the +/- leads are connected to see if the DMM reading is different or agrees with the LabJack.

If using a differential connection, also check the voltage on each input (AINeven and AINodd) compared to GND.  Both should be near 0, not near the rails (+13 or -13 volts).

3.  Is the math correct?  If the CJC temperature is right and the raw thermocouple voltage is right, then something must be wrong with the conversion math.

LJTIA troubleshooting:

In the U3 tutorial we use gain=51 and offset=0.4.  The tutorial has you install ground jumpers to check that the offset is correct and the noise level is as expected.

With signals connected to the LJTIA, a DMM can be used to measure the differential input INA+ versus INA-, and also measure the output (versus GND), and confirm that you see Vout = (51*Vdiff) + 0.4.

See Appendix C.1 of the LJTIA Datasheet.



Device Details and Tutorials

Thermocouples with the U3/T4 & LJTick-InAmp

Thermocouples with the U6

Thermocouples with the T7



I'm using E1050, 1022, 1034 but they have different time constants, using thermocouples would be a big step forward to capture temperatures in real time!

I would agree that you can get thermocouples with faster response times than those probes.  You can also use the plain silicon sensors without probe assemblies and use thermal compounds to improve heat transfer, but even then you can find thermocouples with faster response times for systems with very rapid temperature changes.

I am sure this has been addressed but I am not putting the pieces together.

I need to read thermocouples with the U6 on DaqFactory Express. They have lots o U9 and U3 info for TCs but are not detailing the U6

In the sequence I have put ... <edited>

Before we get into too much, did you see the DAQFactory Examples page?  Check out "Thermocouple U6.ctl" and "AIN Configuration U6.ctl".


I am considering purchasing a u6 to read several thermocouples and a voltage which is on the order of 1 volt.

On the u6, are the gains for each analog in channel set individually?  ie, can I have +/-0.1 on a channel, and +/-1 on another channel?

If each channel's gain is separately set, is each channel read individually with independent 16 bit resolution?

ie: the channel set to +/-0.1V has ~3uV resolution while the +/-1V channel has ~30uV resolution.


I'm having issues running type K thermocouples at high temperatures. They are reading gas temperatures, and the temperature is known to be above 1000 degrees F but the thermocouples wont go above 500. They are running parallel to wires controlling a heating element at high voltage, could this be an issue (magnetic field?)? They're connected into a U6 through a CB37 terminal board, from Ain to GND.



Looks like 500 degF is about 10.5mV.  Are you using the +/-10mV range, and perhaps need to switch to the +/-100mV range?

I have used seven differential connection of thermocouples in the U6. My question is, how can I arrenge  the window of LJLogUD to read data as a temperature file, I mean (+Ch, -Ch, and ranges) and scaling equation as well, when using seven differential connection of thermocouples, where the information in the tutorial (Type K with U6) just about one or three of thermocouples for example (Move the pos/neg thermocouple leads to AIN0/AIN1, AIN2/AIN3, and AIN4/AIN5.  You also need some 10k resistors to go from AIN1 to GND, AIN3 to GND, and AIN5 to GND.  In the first 3 rows of LJLogUD, change the +CH/-CH to 0/1, 2/3, and 4/5)

First follow the tutorial and get 1 thermocouple connected to AIN0/AIN1?  Does this work?  Then expand to 3 thermocouples and see if that works.  Then expand to 7 thermocouples and see if it still works for you.

I am using a U12 and want to make temperature measurements. I have a few J type thermocouples that I can use for my application. Would you recommend getting an amplifier (like the EI-1040) or to instead use thermocouples like the EI-1034 or EI-1022? Which method yields a higher resolution?

If the silicon sensors will work for you (physical form factor?, temperature range?), then they are usually superior to other types of temperature sensors in all ways (cost, ease-of-use, resolution, accuracy).  If you need to use thermocouples, you will need an EI-1040 with the U12.