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
