Introduction: Non-contact Thermometer

Continuous body temperature monitoring is the one of the way to detect a corona patient. So many types of thermometers are available in market. The normal thermometer can measure the temperature of a covid patient and also may spread the virus. In this special situation we can use the Non Contact Thermometer. And also known this device as temperature gun. The biggest manufacture of this Temperature Gun China. And this device is costly. But this lock down and Covid-19 threads make the production of this device is more difficult. We can make a Non Contact Thermometer with some commonly available components.

Step 1: How It Works?

The main component of this Non Contact Thermometer is a MLX90614 Non contact temperature sensor. The working of MLX90614 is described in next paragraph. The output from this sensor is connected to Arduino Nano. Arduino print the temperature on smart phone with the help of Serial Monitor Android App. So no need of external power pack. Because Arduino and sensor will take power from smart phone.

Step 2:

MLX90614 is an IR Temperature sensor for non-contact temperature measurements. It has an I2C Interface to communicate with microcontroller. Here we use Arduino Nano as microcontroller. This temperature sensor can measure the temperature without touch the object. It has 0.5 degree Celsius over a wide range of temperature.

Step 3:

Open Arduino IDE and open a new workspace. We need to add a library. Go to Sketch>Include library >Library manager. Then Search Adafruit MLX90614 and Install it.

Step 4:

Then close Arduino IDE and The Open Arduino IDE again. Then add the header file "Adafruit_MLX90614.h" for better communication with MLX90614 Temperature sensor. Then add another header file "Wire.h" for I2C communication. Then define a variable "mlx" to call the MLX90614 sensor. And call the function Adafruit_MLX90614() to this variable.

Step 5:

Now we need to code the setup part.

First begin the serial communication with the braud rate of 9600. Then begin the sensor by using the keyword "mlx.begin()".

Step 6:

Setup part is completed. Next I am going to code the loop part.

First I print a word "Temperature" and then print the temperature detected by the sensor. Here the temperature in Celsius. So we call the function "mlx.readObjectTempC()" then print unit as "Celsius". In next line we need to print the word "Temperature" again. And then print the temperature in Fahrenheit. For this, we use the function "mlx.readAmbientTempF()". Then print the unit as "Fahrenheit". Next print a new line and wait 500 milliseconds for next reading.

Step 7:

The coding part is completed. The complete code is given in the code part of this article. Upload the code to Arduino Nano.

Hardware Connections

Arduino Nano MLX90614

A4 - SDA

A5 - SDL

3.3V - Vcc


Wire the circuit with the help of above data or circuit diagram. Now set the Arduino Nano and sensor in an enclosure. Put a hole on enclosure for the sensor to read the temperature. Put another hole to connect the USB cable to arduino board. Then connect the USB to Arduino and other end to smart phone Install the serial monitor app and set the baurd rate as 9600. The project is completed

Please don't copy pate my code. Understand the code and make your own.

You can join our telegram group here or search INNOVATION.


Follow me on,

Instagram : five_volt_player

Facebook : Akshay Joseph

Github : akshayjoseph666

Contact :

Share your experience and suggestions on the comment box.

Previous articles

  1. Touchless Hand Wash Timer
  2. Automatic Water Tap
  3. Automatic Hand Sanitizer
  4. Interface Ultrasonic sensor with Arduino Uno
  5. Control Servo motor with Arduino Uno and Pushbutton
  6. Control Servo motor with Arduino Uno and POT
  7. Servo Motor Interface with Arduino Uno