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.
We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.
No reviews yet.
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.
Glad to hear that you were able to get everything working. A couple of tips on the Arduino development environment (since you are new):
Thank you, very helpful tips!
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.
https://manoa.hawaii.edu/exploringourfluidearth/physical/world-ocean/map-distortion/practices-science-precision-vs-accuracy
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):