How to interface the TMP102 & TMP112 temperature sensors with Arduino


October 31, 2017

The TMP102 device is a digital temperature sensor with a typical accuracy of 0.5C.  The device is guaranteed to have an accuracy of 3C (max) from -40C to 125C without any calibration.  The TMP102 device is available in a 1.6mmx1.2mm SOT-563 package and has a low quiescent current of 10uA (max), making it a suitable for a number of portable and battery powered applications.

Since TMP112 (higher accuracy temperature sensor) is software compatible with TMP102, the tutorials, code and examples are applicable to both.

In this tutorial, you will learn how to configure and read from the TMP102/ TMP112.  In addition, you will learn how to output the room temperature in Celsius to a standard 16x2 LED display. But first, we will quickly go over the basic functionality of the TMP102/ TMP112, then the specifics on using I2C and Arduino to both control and read from registers on the device. A working demonstration of the TMP102/ TMP112 and the LCD display will be provided to tie it all together. Finally, we will go step-by-step through the code, so that you can reproduce these results with the TMP102/ TMP112 on your own.

Note: The example code file provided includes the hardware schematic relevant to this tutorial.

Product folder:


Arduino Code:


Additional information

arrow-topclosedeletedownloadmenusearchsortingArrowszoom-inzoom-out arrow-downarrow-uparrowCircle-leftarrowCircle-rightblockDiagramcalculatorcalendarchatBubble-doublechatBubble-personchatBubble-singlecheckmark-circlechevron-downchevron-leftchevron-rightchevron-upchipclipboardclose-circlecrossReferencedashdocument-genericdocument-pdfAcrobatdocument-webevaluationModuleglobehistoryClockinfo-circlelistlockmailmyTIonlineDataSheetpersonphonequestion-circlereferenceDesignshoppingCartstartoolsvideoswarningwiki