Creative Commons images are CC BY-NC-SA 3.0


added to your
shopping cart

In stock 195 in stock
5.95 1+ units
5.36 10+ units
4.76 100+ units

Description: This is a breakout board for the incredibly small TMP102 digital temperature sensor. The TMP102 is a digital sensor (I2C a.k.a. TWI), has a resolution of 0.0625°C, and is accurate up to 0.5°C. This is a very handy sensor that requires a very low-current.

Communication with the TMP102 is achieved through a two-wire serial interface. There is no on-board voltage regulator, so supplied voltage should be between 1.4 to 3.6VDC. Filtering capacitors and pull-up resistors are included as shown.


  • 12-bit, 0.0625°C resolution
  • Accuracy: 0.5°C (-25°C to +85°C)
  • Low quiescent current
    • 10µA Active (max)
    • 1µA Shutdown (max)
  • 1.4V to 3.6VDC supply range
  • Two-wire serial interface
  • 2x Mounting Holes


Replaces: SEN-9418

Comments 14 comments

  • Has anyone else had trouble getting the other addressing modes to work (73, 74, or 75)? With this new revision of the board it seems I can only get it to work on the default 72. (The earlier board layout worked fine for me)

    • There’s a drop of soldering paste just above the ADD0 pin on the new breakout board layout. Use some soldering wick and a soldering gun to remove it and the Universe will be spinning again. You will be able to use the ADD0 pin just like on the old board (attach it to GND, VCC, SDA, SCL to obtain up to 4 I2C addresses). Do not attempt to connect the ADD0 directly to VCC without removing this “jumper” as it will create a short between VCC and GND and will probably end up toasting something in your circuit (depending on the connections you have there).

  • Thanks Sparkfun! Now I know that my microwaved burrito is a cozy 102.2 F

  • It appears the note in the schematic for ADD0 to VCC is incorrect, at least when using the basic code from the bildr tut. It appears left shifted one bit, 10010010 (0x92) instead of 1001001 (0x48). I am new to all this but when using the address in the schematic it does not respond but, using 0x48 it does. I am not sure if/how forcing the 8 bit address mode in wire.requestFrom() would affect this.

  • The data sheet indicates max temperature error of +/- 2C from -25C to 85C (pg 3) but also suggests max error of +0.5/-0.15C (fig 3) over the same range (although all figs are subject to the qualifier “typical characteristics”). Any idea which accuracy limit is correct? Fig 6 also seems too good to be true, it would be useful if TI specified the maximum temperature error at 25C.

  • If anybody wants to use this with the BeagleBone black, I have a tutorial here:

    Source code is on GitHub:

  • The data sheet indicates that this device is NOT 5 volt tolerant on the I2C interface pins. The bildr Turtorial shows it hooked up to an arduino which would drive it at 5v. Probably not a good idea, one should use an I2C capabile level converter with this to communicate with a 5v processor.

    To this end, you should make the 1k pullup resistors on the I2C lines defeatable with jumpers in case you already have pullups on the level converter, or on another I2C device. If I get this device I will need to unsolder those resistors.

    • Looks to me like the bldr shows the device connected to the 3V3 VCC line. So the pull ups will only be able to bring the I2C lines to 3.3V No?

      • True, but the DATA lines on the Arduino have a logic “1” output of 5V. There are Arduino clones that run at 3.3 volts, but the one in the example wasn’t one of them. I don’t think the AVR ports can be made to work in open collector (drain) mode.

        • Maybe we are looking at 2 different bldr tutorials. I click on the one here and see a schematic where the device is connected to the SDA and SCL pins of the arduino, which are the A4 and A5 Analog Inputs being used in i2c mode, thus by default they have to be open drain. The pullups are via the 3.3V resistors on the breakout board. So i don’t see how they would be exposed to 5V.

          • I wasn’t sure that the MASTER side of the I2C operated in open drain, I know the SLAVE side does. It that is true then you are correct.

            • I’m not an expert on this, but I fried a similar I2C device that can only tolerate 3.3v by using it with a 5v system. I had a bmp085 hooked up to an arduino’s 3.3v and directly to A4/A5 for I2C without any logic shifters. It worked fine for about 10 days and then died.

              I think it’s best to use a level shifter, but maybe I’m missing something. Unfortunately for me the BMP085 is $20…

              • Because the bus can only be driven low, the pullups determine the bus voltage. As long as you use pullups to 3v3 (and you don’t have any other pullups on the bus to a higher voltage), it is safe to use with a 5v Arduino.

Related Products