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.
Waveshare Thermal Camera MLX90640-D110

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)Waveshare Thermal Camera MLX90640-D110 - PIXELIt 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

Waveshare Thermal Camera MLX90640-D110 - RAM

EEPROM

The EEPROM is used to store the calibration constants and the configuration parameters of the device

EEPROM addressAccessMeaning
0x2400MelexisMelexis reserved
0x2401MelexisMelexis reserved
0x2402MelexisMelexis reserved
0x2403MelexisConfiguration register
0x2404MelexisMelexis reserved
0x2405MelexisMelexis reserved
0x2406MelexisMelexis reserved
0x2407MelexisDevice ID1
0x2408MelexisDevice 102
0x2409MelexisDevice 1D3
Ox240AMelexisDevice Options
0x240BMelexisMelexis reserved
Ox240CCustomerControl register_1
Ox240DCustomerControl register _2
Ox240ECustomer12CConf Reg
Ox240FCustomerMelexis 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

Waveshare Thermal Camera MLX90640-D110 - REFRESH

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)

Waveshare Thermal Camera MLX90640-D110 - READING

TV interleave mode

Waveshare Thermal Camera MLX90640-D110 - READING 2

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.

Waveshare Thermal Camera MLX90640-D110 - MEASURE

Examples

Raspberry Pi

Hardware connection

Waveshare Thermal Camera MLX90640-D110 - HARDWARE

Raspberry PiMLX90640 Thermal Camera
5V5V
GNDGND
SDA(BCM2)SDA
SCL(BCM3)SCL

Waveshare Thermal Camera MLX90640-D110 - DOWNLOADWaveshare Thermal Camera MLX90640-D110 - DOWNLOAD 2

 

STM32

Hardware connection

STM32 MLX90640 Thermal Camera

Waveshare Thermal Camera MLX90640-D110 - STM32

STM32MLX90640 Thermal Camera
5V5V
GNDGND
SDA(BCM2)SDA
SCL(BCM3)SCL

ESP32

Hardware connection

Waveshare Thermal Camera MLX90640-D110 - ESP32

STM32MLX90640 Thermal Camera
5V5V
GNDGND
SDA(BCM2)SDA
SCL(BCM3)SCL

Test result

Waveshare Thermal Camera MLX90640-D110 - TEST

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.

Documents / Resources

Waveshare Thermal Camera MLX90640-D110 [pdf] User Manual
Waveshare, Thermal Camera, MLX90640

References

Leave a comment

Your email address will not be published. Required fields are marked *