Notice: This page contains information for the legacy Phidget21 Library. Phidget21 does not support VINT Phidgets, and will not support any new Phidgets. Phidget21 will be maintained until 2020. We recommend that new projects be developed against the Phidget22 Library.

Click on the 2phidget22.jpg button in the menu bar to go to the Phidget22 version of this page.


1051 User Guide

From Phidgets Legacy Support
Jump to: navigation, search
Go to this device's product page

Getting Started

Checking the Contents

You should have received:

  • A PhidgetTemperatureSensor 1-Input
  • A Mini-USB Cable

In order to test your new Phidget you will also need:

  • A Thermocouple with stripped end

Connecting the Pieces

  1. Connect the thermocouple to the input terminal block on the 1051. Make sure that the thermocouple ground wire goes into the ground terminal (-). For example, if you are using a 2007 - Phidget K-type Thermocouple, the white wire is the ground wire.
  2. Connect the 1051 to your PC using the Mini-USB cable.

1051 2 Connecting The Hardware.jpg

Testing Using Windows 2000 / XP / Vista / 7

Make sure you have the current version of the Phidget library installed on your PC. If you don't, follow these steps:

  1. Go to the Quick Downloads section on the Windows page
  2. Download and run the Phidget21 Installer (32-bit, or 64-bit, depending on your system)
  3. You should see the Ph.jpg icon on the right hand corner of the Task Bar.

Running Phidgets Sample Program

Double clicking on the Ph.jpg icon loads the Phidget Control Panel; we will use this program to ensure that your new Phidget works properly.

The source code for the TemperatureSensor-full sample program can be found in the quick downloads section on the C# Language Page. If you'd like to see examples in other languages, you can visit our Languages page.

Updating Device Firmware

If an entry in this list is red, it means the firmware for that device is out of date. Double click on the entry to be given the option of updating the firmware. If you choose not to update the firmware, you can still run the example for that device after refusing.

Double Click on the Ph.jpg icon to activate the Phidget Control Panel and make sure that the Phidget Temperature Sensor is properly attached to your PC.

1051 2 Control Panel Screen.jpg
  1. Double Click on Phidget Temperature Sensor in the Phidget Control Panel to bring up TemperatureSensor-full and check that the box labelled Attached contains the word True.
  2. Select the thermocouple type (In this example, we're using a K-Type thermocouple). If you don't choose the correct type, your temperature results will be incorrect.
  3. Touch a source of heat (light bulb, candle or lighter flame) with the thermocouple probe and watch the Thermocouple temperature increase.
  4. The potential value will also increase as the thermocouple temperature increases.
  5. The ambient temperature gives you the board temperature.
  6. You can adjust the data sensitivity by moving the slider pointer.
1051 2 Temperature Screen.jpg

Testing Using Mac OS X

  1. Go to the Quick Downloads section on the Mac OS X page
  2. Download and run the Phidget OS X Installer
  3. Click on System Preferences >> Phidgets (under Other) to activate the Preference Pane
  4. Make sure that the e Phidget Temperature Sensor 1-Input is properly attached.
  5. Double Click on e Phidget Temperature Sensor 1-Input in the Phidget Preference Pane to bring up the TemperatureSensor-full Sample program. This program will function in a similar way as the Windows version.

Using Linux

For a step-by-step guide on getting Phidgets running on Linux, check the Linux page.

Using Windows Mobile / CE 5.0 / CE 6.0

For a step-by-step guide on getting Phidgets running on Windows CE, check the Windows CE page.

Technical Details

Cold Junction Compensation and Self-heating

Thermocouples consist of two junctions, one where the thermocouple meets the Phidget and one where the two wires are welded together at the sensing end of the device. In order to get accurate readings from the thermocouple one of these temperatures must be a known quantity. It doesn't make much sense to know the temperature at the end you are trying to sense at! Therefore it stands to reason that we need to know the temperature at the end where the thermocouple connects to the Phidget. This is why there is an ambient temperature sensor built onto the board.

An important thing to note though is that the ambient temp sensor measures the temperature of the air around the board and not specifically the junction. Generally you can assume they are nearly one and the same value, however as the electronics get hot due to being powered up there can be some small error introduced. This is exacerbated by having the board in an enclosed space where normal airflow is restricted thereby increasing the effect of self-heating. As a result we recommend that the board be left in as open and well ventilated/cooled a place as possible to minimize this error source.

For more information on thermocouples, check out the Thermocouple Primer.


We document API Calls specific to this product in this section. Functions common to all Phidgets and functions not applicable to this device are not covered here. This section is deliberately generic. For calling conventions under a specific language, refer to the associated API manual in the Quick Downloads section for that language. For exact values, refer to the device specifications.


int TemperatureInputCount () [get] : Constant

Returns the number of thermocouples that can be read by this PhidgetTemperatureSensor.

double Temperature (int ProbeIndex) [get] : Celsius

Returns the temperature of a thermocouple. This value is returned in degrees Celsius but can easily be converted into other units. This value will always be between TemperatureMin and TemperatureMax. Please refer to the device specifications for noise and accuracy details.

double TemperatureMax (int ProbeIndex) [get] : Constant, Celsius

Returns the maximum temperature that can be returned by a thermocouple input. This value depends on the thermocouple type.

double TemperatureMin (int ProbeIndex) [get] : Constant, Celsius

Returns the minimum temperature that can be returned by a thermocouple input. This value depends on the thermocouple type.

double TemperatureChangeTrigger(int ProbeIndex) [get,set] : Celsius

Sets the change trigger for an input. This is the amount by which the sensed temperature must change between TemperatureChangeEvents. By default this is set to 0.5.
Setting TemperatureChangeTrigger to 0 will cause all temperature updates to fire events.This is helpful for applications that are implementing their own filtering.

double Potential (int ProbeIndex) [get] : Millivolts

Returns the potential of a thermocouple input. This value is returned in millivolts, and will always be between getPotentialMin and getPotentialMax. This is the value that is internally used to calculate temperature in the library.

double PotentialMax (int ProbeIndex) [get] : Constant, Millivolts

Returns the maximum voltage that can be measured by the 1051.

double PotentialMin (int ProbeIndex) [get] : Constant, Millivolts

Returns the minimum voltage that can be measured by the 1051.

double AmbientTemperature () [get] : Celsius

Returns the temperature of the 1051 board, measured near the thermocouple connector. This temperature is used as a reference for the thermocouple voltage. This value will always be between getAmbientTemperatureMin and getAmbientTemperatureMax.

double AmbientTemperatureMax () [get] : Constant, Celsius

Returns the maximum temperature that can be returned by the ambient sensor.

double AmbientTemperatureMin () [get] : Constant, Celsius

Returns the minimum temperature that can be returned by the ambient sensor.

int ThermocoupleType(int ProbeIndex) [get,set]

Returns/Sets the thermocouple type for an input. The possible values are J, K, E, and T, corresponding to K, E, J and T-Type Thermocouples. Support for other thermocouple types, and voltage sources other then thermocouples in the valid range (between getPotentialMin and getPotentialMax) can be achieved using getPotential. Note that this function will vary widely between APIs. Please refer to the Manual for the API you are programming against for exact calling conventions.


OnTemperatureChange(int ProbeIndex, double Temperature) [event]

Event that fires whenever the temperature changes by more than the TemperatureChangeTrigger.

OnError(int code, String description) [event]

PhidgetTemperatureSensor returns EEPHIDGET_OUTOFRANGE when an input goes out of the range specified by PotentialMin-PotentialMax or TemperatureMin-TemperatureMax. The event is reported once per input per out-of-range type. until the value has gone back into range. The description specifies the input, the type of out-of-range error and the out of range value that was read.

This should only happen for inputs which don’t have a thermocouple attached.

Product History

Date Board Revision Device Version Comment
October 2003 0 100 Product Release
January 2005 0 200 Noise performance improved to 2 Celsius
May 2006 0 201 Added range checking on AD value
October 2008 1 300 More accurate ambient temperature sensor. Added support for E, J, and T-type thermocouples in the API library, on-board noise filtering.
April 2010 2 400 Mini USB connector, new thermocouple connector
May 2010 2 401 Fixed setLabel
May 2011 2 402 getLabelString fixed for labels longer than 7 characters