Public Lab Research note

Portable thermal IR temperature logger unit

by cfastie | May 26, 2017 20:37 26 May 20:37 | #14229 | #14229

Above: The infrared sensor on this data logger unit can read the temperature of an object without touching it.

Public Lab has been incorporating a thermal infrared sensor into projects for more than five years. The Thermal Flashlight is based on Melexis MLX90614 sensor which determines the temperature of an object by sensing the thermal infrared radiation emitted from it. I hooked up a similar sensor to the Nano Data Logger to see how it worked.

Above: This tiny PCB incorporates a thermal infrared sensor (MLX90615) to make a handy I2C device that works at 3.3 or 5 volts.

Above: The thermal logger unit incorporates an Arduino Nano, data logging shield, an LCD monitor, six AA batteries, and the GY-90615 IR sensor (far left).

Deek_18B20_20170524-9148.JPG Deek_18B20_20170524-9139.JPG
Above two: In the summer the propane in a tank is usually colder than the air, so the temperature of the metal tank can indicate where the level of propane is. The IR data logger unit could easily detect the propane level by finding the area of temperature difference, but so could your hand placed on the side of the tank.

Above: I added a cabled temperature sensor (DS18B20) to the thermal IR data logger to compare temperature results between the non-contact and contact sensors. Here the IR sensor (left) is pointed at the stream water surface (from about 30 cm away) and the cabled sensor (right) is submerged in the water. Readings from both sensors are being saved to microSD card every few seconds. The DS18B20 is a one-wire sensor (not an I2C sensor).

Above: The non-contact IR sensor (GY-90615) produced results very similar to the contact sensor (DS18B20) in the water. The GY-90615 has a second sensor which reports the temperature of the sensor itself which is typically close to the surrounding air temperature (orange dots).

Above two: The IR sensor has a field of view of 90°, so it must be held close to an object so the temperature of nearby objects does not influence the reading. I added a shield made of styrofoam to narrow the field of view.

Above: With the styrofoam shield surrounding the IR sensor, the temperature readings of the water surface (red) were higher than the submerged probe readings (blue). I guess the styrofoam has enough thermal mass that its temperature influenced the readings. So that's no good.

Above three: I tried a shield made of aluminum foil around the IR sensor. Aluminum foil does not have much thermal mass (you can touch it when it comes out of a hot oven). The foil is also reflective, so the thermal infrared rays from the water could reflect off the inside surface of the shield toward the sensor.

Above: The IR sensor shielded with aluminum foil produced temperature results for the water surface close to those of the submerged sensor. The IR results were about 1°C higher than the submerged results.

The infrared sensor has great potential for producing temperature results without being in contact with the object of interest. If the object fills the field of view of the sensor (90°), the accuracy of the IR sensor seems to be similar to a contact sensor.

The wide field of view of the sensor could make it tricky to eliminate temperature influences of nearby objects or surfaces. A shield made from thin, shiny material (e.g., aluminum foil) has the potential to narrow the field of view of the sensor.

Narrowing the field of view could make it easier to collect useful data. For example, walking along a stream or river in search of discharges of warmer water from human infrastructure would benefit from being able to aim the sensor more precisely. An aluminum foil shield could serve this purpose.

Parts list for this logger unit (for components ordered from China on eBay)

Arduino Nano---------------------$3.00 (can require soldering the headers)
Logging shield--------------------$4.00
LCD display----------------------- $2.00
I2C converter for LCD---------- $1.00 (requires soldering)
Battery case-----------------------$2.00
4GB µSD card--------------------$5.00
Coin cell battery------------------$0.30
I2C hub----------------------------$0.00 (DIY, requires soldering)
GY-90615-------------------------$5.00 (requires soldering header)
DS18B20--------------------------$2.00 (requires soldering a resistor)
11 Dupont wires------------------$0.40
Total------------------------------ $24.70

A kit with all the parts to make the Nano Data Logger is available here for $29.00, and all the soldering has been done and a program is loaded so the logger can be snapped together, powered on, and it will start to save data. The LCD and thermal IR sensor are also available here.

Here is the Arduino sketch I used with the two sensor logger unit: Deek_MLX90615_DS18B20.txt

I did this Help out by offering feedback! Browse other activities for "nano-data-logger"

People who did this (0)

None yet. Be the first to post one!


good tutorial!!

Can I use HC-SR04 to data?

Is this a question? Click here to post it to the Questions page.

Reply to this comment...

Hello How to change the code to write data delay 60s, i try and cant do that ? Where change that ?

Is this a question? Click here to post it to the Questions page.

Reply to this comment...

The simplest modification to make the sketch save to SD card once per minute is to change the line:

if (logData == 1) // write to SD card every x cycles


if (logData == 20) // write to SD card every x cycles

With that change, the LCD will be updated every 3 seconds but data will be saved once every minute.


Reply to this comment...

Login to comment.