——
#DonLucElectronics #DonLuc #MLX90614 #AHT20 #Environment #FireBeetle2ESP32E #ESP32 #Display #IoT #Project #Fritzing #Programming #Electronics #Microcontrollers #Consultant
——
——
——
——
Infrared Temperature Sensor MLX90614
The MLX90614 infrared temperature sensor is a digital device that allows for contactless temperature measurement using the infrared radiation emitted by objects. This module integrates the Melexis MLX90614 sensor, which includes a thermopile to detect IR radiation and an internal processor that converts this signal into compensated temperature values for both the object and the ambient temperature. Its operation is based on the principle that all bodies emit infrared radiation proportional to their temperature; the sensor captures this radiation and translates it into a precise digital value. The MLX90614 offers measurements from -70 °C to 380 °C for object temperature and from -40 °C to 170 °C for ambient temperature, with a typical accuracy of ±0.5 °C. It primarily communicates via I2C facilitating its integration with microcontrollers.
The MLX90614 infrared temperature sensor is used in applications requiring contactless temperature measurement, making it ideal for digital thermometers, medical monitoring, temperature control in machinery, industrial systems, ovens, smart appliances, weather stations, and robotics projects.
DL2606Mk02
1 x DFRobot FireBeetle 2 ESP32-E
1 x Fermion: 3.5” 480×320 TFT LCD Capacitive
1 x GDL Line 10 CM
1 x Infrared Temperature Sensor MLX90614
1 x Gravity: AHT20 Temperature and Humidity Sensor
1 x Gravity: IO Shield for FireBeetle 2
1 x Terminal Block Board for FireBeetle 2 ESP32-E IoT
1 x Lithium Ion Battery – 1000mAh
1 x USB 3.0 to Type-C Cable
DL2606Mk02p
DL2606Mk02p.ino
/****** Don Luc Electronics © ******
Software Version Information
Project #15: Environment - Infrared Temperature Sensor MLX90614 - Mk42
15-42
DL2606Mk02p.ino
DL2606k02
1 x DFRobot FireBeetle 2 ESP32-E
1 x Fermion: 3.5” 480x320 TFT LCD Capacitive
1 x GDL Line 10 CM
1 x Infrared Temperature Sensor MLX90614
1 x Gravity: AHT20 Temperature and Humidity Sensor
1 x Gravity: IO Shield for FireBeetle 2
1 x Terminal Block Board for FireBeetle 2 ESP32-E IoT
1 x Lithium Ion Battery - 1000mAh
1 x USB 3.0 to Type-C Cable
*/
// Include the Library Code
// EEPROM Library to Read and Write EEPROM with Unique ID for Unit
#include "EEPROM.h"
// DFRobot Display GDL API
#include <DFRobot_GDL.h>
// AHT20 Humidity and Temperature Sensor
#include <DFRobot_AHT20.h>
// Wire
#include <Wire.h>
// MLX90614
#include <Adafruit_MLX90614.h>
// MLX90614
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
// MLX90614
float fAmbiente = 0;
float fObject = 0;
// AHT20 Humidity and Temperature Sensor
DFRobot_AHT20 aht20;
// AHT20 Humidity and Temperature Sensor
float h = 0;
float t = 0;
// Defined ESP32
#define TFT_DC D2
#define TFT_CS D6
#define TFT_RST D3
/*dc=*/ /*cs=*/ /*rst=*/
// DFRobot Display 320x480
DFRobot_ILI9488_320x480_HW_SPI screen(TFT_DC, TFT_CS, TFT_RST);
// Software Version Information
// EEPROM Unique ID Information
#define EEPROM_SIZE 64
String uid = "";
// Software Version Information
String sver = "15-42";
void loop() {
// isMLX90614
isMLX90614();
// AHT20 Humidity and Temperature Sensor
isHT();
// isDisplay Infrared Temperature Sensor MLX90614
isDisplayMLX90614();
// Delay 2 Second
delay( 2000 );
}
getDisplay.ino
// DFRobot Display 320x480
// DFRobot Display 320x480 - UID
void isDisplayUID(){
// DFRobot Display 320x480
// Text Display
// Text Wrap
screen.setTextWrap(false);
// Rotation
screen.setRotation(3);
// Fill Screen => black
screen.fillScreen(0x0000);
// Text Color => white
screen.setTextColor(0xffff);
// Font => Free Sans Bold 12pt
screen.setFont(&FreeSansBold12pt7b);
// TextSize => 1.5
screen.setTextSize(1.5);
// Don Luc Electronics
screen.setCursor(0, 30);
screen.println("Don Luc Electronics");
// Tilt Switch
screen.setCursor(0, 60);
screen.println("Infrared Temperature MLX90614");
// Version
screen.setCursor(0, 90);
screen.println("Version");
screen.setCursor(0, 120);
screen.println( sver );
// EEPROM
screen.setCursor(0, 150);
screen.println("EEPROM");
screen.setCursor(0, 180);
screen.println( uid );
}
// isDisplay MLX90614
void isDisplayMLX90614(){
// DFRobot Display 320x480
// Text Display
// Text Wrap
screen.setTextWrap(false);
// Rotation
screen.setRotation(3);
// Fill Screen => white
screen.fillScreen(0xffff);
// Text Color => blue
screen.setTextColor(0x001F);
// Font => Free Sans Bold 12pt
screen.setFont(&FreeSansBold12pt7b);
// TextSize => 1.5
screen.setTextSize(1.5);
// Vibration Senso
screen.setCursor(0, 30);
screen.println("Infrared Temperature MLX90614");
// Humidity
screen.setCursor(0, 70);
screen.println("Humidity");
screen.setCursor(0, 100);
screen.print( h );
screen.setCursor(65, 100);
screen.println( "%RH" );
// Temperature
screen.setCursor(0, 140);
screen.println("Temperature");
screen.setCursor(0, 170);
screen.print( t );
screen.setCursor(65, 170);
screen.println( "C" );
// MQ-3 Alcohol Detector
screen.setCursor(0, 210);
screen.println("Infrared Temperature MLX90614");
screen.setCursor(0, 240);
screen.print( "Ambiente: " );
screen.setCursor(130, 240);
screen.print( fAmbiente );
screen.setCursor(200, 240);
screen.println( "C" );
screen.setCursor(0, 265);
screen.print( "Object: " );
screen.setCursor(130, 265);
screen.print( fObject );
screen.setCursor(200, 265);
screen.println( "C" );
}
getEEPROM.ino
// isUID EEPROM Unique ID
void isUID()
{
// Is Unit ID
uid = "";
for (int x = 0; x < 7; x++)
{
uid = uid + char(EEPROM.read(x));
}
}
getgetHT.ino
// AHT20 Humidity and Temperature Sensor
void isHT(){
if(aht20.startMeasurementReady(true)){
// Humidity
h = aht20.getHumidity_RH();
// Temperature
t = aht20.getTemperature_C();
}
}
getMLX90614.ino
// Infrared Temperature Sensor MLX90614
// isMLX90614
void isMLX90614(){
fAmbiente = mlx.readAmbientTempC();
fObject = mlx.readObjectTempC();
}
setup.ino
// Setup
void setup()
{
// Delay
delay( 100 );
// EEPROM Size
EEPROM.begin(EEPROM_SIZE);
// EEPROM Unique ID
isUID();
// Delay
delay(100);
// DFRobot Display 320x480
screen.begin();
// Delay
delay( 100 );
// AHT20 Humidity and Temperature Sensor
aht20.begin();
// Delay
delay( 100 );
// Infrared Temperature Sensor MLX90614
mlx.begin();
// Delay
delay( 100 );
// DFRobot Display 320x480 - UID
// Don Luc Electronics
// Version
// EEPROM
isDisplayUID();
// Wait for the sensor to heat up for 20 seconds
delay( 5000 );
}
——
People can contact us: https://www.donluc.com/?page_id=1927
Consultant, R&D, Electronics, IoT, Teacher and Instructor
- Programming Language
- Single-Board Microcontrollers (PIC, Arduino, Raspberry Pi, Arm, Silicon Labs, Espressif, Etc…)
- IoT
- Wireless (Radio Frequency, Bluetooth, WiFi, Etc…)
- Robotics
- Automation
- Camera and Video Capture Receiver Stationary, Wheel/Tank , Underwater and UAV Vehicle
- Unmanned Vehicles Terrestrial, Marine and UAV
- Machine Learning
- Artificial Intelligence (AI)
- RTOS
- Sensors, eHealth Sensors, Biosensor, and Biometric
- Research & Development (R & D)
- Consulting
Follow Us
Luc Paquin – Curriculum Vitae – 2026
https://www.donluc.com/luc/LucPaquinCVEng2026Mk01.pdf
https://www.donluc.com/luc/
Web: https://www.donluc.com/
Web: https://www.jlpconsultants.com/
Facebook: https://www.facebook.com/neosteam.labs.9/
YouTube: https://www.youtube.com/@thesass2063
DFRobot: https://learn.dfrobot.com/user-10186.html
TikTok: https://www.tiktok.com/@luc.paquin8
Hackster: https://www.hackster.io/luc-paquin
LinkedIn: https://www.linkedin.com/in/jlucpaquin/
Don Luc





























