Skip to content

MLX90640

This module uses a Infared Image sensor to generate a 32x32 pixel IR image of the sky

The MLX90640 is a compact, high-resolution thermal imaging array designed to capture two-dimensional temperature data without physical contact. Unlike single-pixel IR thermometers (such as the MLX90614), the MLX90640 features a 32 × 24 matrix of infrared sensing elements, providing 768 individual temperature measurements across its field of view. This allows it to generate true thermal images, detect temperature patterns, identify hotspots, and monitor heat distribution over an area rather than at a single point.

At its core, the MLX90640 uses an array of microbolometers, each of which responds to infrared radiation emitted by the environment. These readings are digitised and processed through onboard calibration data to produce accurate temperature values. The sensor supports a wide measurable range, typically from –40°C to +300°C, and provides object temperature readings with good stability when properly calibrated and thermally stabilised. Its internal DSP compensates for pixel-to-pixel variations, thermal drift, and lens characteristics, producing consistent and repeatable thermal maps.

The MLX90640 communicates over I²C and supports frame rates from about 0.5 Hz up to 64 Hz, depending on resolution mode and bandwidth. It is available in different Field of View (FOV) configurations—such as 55° × 35° (standard) or 110° × 75° (wide-angle)—making it suitable for a wide variety of applications, including people detection, HVAC optimisation, wildlife monitoring, fire detection, equipment diagnostics, industrial automation, and security systems. Because the sensor is extremely sensitive to thermal disturbances, optimal performance requires careful mounting to minimise self-heating, shielding from airflow or drafts, and avoiding condensation on the lens. With appropriate integration, the MLX90640 offers an accessible and highly capable thermal imaging solution for embedded systems and IoT projects.

Module

This module is only really useful for getting the minimum and maximum temperatures and a nice image if you want one. It was conceived as part of a system to determine cloud cover but that work was never completed due to it being inaccurate

Settings

Setting Description
I²C Address The I²C address of the mlx90640, leave blank for the default
Image filename The name of the image to be created, this will then be found in the overlay image manager
Resize Image Resizes the image, 0 = no image 1 = 100%

Available Variables

The module generates the following variables

Variable Description
AS_MLX906040MIN The minimum temperature in the captured image
AS_MLX906040MAX The maximum temperature in the captured image

Schematics

Example using the mlx90640

Available in

  • Daytime


    • The Day time pipeline
  • Nighttime


    • The Night time pipeline
  • Periodic


    • The Periodic pipeline