

The Adafruit Thermal IR Sensor (Manufacturer Part ID: Thermal IR) is a highly sensitive thermal infrared sensor designed to detect infrared radiation emitted by objects. This allows for accurate temperature measurement and thermal imaging without requiring physical contact. The sensor is ideal for applications where non-contact temperature sensing is critical, such as in industrial automation, medical devices, and environmental monitoring.








The Adafruit Thermal IR sensor is designed for precision and ease of use. Below are its key technical details:
The sensor has a simple pinout for easy integration into your projects. Below is the pin configuration:
| Pin | Name | Description |
|---|---|---|
| 1 | VIN | Power input (3.3V to 5V DC). Connect to the power supply of your microcontroller. |
| 2 | GND | Ground. Connect to the ground of your circuit. |
| 3 | SDA | I2C data line. Connect to the SDA pin of your microcontroller. |
| 4 | SCL | I2C clock line. Connect to the SCL pin of your microcontroller. |
The Adafruit Thermal IR sensor is straightforward to use in a variety of applications. Below are the steps and best practices for integrating it into your circuit.
Below is an example Arduino sketch to read temperature data from the Adafruit Thermal IR sensor:
#include <Wire.h>
#include <Adafruit_MLX90614.h>
// Create an instance of the Adafruit_MLX90614 library
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
void setup() {
Serial.begin(9600); // Initialize serial communication at 9600 baud
Serial.println("Adafruit Thermal IR Sensor Test");
if (!mlx.begin()) {
Serial.println("Error: Could not find a valid MLX90614 sensor. Check wiring!");
while (1); // Halt execution if the sensor is not detected
}
}
void loop() {
// Read object and ambient temperatures
double objectTemp = mlx.readObjectTempC(); // Object temperature in Celsius
double ambientTemp = mlx.readAmbientTempC(); // Ambient temperature in Celsius
// Print the temperature readings to the Serial Monitor
Serial.print("Object Temperature: ");
Serial.print(objectTemp);
Serial.println(" °C");
Serial.print("Ambient Temperature: ");
Serial.print(ambientTemp);
Serial.println(" °C");
delay(1000); // Wait 1 second before taking the next reading
}
Sensor Not Detected:
Inaccurate Temperature Readings:
I2C Communication Errors:
No Output on Serial Monitor:
By following this documentation, you can effectively integrate and use the Adafruit Thermal IR sensor in your projects.