

The SparkFun LilyPad Temperature Sensor (MCP9700) is a low-cost, analog temperature sensor designed for wearable electronics and fabric-based projects. It outputs an analog voltage proportional to the ambient temperature, making it easy to measure temperature changes in real-time. The sensor is part of the LilyPad series, which is specifically designed for e-textiles and wearable applications, featuring a sewable design with large conductive pads.








The following table outlines the key technical details of the SparkFun LilyPad Temperature Sensor (MCP9700):
| Parameter | Value |
|---|---|
| Manufacturer | SparkFun Electronics |
| Manufacturer Part ID | DEV-08777 |
| Sensor Type | Analog temperature sensor |
| Output Voltage Range | 0.1V to 1.75V (typical) |
| Temperature Range | -40°C to +125°C |
| Accuracy | ±2°C (typical) |
| Sensitivity | 10 mV/°C |
| Supply Voltage (Vcc) | 2.3V to 5.5V |
| Supply Current | 6 µA (typical) |
| Dimensions | Diameter: 20mm |
| Mounting Style | Sewable (LilyPad design) |
The LilyPad Temperature Sensor has three sewable connection pads. The pin configuration is as follows:
| Pin Name | Description |
|---|---|
| VCC | Power supply input (2.3V to 5.5V) |
| GND | Ground connection |
| OUT | Analog voltage output proportional to temperature |
VCC pad to a power source (2.3V to 5.5V) and the GND pad to ground.OUT pad to an analog input pin of a microcontroller (e.g., Arduino UNO). The voltage on the OUT pin corresponds to the ambient temperature.The following example demonstrates how to read temperature data from the LilyPad Temperature Sensor using an Arduino UNO:
// Define the analog pin connected to the sensor's OUT pin
const int sensorPin = A0;
// Define constants for the sensor's characteristics
const float voltageOffset = 0.5; // 500 mV offset at 0°C
const float sensitivity = 0.01; // 10 mV/°C sensitivity
void setup() {
Serial.begin(9600); // Initialize serial communication
}
void loop() {
// Read the analog value from the sensor
int sensorValue = analogRead(sensorPin);
// Convert the analog value to voltage (assuming 5V reference)
float voltage = sensorValue * (5.0 / 1023.0);
// Calculate the temperature in Celsius
float temperatureC = (voltage - voltageOffset) / sensitivity;
// Print the temperature to the Serial Monitor
Serial.print("Temperature: ");
Serial.print(temperatureC);
Serial.println(" °C");
delay(1000); // Wait 1 second before the next reading
}
No Output or Incorrect Readings:
Fluctuating Readings:
VCC and GND to stabilize the power supply.Output Voltage Does Not Match Expected Values:
Q: Can this sensor measure body temperature accurately?
A: The sensor is designed for ambient temperature measurement. While it can measure body temperature, the accuracy may vary depending on placement and environmental factors.
Q: Is the sensor washable?
A: The LilyPad Temperature Sensor is not waterproof or washable. Remove it from fabric before washing.
Q: Can I use this sensor with a 3.3V microcontroller?
A: Yes, the sensor operates within a supply voltage range of 2.3V to 5.5V, making it compatible with 3.3V systems.
Q: How do I extend the sensor's lifespan in wearable projects?
A: Protect the sensor from moisture, excessive heat, and mechanical stress. Use insulating materials to shield the sensor if necessary.