← All parts

TMP117 Precision Temp Sensor

TMP117

Texas Instrumentssensor environment

The TMP117 is a high-accuracy, low-power digital temperature sensor with an I2C-compatible interface.

In stock

Specifications

7
Operating Voltage
1.7 V to 5.5 V (TA = -55 °C to 70 °C), 1.8 V to 5.5 V (TA = -55 °C to 150 °C)
Supply Current
3.5 μA (active conversion, serial bus inactive at TA = 25 °C), 150 nA (shutdown)
Interface
I2C
Resolution
7.8125 m°C
Accuracy
-0.3 °C to 0.3 °C (TA = -55 °C to 150 °C)
Temperature Range
-55 °C to 150 °C
Package
WSON (6), DSBGA (6)

Pinout

6
PinNameFunctionsNotes
V+Supply voltage
POWER
GNDGround
GND
SCLSerial clock
I2C
SDASerial data input and open-drain output
I2C
ADD0Address select
GPIO
Connect to GND, V+, SDA, or SCL.
ALERTOver temperature alert or data-ready signal
GPIO
Open-drain output requires a pullup resistor.

Interactive pinout

Highlight:
TMP117

Click a pin to copy its name · tap a tag above to spotlight a bus.

Starter code

Community starter examples — minimal, unofficial, and provided to get you wiring fast. Verify against the manufacturer datasheet before relying on them.

Arduino (C++)

arduino
// TMP117 high-accuracy I2C temperature — community starter example
// No library needed: read the 16-bit temperature register (0x00).
#include <Wire.h>

const byte ADDR = 0x48;   // ADD0 -> GND

float readTempC() {
  Wire.beginTransmission(ADDR);
  Wire.write(0x00);
  Wire.endTransmission();
  Wire.requestFrom(ADDR, (byte)2);
  int16_t raw = (Wire.read() << 8) | Wire.read();
  return raw * 0.0078125;           // 7.8125 m C/LSB
}

void setup() {
  Serial.begin(115200);
  Wire.begin();
}

void loop() {
  Serial.print(readTempC(), 3); Serial.println(" C");
  delay(1000);
}

MicroPython

python
# TMP117 (ESP32) — community starter example
from machine import Pin, I2C
import time, struct

i2c = I2C(0, scl=Pin(22), sda=Pin(21))
ADDR = 0x48

while True:
    d = i2c.readfrom_mem(ADDR, 0x00, 2)
    raw = struct.unpack(">h", d)[0]
    print(raw * 0.0078125, "C")
    time.sleep(1)

Wiring

PinArduino Uno R3ESP32 DevKitC (WROOM-32)Notes
V++3V33V31.8-5.5 V (use 3.3 V for the bare chip's 3.3 V I2C)
GNDGNDGND
SCLA5/SCLGPIO22I2C clock
SDAA4/SDAGPIO21I2C data
ADD0GNDGNDAddress select -> 0x48

Typical uses

  • High-accuracy (+/-0.1 C) temperature
  • Reference / medical / calibration sensing

Related parts

6