Creative Commons images are CC BY 2.0

Description: Detecting temperature changes has never been easier. The MCP9700 is a small thermistor type temperature sensor. This sensor will output 0.5V at 0 degrees C, 0.75V at 25 C, and 10mV per degree C. Doing an analog to digital conversion on the signal line will allow you to establish the local ambient temperature. Detect physical touch based on body heat and ambient conditions with this small sensor.

LilyPad is a wearable e-textile technology developed by Leah Buechley and cooperatively designed by Leah and SparkFun. Each LilyPad was creatively designed to have large connecting pads to allow them to be sewn into clothing. Various input, output, power, and sensor boards are available. They’re even washable!

Note: A portion of this sale is given back to Dr. Leah Buechley for continued development and education of e-textiles.


  • 20mm outer diameter
  • Thin 0.8mm PCB


Recommended Products

Customer Comments

  • Here’s some code:

    const int tempSensorPin = A0;  
    int sensorValue = 0;       
    float degreesC = 0;
    void setup() {
    void loop() {
      sensorValue = analogRead(tempSensorPin);
      degreesC = sensorValue/2.046 - 50.0;
      Serial.print("sensor = ");
      Serial.print("\t degrees C = ");

    I think this is correct, but I am getting fairly high temperatures, ~ 28 degrees, while the weather is more like 22. I don’t have a commercial device to verify though. Here’s my reasoning:

    The formula given above (“This sensor will output 0.5V at 0 degrees C, 0.75V at 25 C, and 10mV per degree C”) is

    Degrees C = Voltage out x 100 - 50

    But you don’t get Voltage out from the AnalogRead() function ( If you use the default settings it maps 0-5V on to 0-1023. This combined with the previous gives the formula:

    Degrees C = analogRead() x 0.489 - 50

    or without rounding

    Degrees C = analogRead()/2.046 - 50

    • Hello, I have the same issue. The correct formula seems to be

      degreesC = ((sensorValue * 0.00488) - 0.5) * 100;

      and that gives me outputs of ~60 C where of course it’s not as hot, but roughly ~28C. Any solution? Thanks

  • Playing with this board, I used the manual’s equation to know the temperature measurement, but it doesn’t fit well. After that, I found the DS (DEV-12651) manual, and there is a similar example … but there is a factor, when I use it, everything fit well. So now my question is about the factor=0.00488, what is it ?, is it related with the analogRead resolution?. Please, I need to understand it. I’m working with the ProtoSnap development board (DEV-11262). Thanks very much

  • Could these be used to detect skin temp changes? i.e. flushing/hot flashes?

    • Unless someone’s skin temperature is changing by several degrees at a time, this is not going to be sensitive enough to give you really meaningful data.

    • Did you find another sensor that can do this? I am looking for one. I want to detect the skin temp changes as well

  • The sensitivity/accuracy of this thing is really bad, at least the one I received.

  • Please provide a arduino code for this sensor that works.

    If you know of a working one please post a link

  • Still receiving an error with the “LilyPad Temp. Sensor Sticker Sheet PDF”… 8 months now? Probably should just kill off the document link entirely.

    • Replying to myself… Oh no… But the link is gone now. Thanks! Especially since it is included in the All sheet.

  • Still get a 404 error on the Sticker Sheet PDF…

  • Has anyone had any luck downloading the “LilyPad Temp. Sensor Sticker Sheet PDF”? Tried a few different times now and each time the file is reported as corrupted by Acrobat Reader. The “All” and other varieties of sticker sheets are working (buzzer, power, vibe, etc…).

  • So want a lilypad heater to go with this :) Even if the power requirements were ridiculous.

  • Is it possible to post the Eagles files for the MCP9700?

    • Just kidding, it’s included in the standard SparkFun library. Thanks for being one step ahead!

Customer Reviews

No reviews yet.

Support Tips

Example Code

To use the temperature sensor, you would need to connect it to an analog input pin. You would also be using the analogRead() The LilyPad development board uses the same temperature sensor.