2.6.4 - Internal Temperature Sensor [U3 Datasheet] | LabJack
« Close

Datasheets and User Guides

App Notes

Software & Driver


2.6.4 - Internal Temperature Sensor [U3 Datasheet]

The U3 has an internal temperature sensor. Although this sensor measures the temperature inside the U3, which is warmer than ambient, it has been calibrated to read actual ambient temperature, although should only be expected to be accurate to within a few degrees C. For best results the temperature of the entire U3 must stabilize relative to the ambient temperature, which can take on the order of 1 hour. Best results will be obtained in still air in an environment with slowly changing ambient temperatures.

With the UD driver, the internal temperature sensor is read by acquiring single-ended analog input channel 30, and returns degrees K. Use channel 30 anywhere you would use an analog input channel (e.g. with eAIN).


The internal temperature sensor on the U3-HV has not been giving me accurate readouts of ambient temperature. I am working in a still air lab and after allowing the device enough time to stabilize it has been giving values of roughly 2 degrees K warmer then ambient, and sometimes more. I am using LJStreamUD for the temperature readings and comparing with a separate calibrated temperature controller and a standard thermometer. 

I am trying to get accurate readings from thermocouples and following the process and formulas given on this page:
however the results are inaccurate due to the skewed reference temperature. My solution was to simply input an exact measurement of ambient temperature into the formulas, but I would prefer having the dynamic temperature the LJ gives from its internal sensor.

Is there a reason the LabJack isn't giving a proper ambient temperature readout? This article claims it "has been calibrated to read actual ambient temperature" but for me it is not working accurately.

Your results do not sound unusual.  The U3 internal temperature sensor is calibrated to air temperature, but that calibration only results in an accuracy of a few degrees.  The app note you linked suggests using an LM34CAZ to provide better results.

BinarySolo's picture

I think that getTemperature() should be used to read the internal sensor in Kelvin, not analog channel 30. This is what worked for me:


labjack support's picture

This page is referring to the UD driver and its functionality, where reading analog channel 30 returns the temperature in Kelvin.

For LabJackPython and the U3 class, use getTemperature, or use getFeedback to read analog channel 30 and convert the binary reading to temperature with binaryToCalibratedAnalogTemperature.