SparkFun Infrared Temperature Breakout - TMP006

This is not your typical temperature sensor. The TMP006 Breakout can measure the temperature of an object without making contact with it. By using a thermopile to detect and absorb the infrared energy an object is emitting, the TMP006 Breakout can determine how hot or cold the object is.

The TMP006 Breakout has a wide temperature detection range of -40°C to 125°C and an optimal operating voltage of 3.3V to 5V (tolerant up to 7V max). This breakout works great with most micro controllers connecting via the I2C bus.

SparkFun Infrared Temperature Breakout - TMP006 Product Help and Resources

Core Skill: Soldering

This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.

1 Soldering

Skill Level: Noob - Some basic soldering is required, but it is limited to a just a few pins, basic through-hole soldering, and couple (if any) polarized components. A basic soldering iron is all you should need.
See all skill levels

Core Skill: Programming

If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.

3 Programming

Skill Level: Competent - The toolchain for programming is a bit more complex and will examples may not be explicitly provided for you. You will be required to have a fundamental knowledge of programming and be required to provide your own code. You may need to modify existing libraries or code to work with your specific hardware. Sensor and hardware interfaces will be SPI or I2C.
See all skill levels

Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

1 Electrical Prototyping

Skill Level: Noob - You don't need to reference a datasheet, but you will need to know basic power requirements.
See all skill levels


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 #739759 / about 9 years ago / 1

    The default code uses Analog input pins A4 and A5, can someone please help explain how to change the pins to A0 and A1 instead?

    • CF / about 9 years ago * / 2

      You can't (easily) unfortunately. A4 and A5 are the only pins that support I2C communication on an Arduino Uno. There are libraries for software I2C for Arduino, but they have limitations. See this link for more information about software I2C.

  • Member #653875 / about 9 years ago / 1

    This sensor is giving me constant temperature of 2.39 C. I have tried it against hot bodies too but it doesn't help. I used the same code and procedure provided in the user guide. please help me out asap..

    • Member #1591268 / about 4 years ago / 1

      having the same problem. I checked and it is a problem with the i2c comm. it always returnes "-1". it probably is an error value returned from the i2c driver. gonna check it further.

  • smartroad / about 9 years ago / 1

    Anyone know the distance this can read? I ask as I was thinking of using it to detect if I am sitting in my computer chair and could turn lights on and off. So talking a sensing distance of about 0.7-1M (ish!)

  • jcholton / about 10 years ago / 1

    With enough of these next to each other, could I make an infrared camera?

  • jcholton / about 10 years ago / 1

    Can I use it with camera tracking to continuously measure the temperature on the moon?

  • jrsikken / about 10 years ago / 1

    DRDY# is not connected to the pull up. You can verify in PCB layout and by measuring the resistance between VCC and DRDY#. Also the overlap in solde mask opening may cause shorts between the pads of the BGA. Ground plane could also be improved. I suggest to re-do PCB layout.

    • JordanDee / about 10 years ago / 2

      There has already been a revision to address the DRDY connection. We aren't having any problems with shorts between pads in our production line and devices are tested for functionality before they leave here.

      If you have v11, your board has the DRDY fix.

  • My TEMP006 sensor is reading low. Since its coming out Celsius, I'm seeing 2.39°C. My room is 75°F, and as it turns out, 23.9°C is exactly that, so it looks like its off by a factor of 10. What code do I dive into to calibrate it?

    • Member #475033 / about 10 years ago / 1

      If its truly off by a factor of 10 you can take the variable and multiply it by a factor of 10. For example lets say you have a floating point variable named temp:

      float temp; //floats provide more accuracy

      temp="some math to get to temp goes here * 10;

      and then print it out. This should correct the temperature output.

  • AdrianFreed / about 11 years ago / 1

    for $10 more you get at this sensor + IMU + bluetooth LE wireless, 2 buttons and a battery with the TI SensorTag.

    • or, you can save $10 if you don't need the other stuff.

      • MattTheGeek / about 10 years ago * / 1

        Or, you can save more than $10 if you have sampling privileges, or know a overseas "SparkFun" shop ;)

        It's sort of like how hulu works; pay a premium for something now (or in red) or wait a while for someone to release the same exact board (Thanks OSHW!) often in blue at a fairly more reasonable price.

  • RichardK_Solar / about 11 years ago / 1

    How far does ir have to be from the target object? Is it directional? Meaning, does it have to be "pointed" at the target, or just being near it makes it read it?

    • See the 'User Manual', Page 6, Figure 3, "Relationship Between Target Object and Distance from the TMP006". It is directional or how could you discern one objects temperature from another's. 'How' directional is a function of distance of course. If you want to get an idea of the directionality of thermopiles, buy a cheap, complete non-contact thermometer (freight harbor has them for 10 bucks) and play with it. You should be able to interpolate it's functioning and decide if something like this will work for your purpose.

  • I was looking to use this TMP006 but was dissuaded by seeing it is in a BGA package. I can't tell by your picture but I'm I right that this only comes in this package or did you find an alternate package.-Keith

    • SuperCrackMunkey / about 11 years ago / 1

      Browsing the Datasheet suggests it's BGA only. I think that's why there's a breakout, but not a separate TMP006 without the breakout.

Customer Reviews

4 out of 5

Based on 3 ratings:

Currently viewing all customer reviews.

TMP006 works great for a novice

This was basically my first experience hooking up a sensor to an Arduino and it worked out very easily. I've been having fun using it to log data to an OpenLog and have had it watching my heat register at home to see when my furnace comes on (it can 'see' me and my cats as we walk around) and at school watching a room to see how it heats up when people come in during the day. We're planning to fly it on a quadcopter and perhaps on a high power rocket in a few weeks, too. I have not attempted to learn how to calibrate it yet but may get to that later. So far so good.

Awesome! Worked EXACTLY as described

Although I'm an engineer (software), I'm only so-good with boards and wires. This was simple. I was able to solder 4 wires and plug them into my Arduino (Sparki) and use the open-source software to get my temperature values. It worked perfectly.

Really simple

It works well for what we needed, which was detecting a warm object (~35 deg C, roughly human body temp) from several centimeters away. The sample code is simple, easy to understand, well-written.

My only complaint is that it seemed particularly sensitive to overheating when soldering. I teach high school students, so they usually are novice skill-level. We burned out two out of five of these boards trying to solder headers on because the kids were too slow getting the soldering iron off. This is with a good, temperature-controlled iron at a lower temperature, using the solder that Sparkfun recommends. I have not generally had this issue with other Sparkfun breakouts, this one seems particularly sensitive.