Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use mlx90614: Examples, Pinouts, and Specs

Image of mlx90614
Cirkit Designer LogoDesign with mlx90614 in Cirkit Designer

Introduction

The MLX90614 is a contactless infrared (IR) temperature sensor that provides a digital output corresponding to the temperature of the object it is pointed at. This sensor is manufactured by Melexis and is designed for non-contact temperature measurements in various applications, including industrial controls, automotive systems, medical equipment, and home appliances.

Explore Projects Built with mlx90614

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
ESP32-Based Multi-Sensor Health Monitoring System with Bluetooth Connectivity
Image of circuit diagram: A project utilizing mlx90614 in a practical application
This circuit features an ESP32-WROOM-32UE microcontroller as the central processing unit, interfacing with a variety of sensors and modules. It includes a MAX30100 pulse oximeter and heart-rate sensor, an MLX90614 infrared thermometer, an HC-05 Bluetooth module for wireless communication, and a Neo 6M GPS module for location tracking. All components are powered by a common voltage supply and are connected to specific GPIO pins on the ESP32 for data exchange, with the sensors using I2C communication and the modules using UART.
Cirkit Designer LogoOpen Project in Cirkit Designer
Battery-Powered Raspberry Pi Pico GPS Tracker with Sensor Integration
Image of Copy of CanSet v1: A project utilizing mlx90614 in a practical application
This circuit is a data acquisition and communication system powered by a LiPoly battery and managed by a Raspberry Pi Pico. It includes sensors (BMP280, MPU9250) for environmental data, a GPS module for location tracking, an SD card for data storage, and a WLR089-CanSAT for wireless communication. The TP4056 module handles battery charging, and a toggle switch controls power distribution.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32 CAM Infrared Temperature Monitoring System with Audio Alert
Image of robot: A project utilizing mlx90614 in a practical application
This circuit features an ESP32 CAM module interfaced with an MLX90614 infrared temperature sensor and a buzzer. The ESP32 CAM is programmed via an FTDI Programmer, which also provides power to the ESP32. The buzzer is controlled by one of the ESP32's GPIO pins, and the MLX90614 communicates with the ESP32 via the I2C protocol using two GPIO pins for SDA and SCL.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Mega 2560-Based Autonomous Robot with GPS, Bluetooth, and Environmental Sensors
Image of botfinal: A project utilizing mlx90614 in a practical application
This circuit is a robotic system controlled by an Arduino Mega 2560, which uses multiple sensors including temperature sensors (MLX90614), gas sensors (MQ-136), a GPS module, and a Bluetooth module to navigate and detect environmental conditions. The system drives motors via an L298N motor driver and displays information on a 16x2 I2C LCD, with the ability to receive commands via Bluetooth.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with mlx90614

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of circuit diagram: A project utilizing mlx90614 in a practical application
ESP32-Based Multi-Sensor Health Monitoring System with Bluetooth Connectivity
This circuit features an ESP32-WROOM-32UE microcontroller as the central processing unit, interfacing with a variety of sensors and modules. It includes a MAX30100 pulse oximeter and heart-rate sensor, an MLX90614 infrared thermometer, an HC-05 Bluetooth module for wireless communication, and a Neo 6M GPS module for location tracking. All components are powered by a common voltage supply and are connected to specific GPIO pins on the ESP32 for data exchange, with the sensors using I2C communication and the modules using UART.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Copy of CanSet v1: A project utilizing mlx90614 in a practical application
Battery-Powered Raspberry Pi Pico GPS Tracker with Sensor Integration
This circuit is a data acquisition and communication system powered by a LiPoly battery and managed by a Raspberry Pi Pico. It includes sensors (BMP280, MPU9250) for environmental data, a GPS module for location tracking, an SD card for data storage, and a WLR089-CanSAT for wireless communication. The TP4056 module handles battery charging, and a toggle switch controls power distribution.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of robot: A project utilizing mlx90614 in a practical application
ESP32 CAM Infrared Temperature Monitoring System with Audio Alert
This circuit features an ESP32 CAM module interfaced with an MLX90614 infrared temperature sensor and a buzzer. The ESP32 CAM is programmed via an FTDI Programmer, which also provides power to the ESP32. The buzzer is controlled by one of the ESP32's GPIO pins, and the MLX90614 communicates with the ESP32 via the I2C protocol using two GPIO pins for SDA and SCL.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of botfinal: A project utilizing mlx90614 in a practical application
Arduino Mega 2560-Based Autonomous Robot with GPS, Bluetooth, and Environmental Sensors
This circuit is a robotic system controlled by an Arduino Mega 2560, which uses multiple sensors including temperature sensors (MLX90614), gas sensors (MQ-136), a GPS module, and a Bluetooth module to navigate and detect environmental conditions. The system drives motors via an L298N motor driver and displays information on a 16x2 I2C LCD, with the ability to receive commands via Bluetooth.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • Industrial Systems: Monitoring temperatures in machinery and processes.
  • Automotive: HVAC climate control and engine cooling systems.
  • Medical Equipment: Non-contact thermometers for patient monitoring.
  • Consumer Electronics: Home appliances like microwave ovens and cooktops.
  • DIY Projects: Integration with microcontrollers like Arduino for hobbyist projects.

Technical Specifications

Key Technical Details

  • Supply Voltage (Vdd): 3.3V to 5V
  • Measurement Range: -70°C to +380°C for object temperature
  • Field of View (FOV): 90° typical
  • Resolution: 0.02°C
  • Accuracy: ±0.5°C for ambient temperature; ±1°C for object temperature
  • Interface: I2C-compatible digital interface

Pin Configuration and Descriptions

Pin Number Name Description
1 Vdd Power supply (3.3V to 5V)
2 SDA I2C Data Line
3 SCL I2C Clock Line
4 GND Ground

Usage Instructions

How to Use the Component in a Circuit

  1. Power Supply: Connect the Vdd pin to a 3.3V or 5V power supply.
  2. Ground: Connect the GND pin to the ground of the power supply.
  3. I2C Communication: Connect the SDA and SCL pins to the I2C data and clock lines of your microcontroller.

Important Considerations and Best Practices

  • Power Supply: Ensure that the power supply is within the specified voltage range.
  • I2C Pull-up Resistors: Typically, 4.7kΩ pull-up resistors are required on the SDA and SCL lines.
  • Filtering: Place a capacitor close to the Vdd pin to filter out power supply noise.
  • Field of View: Be aware of the sensor's FOV to ensure accurate temperature readings of the intended object.
  • Calibration: For critical applications, calibrate the sensor in the specific environment where it will be used.

Example Code for Arduino UNO

#include <Wire.h>
#include <Adafruit_MLX90614.h>

Adafruit_MLX90614 mlx = Adafruit_MLX90614();

void setup() {
  Serial.begin(9600);
  mlx.begin();  
}

void loop() {
  Serial.print("Ambient = "); Serial.print(mlx.readAmbientTempC()); 
  Serial.print("*C\tObject = "); Serial.print(mlx.readObjectTempC()); Serial.println("*C");
  delay(500);
}

Code Comments

  • #include <Wire.h>: Includes the I2C library for communication.
  • #include <Adafruit_MLX90614.h>: Includes the library for the MLX90614 sensor.
  • Adafruit_MLX90614 mlx: Creates an instance of the MLX90614 class.
  • Serial.begin(9600): Initializes serial communication at 9600 baud rate.
  • mlx.begin(): Initializes the sensor.
  • mlx.readAmbientTempC(): Reads the ambient temperature in Celsius.
  • mlx.readObjectTempC(): Reads the object temperature in Celsius.
  • delay(500): Pauses the loop for 500 milliseconds.

Troubleshooting and FAQs

Common Issues

  • Inaccurate Readings: Ensure that the sensor is not exposed to sudden temperature changes and that the FOV is correctly aligned with the target.
  • No Data on I2C: Check the wiring, ensure pull-up resistors are installed, and verify that the correct I2C address is being used.

Solutions and Tips for Troubleshooting

  • Power Supply Issues: Verify that the power supply is stable and within the specified voltage range.
  • I2C Communication: Use an I2C scanner sketch to confirm that the sensor is detected on the I2C bus.
  • Sensor Placement: Adjust the sensor's position to avoid interference from surrounding objects.

FAQs

Q: Can the MLX90614 measure the temperature through glass? A: No, the sensor cannot measure through glass as it blocks IR radiation.

Q: Is the MLX90614 waterproof? A: The sensor itself is not waterproof. It requires additional protection if used in a moist environment.

Q: How can I calibrate the MLX90614? A: Calibration should be done against a known temperature reference in the same environmental conditions as the intended application.

Q: What is the I2C address of the MLX90614? A: The default I2C address is 0x5A. However, it can vary with different versions of the sensor.

This documentation provides a comprehensive guide to the MLX90614 IR temperature sensor, ensuring users can effectively integrate and utilize this component in their projects.