Home CodeArduino Due Arduino Due and MLX90615 example

Arduino Due and MLX90615 example

by shedboy71

The MLX90615 is a miniature infrared thermometer for non-contact temperature measurements. Both the IR sensitive thermopile detector chip and the signal conditioning ASIC are integrated in the same miniature TO-46 can.

The infrared thermometer comes factory calibrated with a digital SMBus output giving full access to the measured temperature in the complete temperature range(s) with a resolution of 0.02 °C. The sensor achieves an accuracy of ±0.2°C within the relevant medical temperature range. The user can choose to configure the digital output to be PWM.

Features and benefits

Factory calibrated in wide temperature range: -20 to 85°C for sensor temperature and -40 to 115°C for object temperature
High accuracy of 0.5°C over wide temperature range (0..+50 C for both Ta and To)
Medical accuracy of 0.2°C in a limited temperature range
Measurement resolution of 0.02°C
SMBus compatible digital interface for fast temperature readings and building sensor networks
Customizable PWM output for continuous reading
3V supply voltage with power saving mode


Parts List



Amount Part Type
1 1PCS MLX90615 Digital Infrared Temperature Sensor for Arduino
1 Compatible DUE R3 Board SAM3X8E 32-bit ARM Cortex-M3





Code Example

This particular example comes from the following library which I installed – https://github.com/skiselev/MLX90615

I had issues with one of the other libraries – this one works just fine

[codesyntax lang=”cpp”]

#include <Wire.h>
#include <mlx90615.h>

MLX90615 mlx = MLX90615();

void setup()
Serial.println(“Melexis MLX90615 infra-red temperature sensor test”);
Serial.print(“Sensor ID number = “);
Serial.println(mlx.get_id(), HEX);

void loop()
Serial.print(“Ambient = “);
Serial.print(” *C\tObject = “);
Serial.println(” *C”);




Open the serial monitor and you should see something like this. I moved a hot object near the sensor when the second value increased






You may also like