Infrared Thermometer


MLX90614 Infrared thermometer sensor is manufactured by Melexis Microelectronics Integrated system, it has two devices embedded in it, one is the infrared thermopile detector (sensing unit) and the other is a signal conditioning DSP device (computational unit). It works based on Stefan-Boltzmann law which states that all objects emits IR energy and the intensity of this energy will be directly proportional to the temperature of that object. The sensing unit in the sensor measures how much IR energy is emitted by a targeted object and the computational unit converts it into temperature value using a 17-bit in-built ADC and outputs the data through I2C communication protocol. The sensor measures both the object temperature and ambient temperature to calibrate the object temperature value. The features of MLX90614 sensor is given below, for more details refer the


  • Operating Voltage: 3.6V to 5V
  • Object Temperature Range: -70°C to 382.2°C
  • Ambient Temperature Range: -40°C to 125°C
  • Resolution/Accuracy: 0.02°C



What should be the distance between the Sensor and the Object?

One question that is not directly answered by the datasheet is the measuring distance between the sensor and the object. The value of this distance is given by the term Field of View (FOV), for our sensor the field of view is about 80°.

You can think of the sensing range to be in a conical shape from the point of sensor as show above. So, as we go far from the measuring object the sensing area increase by two folds. Meaning for every 1cm we move away from the object the sensing area grows by 2cm. In our thermal gun we have placed a laser diode on top of the sensor to know where the sensing area of the sensor is currently pointing at. I found that the values were reliable if the gun is pointed at 2cm away from the object and the accuracy goes down as we move away.


Interfacing with Arduino


The entire circuit is powered by the 9V battery through a push button. When the push button is pressed the 9V battery is connected to the RAW pin of Arduino which is then regulated to 5V using the on-board voltage regulator. This 5V is then used to power the OLED module, Sensor and Laser diode.




Arduino Contactless thermometer 
MLX90614 I2C connection
OLED 4-wire SPI connection 
Dated: 7-6-2019
Code by: Aswint Raj

#include <Wire.h> 
#include <SparkFunMLX90614.h> 

#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

// If using software SPI (the default case):
#define OLED_MOSI   9
#define OLED_CLK   10
#define OLED_DC    11
#define OLED_CS    12
#define OLED_RESET 13

IRTherm therm;

void setup() 



String temperature; 
char runner;

void loop() 
  if ( // On success, read() will return 1, on fail 0.
    temperature = String(therm.object(), 2);
    Serial.print(“Object: “);
    Serial.print(temperature); Serial.println(“C”);


  if (therm.object()>=100)


  display.drawLine(display.width()/runner,display.height() – display.height()/2.5, display.width()/runner+1, display.height() – display.height()/2.5, WHITE);

  display.println(”   Arduino Thermlgun”);
  display.setCursor(display.width()- display.width()/4,display.height()/12);
  display.println(“deg C”);

  if (runner>20)


Applications of Infrared Thermometers

The major applications of infrared thermometers are given below:

  • Heating and air conditioning – Detection insulation breakdown, heat loss and gain and furnace and duct leakage
  • Industrial/Electrical – Monitoring motor/engine cooling systems performance, boiler operations, steam systems and detection of hot spots in electrical systems and panels
  • Food safety – Checking equipment performance, sanitation and process temperature conditions, and scanning refrigerated display cases, trucks, storage areas and cooling systems
  • Agriculture – Monitoring plant temperatures for stress and animal bedding to detect spoiling.