The MLX90640 32×24 IR array by Melexis is a cost-effective alternative unlike the one seen above that’s a much more expensive high-end thermal camera.
These big thermal cameras do perform well but are way too costly for the average consumer. This does not sit well for users merely wanting to try out thermal imaging and what’s all about.
Fear not though, in today’s blog, I’ll be introducing MLX90640 based thermal imaging cameras that are affordable, easy-to-pair with your microcontroller, and run through python for viewing of thermal images.
*Not sure about programming or using python?
Not to worry, there aren’t many steps to the pairing tutorial and I’ll walk you through it as we go along
Introduction to MLX90640 IR Array
Before we touch on my recommended thermal imaging cameras, we’ll take a further look at the MLX90640 32×24 IR array sensor that it’s running on.
What’s good? Key Features
Wide temperature measurement range
The MLX90640 has a -40°C to 85°C operational temperature range, with it being capable of measuring object temperatures between
-40°C to 300°C
This infrared sensor maintains high levels of precision across its measurement range, delivering a target object temperature accuracy of ±1°C.
Low system cost with continuous monitoring
The MLX90640 does not require frequent re-calibration, unlike microbolometer alternatives. This ensures continuous monitoring and lowering system cost/operational expense.
Simple to integrate
Running on an I2C-compatible digital interface simplifies integration
Other key features include:
- Industry Standard four lead TO39 package
- NETD of just 0.1K RMS at 1Hz refresh rate
- Two different field of view options; standard 55°x35° and 110°x75° wide angle
- Small form factor
Some of its application examples are:
- High precisions non-contact temperature measurements
- Safety and convenience applications; fire prevention systems, etc.
- Intrusion/Movement detection
- Presence detection / Person localization
- Sensing elements for smart buildings
- Microwave ovens
- Industrial temperature control of moving parts
- Visual IR thermometers
Check out one of its applications illustrated in the video by Melexis below!
MLX90640 based Thermal Imaging Cameras
Grove – Thermal Imaging Camera / IR Array MLX9060 55 degree (Standard version)
If the MLX9060 sounds sweet, this is a thermal imaging module by Seeed that’s made with it. It can not only measure the value of the surrounding temperature but display thermal imaging figures as well.
Hardware Overview: Key Features and Specifications
- 55° x 35° FOV (field of view)
- Temperature measurement range: -40°C~300℃
- I2C Grove Interface
|Field of View||55°x 35°|
|Interface||I2C Grove interface|
How does it work?
It works through connecting an MCU with its I2C interface.
Not Uno Compatible: As the MLX90640 requires complex calculations by the host platform, regular development boards like Arduino Uno (or equivalent) cannot be used as it doesn’t have enough RAM or flash to handle the calculations
Which microcontroller is it compatible with?
The following microcontrollers are compatible:
- Teensy 3.1 and above
- Arch Mix
*The pairing guide later in this blog will be with the Arch Mix
Not sure about what’s the Arch Mix all about? Not to worry, I’ll be walking you through later on as well!
Need something that has a wider lens? Check this 110-degree version out instead
This module shares similar features to the one above, apart from one differing advantage; having a wider 110-degree field of view.
Its wider FOV allows for more to be captured in a single frame yet maintaining its small form factor, temperature measurement range, the power consumed, etc.
- IR Thermal Sensor Array 32X24 (MLX90640)
- 110°x75° FOV(field of view)
- Temperature measurement range: -40℃~300℃
- I2C Grove Interface
*Similarly to the other MLX9060 module, it’s not compatible with Arduino boards
Pairing the Grove – Thermal Imaging Camera / IR Array MLX90640
Since both modules are paired the same way, here’s how you can get started on either of the modules
Breakdown of Materials:
A thin, lightweight development board based on NXP i.MX RT102 processor (3020 CoreMark/1284 DMIPS @600 MHz). It comes pre-installed with RT-Thread real-time operating system and built-in micro-python.
Its good performance to process the complex data from the IR sensor camera makes it well suited for pairing.
Arch Mix Grove Breakout:
Shield designed for Arch Mix that allow for plug-n-play pairing instead of using jumper wires
- Step 1: Connect the Grove – Thermal Imaging Camera to one of the two I2C ports (Default Address is J9 port)
- Step 2: Plug the Arch Mix into Arch Mix Grove Breakout
- Step 3: Connect the Arch Mix to PC via a micro USB cable
- Step 1: Install Python 3.7, if your python is another version, I recommend you reinstall version 3.7 for this project
- Step 2: Open your “Command Prompt” on your computer, you can do so by searching “CMD” to open it from the “Start” Menu
- Step 3: Once python 3.7 is installed, type the command to install the pypi package
pip install seeed_python_ircamera
Note: Make sure that the path of your python folder and python scripts folder (inside the python folder) added into your computer’s environmental PATH.
- Step 4: After installing the package, check if your Arch Mix is connecting to your PC. Open your “Device Manager” to find the port name of your device. (Like COM1, COM2 in Windows system)
- Step 5: Type the following command to start the python program of IR thermal camera
You should now see the thermal images similar to the one shown below!
Overall, the MLX90640 IR array is a cost-effective option that one should pick up over the high-end expensive ones that aren’t healthy for your wallet!
Do consider the Grove-Thermal Imaging Camera / IR Array MLX90640 55 or 110-degree version to pick up for your project!
Both products are now available for pre-order and are estimated to arrive on Dec 06, 2019!