High Precision Temperature Sensor - TMP117 (Qwiic)

This design has gone red! Checkout the official SparkFun red board here.

The TMP117AIDRVT is a high precision temperature sensor equipped with an I2C interface. It outputs temperature readings with high precision of +/- 0.1°C across the temperature range of -20°C to +50°Cs with no calibration. The sensors maximum range is from -55°C to 150°C. It also has a very low power consumption which minimizes the impact of self-heating on measurement accuracy. The sensor operates from 1.8V to 5.5V.

The sensor also includes programmable temperature limits, and digital offset for system correction. The TMP117 sensor is medical grade, meeting ASTM E1112 and ISO 80601-2-56 with NIST traceability.

While the TMP102 is capable of reading temperatures to a resolution of 0.0625°C and is accurate up to 0.5°C, the TMP117 is not only more precise but has a 16-bit resolution of .0078°C.

We've written an Arduino library to help you get started quickly. You can download the library through the Arduino library manager by searching 'SparkFun TMP117' or you can get the GitHub repo as a .zip file and install the library from there.

This board is one of our many Qwiic compatible boards! Simply plug and go. No soldering, no figuring out which is SDA or SCL, and no voltage regulation or translation required!

We do not plan to regularly produce SparkX products so get them while they’re hot!

NOTE: The I2C address of the TMP117 is 0x48 and is jumper selectable to 0x49, 0x4A, 0x4B. A multiplexer/Mux is required to communicate to multiple TMP117 sensors on a single bus. If you need to use more than one TMP117 sensor consider using the Qwiic Mux Breakout.

Experimental Product: SparkX products are rapidly produced to bring you the most cutting edge technology as it becomes available. These products are tested but come with no guarantees. Live technical support is not available for SparkX products. Head on over to our forum for support or to ask a question.
  • Schematic
  • Eagle Files
  • Datasheet (TMP117)
  • Library Repo - Arduino Library can be obtained through the Arduino library manager by searching 'SparkFun TMP117'. Example sketches are included in the library to get you up and running quickly!
  • Please visit the GitHub product repo for the latest hardware designs.

High Precision Temperature Sensor - TMP117 (Qwiic) Product Help and Resources

Qwiic TMP117 High Precision Digital Temperature Sensor Hookup Guide

November 14, 2019

Add a high precision, digital temperature sensor to your projects using the TMP117 over the I2C!


Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • Member #1262119 / about 3 years ago / 1

    This thing is pretty cool, but the basic readings example had some problems compiling.. Tied this to the microOLED and a Blackboard via QWIIC connectors (big fan of that idea), took a bit of screwing around with the code, but was able to get a nice realtime readout in both F and C. I am a beginner to this environment so if this is common sense to someone with some experience I apologize but figured it might save others a little hair pulling.

    I was getting the error below compiling the examples in the web editor, switched to the IDE and it went away, " /home/builder/opt/libraries/latest/sparkfun_high_precision_temperature_sensor_tmp117_qwiic_1_0_0/src/SparkFun_TMP117.cpp:36:39: fatal error: Sparkfun_TMP117_Registers.h: No such file or directory

    I also got errors about some invalid conversion, commented out the section that says it is for development only and those went away..

    The compiler also didn't like lines below, but i ended up just removing them anyway since i was printing to an OLED - just leaving the float sensor.read statements and printing tempF and tempC in a loop worked fine.

    Serial.print("Temperature in Fahrenheit: %d", sensor.readTempF());

    • santaimpersonator / about 3 years ago / 2

      Glad to hear that you were able to get everything working. A couple of tips on the Arduino development environment (since you are new):

      • I personally avoid using the web editor. I know it is convenient, but from previous experiences, I have found that it usually has issues once you start using non-Arduino (branded) hardware and libraries. Also, most of the libraries also tend to be out-of-date or missing, unlike the IDE.
      • As far as the Arduino IDE concerned, I prefer to stick to more stable releases that have been out for a while (like 1.8.5). If you look at the release history, you will notice that Arduino will push a bunch of new releases back to back, those are usually due to major bugs. Perfect examples are the compiler issues that were in 1.8.6 and 1.8.7.

  • Member #498156 / about 3 years ago / 1

    Precision is repeatability between readings, accuracy is closeness of mean of readings to correct value, and resolution is smallest measurable change. The data sheet calls this is a high-accuracy temperature sensor. It is also high precision and resolution, but since most of us do not have access to a NIST traceable temperature chamber (to convert precision to accuracy via calibration), the high accuracy is probably the most important feature. Anyway, my point is the vendor calls it a high accuracy sensor, you call it high precision, and the words have different meanings.


    • santaimpersonator / about 3 years ago / 1

      Thanks, I'll let the SparkX team know. I am not sure, but I think that might have been from the description (Section 3 in the datasheet):

      "The TMP117is a high-precision digital temperature sensor."

Customer Reviews

No reviews yet.