Waveshare Thermal Camera MLX90640-D110 User Manual
- June 6, 2024
- WAVESHARE
Table of Contents
MLX90640-D110 Thermal Camera
Instruction
This is a 32×24 pixel, 55° field of view, IR array thermal imaging camera, communicating via the I2C interface. It is compatible with 3.3V/5V operating voltage, supports host platforms such as Raspberry Pi/Arduino(ESP32)/STM32, etc.
Features
- Adopts MLX90640 far-infrared thermal sensor array, 32×24 pixels
- Communicating via I2C interface, configurable to fast mode (up to 1MHz data rate)
- Noise Equivalent Temperature Difference (NETD) 0.1K RMS @1Hz refresh rate
- Onboard voltage translator, compatible with 3.3V/5V operating voltage
- Comes with development resources and manual (examples for Raspberry Pi/Arduino(ESP32)/STM32)
Specification
Operating voltage: 3.3V/5V Operating current: 23mA Communication interface: I2C (address 0x33) Field of view (Horizontal×Vertical):
- MLX90640-D55 Thermal Camera: 55°×35° (narrow-angle FOV, suit for long-range measuring)
- MLX90640-D110 Thermal Camera: 110°×75° (wide angle FOV, suit for short-range measuring)
- Operating temperature: ˜ 4085
- Target temperature: ˜ 40300
- Resolution: ±1
- Refresh rate: 0.5Hz~64Hz (programmable)
- Dimensions: 28mm×16 mm
- Mounting hole size: 2.0mm
Interface
- Vcc: Connect to 3,3V (MCU)
- GND: Connect to GND (MCU)
- SDA: Connect to SDA pin of I2C interface (MCU)
- SCL: Connect to SCL pin of I2C interface (MCU)
I2C
This camera uses the I2C interface that supports High-speed mode. The default I2C address is 0x33.
PIXEL POSITION
MLX90640 consists of 768 IR sensors (also called pixels). Each pixel is identified with its row and column position as Pix(i, j) where i is its row number (from 1 to 24) and j is its column number (from 1 to 32) ****It is normal that the sensor may have less than four bad pixels. Every bad pixel is marked in the EEPROM table. So the module you get may have bad pixels, it is normal and not covered by warranty. If the module you get has bad pixels, you can use the average value of the neighboring pixels.
Address map
ox0000
Ox03FF| ROM
---|---
0x0400
Ox07FF| RAM
0x2400
Ox273F| EEPROM
Ox8000
Ox800C| Registers (MLX reserved)
Ox800D
0x8010| Registers
0x8011
0x8016| Registers (MLX reserved) ****
Figure 10 MXL90640 memory map
REM
EEPROM
The EEPROM is used to store the calibration constants and the configuration parameters of the device
EEPROM address | Access | Meaning |
---|---|---|
0x2400 | Melexis | Melexis reserved |
0x2401 | Melexis | Melexis reserved |
0x2402 | Melexis | Melexis reserved |
0x2403 | Melexis | Configuration register |
0x2404 | Melexis | Melexis reserved |
0x2405 | Melexis | Melexis reserved |
0x2406 | Melexis | Melexis reserved |
0x2407 | Melexis | Device ID1 |
0x2408 | Melexis | Device 102 |
0x2409 | Melexis | Device 1D3 |
Ox240A | Melexis | Device Options |
0x240B | Melexis | Melexis reserved |
Ox240C | Customer | Control register_1 |
Ox240D | Customer | Control register _2 |
Ox240E | Customer | 12CConf Reg |
Ox240F | Customer | Melexis reserved / 12C Address |
Table 7 configuration parameters memory
Refresh rate
This module support 8 kinds of refresh rate, up to 64Hz. The refresh rate is configured by registers 1-0x800D
The refresh rate is defined by Bit 7, Bit 8 and Bit 9 of control registers 1-0x800D.
Reading patterns
Chess pattern mode (factory default)
TV interleave mode
The array frame is divided into two subpages and depends on bit 12 in “Control register 1” (0x800D). As a standard the MLX90640 is calibrated in Chess pattern mode, this results in better-fixed pattern noise behavior of the sensor when in chess pattern mode. For best results, we advise using chess pattern mode.
Measure principle
The FOV of this module is determined by a 50% radiation signal which is received by the thermopile, it is also influenced by the main axis of the sensor. The temperature measured is the weighted average of the detected object’s temperature in FOV. To improve the accuracy, you should make sure that the detected object is in the FOV totally.
Examples
Raspberry Pi
Hardware connection
Raspberry Pi | MLX90640 Thermal Camera |
---|---|
5V | 5V |
GND | GND |
SDA(BCM2) | SDA |
SCL(BCM3) | SCL |
STM32
Hardware connection
STM32 MLX90640 Thermal Camera
STM32 | MLX90640 Thermal Camera |
---|---|
5V | 5V |
GND | GND |
SDA(BCM2) | SDA |
SCL(BCM3) | SCL |
ESP32
Hardware connection
STM32 | MLX90640 Thermal Camera |
---|---|
5V | 5V |
GND | GND |
SDA(BCM2) | SDA |
SCL(BCM3) | SCL |
Test result
FAQ
Question: What is the measurement distance of the MLX90640-D110, and what is the max frame rate?
[Collapse] Answer:
A tester is 178cm tall, stands 1M far, shakes his hand backward. The focus
disappears when the tester is farther than 9M. When the test away to 2M far,
the camera loses the body contour. The Camera supports a Maximum 64Hz.
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>