Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use TMP117 temperature probe: Examples, Pinouts, and Specs

Image of TMP117 temperature probe
Cirkit Designer LogoDesign with TMP117 temperature probe in Cirkit Designer

Introduction

The TMP117 is a high-accuracy digital temperature sensor manufactured by Texas Instruments. It provides precise temperature readings with a resolution of 0.1°C and an accuracy of ±0.1°C across a wide temperature range (-40°C to +125°C). The sensor communicates via an I2C interface, making it easy to integrate into microcontroller-based systems. Its low power consumption and high precision make it ideal for applications such as industrial monitoring, medical devices, HVAC systems, and consumer electronics.

Explore Projects Built with TMP117 temperature probe

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Arduino UNO with MAX6675 Module for Temperature Monitoring
Image of Measuring Temperature With MAX6675 Thermocouple and Arduino UNO: A project utilizing TMP117 temperature probe in a practical application
This circuit is designed to measure temperature using a MAX6675 thermocouple-to-digital converter module interfaced with an Arduino UNO microcontroller. The Arduino reads the temperature data from the MAX6675 module and outputs the readings in Celsius and Fahrenheit to the serial monitor. The communication between the Arduino and the MAX6675 module is established through a SPI-like interface using digital pins D4 (SO), D5 (CS), and D6 (SCK).
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP8266 NodeMCU with MAX6675 Thermocouple Interface for Temperature Monitoring
Image of UAS Metrin: A project utilizing TMP117 temperature probe in a practical application
This circuit is designed to measure temperature using a Type K thermocouple connected to a MAX6675 module, which digitizes the temperature reading. The MAX6675 module interfaces with an ESP8266 NodeMCU microcontroller over a SPI connection, using D5 (SCK), D6 (SO), and D8 (CS) for clock, data output, and chip select, respectively. The ESP8266 is responsible for processing the temperature data, which can then be used for monitoring, control, or communication purposes.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Nano Temperature Logger with TFT Display and RTC
Image of Nils: A project utilizing TMP117 temperature probe in a practical application
This circuit uses an Arduino Nano to read temperature data from a MAX31865 thermocouple amplifier connected to a PT100 sensor, display the temperature on a round TFT screen, and log the data with timestamps using a DS3231 RTC. A momentary switch is used to control the logging and display a temperature graph on the TFT screen.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP8266 NodeMCU with MAX6675 Thermocouple Interface for Temperature Monitoring
Image of UAS Metrin: A project utilizing TMP117 temperature probe in a practical application
This circuit is designed to measure temperature using a Type K Thermocouple connected to a MAX6675 Module, which digitizes the temperature reading. The MAX6675 Module interfaces with an ESP8266 NodeMCU microcontroller via SPI (Serial Peripheral Interface), with connections for the clock (SCK), chip select (CS), and data output (SO). The ESP8266 NodeMCU can process the temperature data and potentially send it to a remote server or display it locally.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with TMP117 temperature probe

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of Measuring Temperature With MAX6675 Thermocouple and Arduino UNO: A project utilizing TMP117 temperature probe in a practical application
Arduino UNO with MAX6675 Module for Temperature Monitoring
This circuit is designed to measure temperature using a MAX6675 thermocouple-to-digital converter module interfaced with an Arduino UNO microcontroller. The Arduino reads the temperature data from the MAX6675 module and outputs the readings in Celsius and Fahrenheit to the serial monitor. The communication between the Arduino and the MAX6675 module is established through a SPI-like interface using digital pins D4 (SO), D5 (CS), and D6 (SCK).
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of UAS Metrin: A project utilizing TMP117 temperature probe in a practical application
ESP8266 NodeMCU with MAX6675 Thermocouple Interface for Temperature Monitoring
This circuit is designed to measure temperature using a Type K thermocouple connected to a MAX6675 module, which digitizes the temperature reading. The MAX6675 module interfaces with an ESP8266 NodeMCU microcontroller over a SPI connection, using D5 (SCK), D6 (SO), and D8 (CS) for clock, data output, and chip select, respectively. The ESP8266 is responsible for processing the temperature data, which can then be used for monitoring, control, or communication purposes.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Nils: A project utilizing TMP117 temperature probe in a practical application
Arduino Nano Temperature Logger with TFT Display and RTC
This circuit uses an Arduino Nano to read temperature data from a MAX31865 thermocouple amplifier connected to a PT100 sensor, display the temperature on a round TFT screen, and log the data with timestamps using a DS3231 RTC. A momentary switch is used to control the logging and display a temperature graph on the TFT screen.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of UAS Metrin: A project utilizing TMP117 temperature probe in a practical application
ESP8266 NodeMCU with MAX6675 Thermocouple Interface for Temperature Monitoring
This circuit is designed to measure temperature using a Type K Thermocouple connected to a MAX6675 Module, which digitizes the temperature reading. The MAX6675 Module interfaces with an ESP8266 NodeMCU microcontroller via SPI (Serial Peripheral Interface), with connections for the clock (SCK), chip select (CS), and data output (SO). The ESP8266 NodeMCU can process the temperature data and potentially send it to a remote server or display it locally.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Industrial temperature monitoring
  • Medical devices and wearables
  • HVAC (Heating, Ventilation, and Air Conditioning) systems
  • Consumer electronics
  • Environmental monitoring systems

Technical Specifications

The TMP117 is designed for high performance and ease of use. Below are its key technical details:

Parameter Value
Supply Voltage (VDD) 1.8V to 5.5V
Temperature Range -40°C to +125°C
Accuracy ±0.1°C (from -20°C to +50°C)
Resolution 0.0078°C
Interface I2C (up to 400 kHz)
Power Consumption 3.5 µA (typical, 1 Hz sampling)
Package Options WSON (6-pin)

Pin Configuration and Descriptions

The TMP117 is available in a 6-pin WSON package. Below is the pinout and description:

Pin Name Pin Number Description
VDD 1 Power supply input (1.8V to 5.5V)
GND 2 Ground
SDA 3 I2C data line
SCL 4 I2C clock line
ALERT 5 Alert output for temperature threshold events
NC 6 No connection (leave unconnected or grounded)

Usage Instructions

How to Use the TMP117 in a Circuit

  1. Power Supply: Connect the VDD pin to a regulated power supply (1.8V to 5.5V) and the GND pin to the ground.
  2. I2C Communication: Connect the SDA and SCL pins to the corresponding I2C lines of your microcontroller. Use pull-up resistors (typically 4.7 kΩ) on both lines.
  3. Alert Pin (Optional): The ALERT pin can be used to signal temperature threshold events. If unused, leave it unconnected.
  4. Bypass Capacitor: Place a 0.1 µF ceramic capacitor close to the VDD pin for power supply decoupling.

Important Considerations

  • Ensure the I2C pull-up resistors are properly sized for your system's voltage and bus speed.
  • Avoid placing the sensor near heat sources or in areas with poor airflow to ensure accurate readings.
  • The TMP117 operates in two modes: Continuous Conversion Mode (default) and Shutdown Mode. Use Shutdown Mode to save power when the sensor is not actively measuring.

Example Code for Arduino UNO

Below is an example of how to interface the TMP117 with an Arduino UNO using the Wire library:

#include <Wire.h>

#define TMP117_ADDRESS 0x48 // Default I2C address of TMP117
#define TEMP_RESULT_REG 0x00 // Temperature result register

void setup() {
  Wire.begin(); // Initialize I2C communication
  Serial.begin(9600); // Initialize serial communication for debugging

  // Configure TMP117 (optional, default settings are sufficient for most cases)
  Wire.beginTransmission(TMP117_ADDRESS);
  Wire.write(0x01); // Configuration register
  Wire.write(0x02); // Set to continuous conversion mode
  Wire.write(0x00); // Default settings
  Wire.endTransmission();
}

void loop() {
  float temperature = readTemperature();
  Serial.print("Temperature: ");
  Serial.print(temperature);
  Serial.println(" °C");
  delay(1000); // Wait 1 second before the next reading
}

float readTemperature() {
  Wire.beginTransmission(TMP117_ADDRESS);
  Wire.write(TEMP_RESULT_REG); // Point to the temperature result register
  Wire.endTransmission();

  Wire.requestFrom(TMP117_ADDRESS, 2); // Request 2 bytes of data
  if (Wire.available() == 2) {
    int16_t rawData = (Wire.read() << 8) | Wire.read(); // Combine MSB and LSB
    return rawData * 0.0078125; // Convert to Celsius (0.0078125°C/LSB)
  }
  return NAN; // Return NaN if data is unavailable
}

Notes:

  • The TMP117's default I2C address is 0x48. If multiple TMP117 sensors are used, their addresses can be configured via hardware.
  • The temperature result is a 16-bit signed value, with each LSB representing 0.0078125°C.

Troubleshooting and FAQs

Common Issues and Solutions

  1. No I2C Communication:

    • Ensure the SDA and SCL lines are connected correctly.
    • Verify that pull-up resistors are present on the I2C lines.
    • Check the I2C address of the TMP117 (default is 0x48).
  2. Incorrect Temperature Readings:

    • Ensure the sensor is not exposed to external heat sources or airflow disturbances.
    • Verify the power supply voltage is within the specified range (1.8V to 5.5V).
    • Check for proper decoupling with a 0.1 µF capacitor near the VDD pin.
  3. Alert Pin Not Functioning:

    • Confirm that the ALERT pin is configured correctly in the TMP117's configuration register.
    • Ensure the microcontroller's GPIO pin connected to ALERT is properly configured as an input.

FAQs

Q: Can the TMP117 operate at 3.3V?
A: Yes, the TMP117 supports a supply voltage range of 1.8V to 5.5V, making it compatible with 3.3V systems.

Q: How do I change the I2C address of the TMP117?
A: The TMP117 has a fixed I2C address (0x48). To use multiple sensors, consider using an I2C multiplexer or a similar solution.

Q: What is the maximum sampling rate of the TMP117?
A: The TMP117 can sample at a maximum rate of 1 Hz in continuous conversion mode.

Q: Is the TMP117 suitable for outdoor use?
A: While the TMP117 is accurate and reliable, it should be protected from moisture and extreme environmental conditions for outdoor applications. Use an appropriate enclosure if necessary.