Dali Md16u Human Body Temperature Measurement Module User Manual

Dali Md16u Human Body Temperature Measurement Module User Manual

DALI logo

User Manual
MD16U Human Body Temperature
Measurement Module
DALI MD16U Human Body Temperature Measurement Module - logo
Rev. 1.0
Zhejiang DALI Technology Co., Ltd.
MD16U thermal imaging module user manual

Product Introduction

The MD16U human body temperature measurement thermal imaging module is developed by DALI manufactured uncooled microbolometer detectors. MD16U outputs data with a resolution of 120×322 in UVC mode. The pseudo-color image and the temperature image are spliced up and down and output at the same time. The upper 120×160 is the pseudo-color image, the lower 120×160 is the temperature data, and the last 2 lines of information output other information.
The module supplies power through the USB interface, communicates control and data output in UVC mode, and is easy to integrate with other application systems.
MD16U module can be connected to a computer for independent application and is also suitable for integration with other human body temperature measurement and screening equipment: temperature measurement flat panel, temperature measurement gate, temperature measurement security gate, temperature measurement attendance machine, temperature measurement access control intercom and other equipmentDALI MD16U Human Body Temperature Measurement Module

Picture .1:MD16T Module appearance

MD16U Features and Advantages:

  • Integrated mini black body, high-temperature measurement accuracy, stable performance, and small influence of working environment temperature.
  • Full-frame human body temperature measurement: Each frame of the image provides 160×120 temperature point data, suitable for various applications.
  • UVC output to realize drive-free development
  • Small size, convenient installation, universal single USB cable input, and output
  • Flexible application: users can perform personalized algorithm processing such as back-end image stretching and pseudo-color rendering.

Precautions for module use::

  • Use in strict accordance with the specified use conditions of the product, and the module needs to be used in an indoor no wind scene.
  • When the system is used in integration, it is necessary to strengthen the heat dissipation and ensure uniform and stable temperature around the module and be isolated from other cold/heat sources to avoid severe fluctuations in ambient temperature.
  • Take care to protect the surface of the lens to avoid scratches and oil stains from hard objects.
  • The module should not look directly at high-temperature targets such as the sun to prevent high-temperature burns to the detector.

Technical Specifications

The detailed technical parameters of MD16U are described below:

Table 1:Technical Parameters

Detector TypeUncooled microbolometer array sensor
Resolution160×120
Pixel Pitch17um
Pixel Pitch17um
NEED≤60mK (F/1,300K,60Hz)
Frame Rate≤12Hz(image and temp output at the same time)
≤14Hz(single image or temperature)
Image CalibrationSingle point, two points, dead point replacement, etc., dynamic dead point correction, automatic gain, and false color (can be turned off) are completed before leaving the factory
Output InterfaceUVC
Control InterfaceUVC
Temperature Range30℃~40℃
Temperature AccuracyInbuilt black body, ± 0.3°C (ambient temperature 20°C~30°C)/±0.5°C (ambient temperature 10°C~40°C)
Temperature Measurement Range0.5m
Distance CalibrationSupport
Human Body Temperature CalibrationSupport surface temperature / human body internal temperature
Temperature Data Output120×322(Image and temperature stitching up and down) 120×162(Gray value or temperature data)
Working voltageDC 4.4V~5.5V
Power consumption0.8W(room temperature steady state), peak 2.5W
Working Temp10℃~40℃
Storage Temp-40℃~60℃
Dimension70mm×40mm×53mm
Install port2 M2 threaded holes on the bottom, 1 1/4′-20UNC threaded hole, 4 M2 threaded holes on the back
LensAthermalized fixed focus infrared lens
Focusf3.85mm/F1.0
FOX29.7°×38.9°
PC SoftwareProvide Windows version PC software, can view images, temperature measurement, etc.
SDKProvide SDK, including data receiving, sending, parsing, output mode switching, filtering algorithm switch, automatic gain
switch, pseudo-color calling, and distance correction interface

Mechanical Parameters

The dimensions of the module are shown in Picture 2(unit: mm)

DALI MD16U Human Body Temperature Measurement Module - Mechanical ParametersPicture 2:Module dimension

Electrical Parameters

The module output interface is a USB Type-A male data cable, which works in USB2.0 mode.
Power requirements input range 4.4V ~ 5.5V, currently greater than 500mA, more than 1A is recommended

Software protocol

The module is a UVC slave device with a VC interface and a VS interface inside.
The VC interface is used for module control, and the VS interface is used for image and temperature data output.
Use the “contrast” adjustment command in the VC interface to issue control commands, upload module response information, and control the basic composition and format of transmission data packets as shown in Table 3.

Table 3:Packet format

No.DefinitionBytesFormat
1start byte1Fixed number:0x6e
2status code10x00
3reserved bit10x00
4script1As shown in Table 4
5Data length (high order)1Indicates the length of number 9 data, see Table 4 “Data Length” column
6Data length (low order)1
7CRC1 (high order)1check code
8CRC1 (low order)1
9datachangeableActual data sent in little-endian mode, with variable length
10CRC2 (high order)1check code
11CRC2 (low order)1

CRC1 check: CCITT-16 checksum is used, CRC-CCITT ( 0xFFFF ), that is CRC-16/CCITT-FALSE
a) The check operation is performed on the four parts of “No. 1”-“No. 6”.
b) The check is formed at the backend and is checked at the module side. If the check fails, it needs to be retransmitted.
CRC2 check: CCITT-16 checksum is used, CRC-CCITT ( 0xFFFF ), that is CRC-16/CCITT-FALSE。
a) The check operation is performed on the six parts of “No. 1” – “No. 9”.
b) The check is formed at the backend and is checked at the module side. If the check fails, it needs to be retransmitted.
The table used for CRC1 and CRC2 checks is shown in Appendix 1

Table 4:Command

CodeDire actionData LengthDescription
0x04Serial down0x00:Turn on single-point calibration (manual calibration)
Example:6e 00 00 04 00 01 1d 4a 00 00 00
1Manual single-point calibration
0x2aSerial downAuto Gain and Pseudo Color On
Example:6e 00 00 2a 00 02 b0 ee 02 00 66 62 Auto Gain and Pseudo Color Off
Example:6e 00 00 2a 00 02 b0 ee 02 01 76 43
2Automatic gain and pseudo-color switch
Serial downThe module temperature measurement data enables the human body compensation mode Example:6e 00 00 2a 00 02 b0 ee 0c 00 45 6d The module temperature measurement data closes the human body compensation mode Example:6e 00 00 2a 00 02 b0 ee 0c 01 55 4C2On/off state, it will take effect after the next shutter release, and it will be automatically saved in the
module
0x84Serial downParameter 1~2: The number of data packets of the upgrade file
Example:6e 00 00 84 00 02 16 73 05 00 ff f5
2Notify the module to upgrade, and inform the number of data packages, Note 2
Serial upParameter 1~2: Request the packet number of the next data packet, the packet number starts from 0
Example:6e 00 00 84 00 02 16 73 00 00 00 00
2The module responds with 0x00
Serial downParameters 1 to 4: file length (sent in little-endian mode)
Parameters 5 to 6: CRC of the entire file (sent in little-endian mode)
Parameter 7~18: The modification time of the file (year, month, day, hour, minute) Parameters 19~30: The version number of the file (included in the file name)
Parameter 31~50: reserved parameter, default 00.
Example:6e 00 00 84 00 32 20 20 04 e7 00 00 dc 35 32 30 32 31 30 38 32 34 31 32 31 39 5a 32 30 30 30 38 32 34 31 32 31 39 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 1f
50Firmware file length, verification, file modification time, version number, and other information.
Serial upParameter 1~2: Request the packet number of the next data packet, the packet number starts from 1
Example:6e 00 00 84 00 02 16 73 01 00 33 31
2The module responds to the packet number 0x01; the next step starts to send the data packet of the file.
Serial downParameter 1~2: the package number of the current package, starting from 1 Parameter 3~4: effective data length
Parameter 5~: Valid data
≤12800data pack
0x88Serial downswitch to a grayscale image
Example:6e 00 00 88 00 01 53 71 00 00 00 00 switch to temperature image
Example:6e 00 00 88 00 01 53 71 01 10 21 00
1switch to grayscale image and temperature image
0x8aSerial down0x00:Module reset restart
Example:6e 00 00 8a 00 01 3d 11 00 00 00
1Module restart
0xa4Serial downParameter 1:02 Parameter:2~5:distance, Unit is centimeter, float type
Example:6e 00 00 a4 00 05 e0 52 02 00 00 a0 41 01 18
5The example is 20.0cm, the float value is 41 a0 00 00,sent in little
endian mode

Note 1: The command packet is transmitted by using the “contrast” adjustment command of UVC. Only 2 bytes must be transmitted at a time. Therefore, when the length of the command packet (number of bytes) is not an even number, it needs to be filled with zeros at the end. Special attention should be paid to the high and low bits of the sending command. For example, the length (number of bytes) of the first 6e 00 00 04 00 01 1d 4a 00 00 00 is odd, and 0 should be added to 6e 00 00 04 00 01 1d 4a 00 00 00  00 , the module needs to receive the information in this order. If it is sent from a computer, the computer transmits the problem of size end and the content that needs to be sent on the computer is as follows
0x6e 0x00;
0x00 0x04;
0x00 0x01;
0x1d 0x4a;
0x00 0x00;
0x00 0x00;DALI MD16U Human Body Temperature Measurement Module - fig

Note 2; Firmware Upgrade Instructions
The firmware data is sent to upgrade through UVC instruction, and 0x84 is used.
The process is:
A. Send the 0x84 downlink command for the first time, notify the module to enter the firmware upgrade state, and inform the firmware of the number of data packets (Byte),  the module responds to the 0x84 command and returns 0x00, indicating that it is ready;
B. Send the 0x84 downlink command for the second time to notify the module of the total length, check the code, modification time, and version number of the firmware file to be upgraded. The module responds with 0x01, indicating that the packet number of the first data packet is requested, starting from 1;
C. Next, divide the firmware size into multiple packages by 12796Byte each time, each package is accompanied by the package number and length of the current package, and send all firmware data in turn through the 0x84 command. Note that CRC2 needs to be calculated correctly, and the modulo Each time the group receives a 0x84 firmware data packet, it will return a 0x84 response command to notify the upper computer that the reception is completed and request the packet number of the next data packet. If there is no 0x84 response, the current packet needs to be resent.
The last data packet may be less than 12800Byte in length, and it is sent according to the actual data length.

UVC Output

The module is a UVC slave device, and the VS interface is used for data transmission. When outputting data, the format is YUYV, and the size of each pixel is 2Byte.
The default state of the module is to output a pseudo-color image and temperature image at the same time, and the output resolution is 120×322. Lines 1 to 160 are pseudo-color images, lines 161 to 320 are temperature data, and the last two lines are status information.
The module can also be switched to output only pseudo-color image data, or only output temperature data, the output resolution is 120×162, the first row to the 160th row is pseudo-color image data or temperature data, and the last two rows are status information.
When acquiring data, the data is first read in the YUYV method, the pseudo-color image data is directly converted to RGB output, and the temperature data is converted to grayscale. The conversion relationship between the temperature measurement value Tc (°C) of the detection target and the grayscale value Vc (grayscale) of the temperature data is Tc= Vc/10–273;

In the output data, the last two lines are used to display the status information, and the information of each part is shown in Table 5. For the information of the two lines of status bits, the starting position is at the position of 0 points of the last two lines, after outputting the data of the previous array, the next 12Byte is the detector type. That is, Table 5 is output in order from the 0-point position of the last two lines.

Table 5: Information Format

NameNo(Byte)Remark
Module InfoDetector type12Example: DM1716A
1st byte ~ 12th byte on line 321
Detector number12Example: P2235A
12th byte~24th byte
Firmware version number12Example: C20210081556 25th byte~36th byte
bootloader version1237th byte~48th byte
Module model12Example: MD16U

49th byte~60th byte

reserved1261st byte~72th byte
Shutter grayscale291st byte~92th byte
TOUT gray value293rd byte~94th byte
Center point information12Row coordinate (UINT16) starts at byte 105 column coordinates (UINT16) temperature (float) Grayscale (UINT32)
Highest point information12Row coordinate (UINT16) starts at byte 117 column coordinates (UINT16)
temperature (float)
Grayscale (UINT32)
Lowest point information12Row coordinate (UINT16) starts at byte 129
column coordinates (UINT16) temperature (float)
Grayscale (UINT32)
any point information12Row coordinate (UINT16) starts at byte 141
column coordinates (UINT16) temperature (float)
Grayscale (UINT32)

Note 1: TOUT gray value, shutter gray value, center point information, highest point information, and lowest point information are all in little-endian mode.
Note 2: The conversion relationship between the internal temperature of the detector Ts (°C) and the module TOUT gray value Vs (gray) is:
Ts = 190.64 – 0.02164 × Vs
(The following page is Appendix 1)

Appendix 1:

CRC checklist

ItemCRC valueItemCRC valueItemCRC valueItemCRC value
0x000x00000x400x48c40x800x91880xc00xd94c
0x010x10210x410x58e50x810x81a90xc10xc96d
0x020x20420x420x68860x820xb1ca0xc20xf90e
0x030x30630x430x78a70x830xa1eb0xc30xe92f
0x040x40840x440x08400x840xd10c0xc40x99c8
0x050x50a50x450x18610x850xc12d0xc50x89e9
0x060x60c60x460x28020x860xf14e0xc60xb98a
0x070x70e70x470x38230x870xe16f0xc70xa9ab
0x080x81080x480xc9cc0x880x10800xc80x5844
0x090x91290x490xd9ed0x890x00a10xc90x4865
0x0a0xa14a0x4a0xe98e0x8a0x30c20xca0x7806
0x0b0xb16b0x4b0xf9af0x8b0x20e30xcb0x6827
0x0c0xc18c0x4c0x89480x8c0x50040xcc0x18c0
0x0d0xd1ad0x4d0x99690x8d0x40250xcd0x08e1
0x0e0xe1ce0x4e0xa90a0x8e0x70460xce0x3882
0x0f0xf1ef0x4f0xb92b0x8f0x60670xcf0x28a3
0x100x12310x500x5af50x900x83b90xd00xcb7d
0x110x02100x510x4ad40x910x93980xd10xdb5c
0x120x32730x520x7ab70x920xa3fb0xd20xeb3f
0x130x22520x530x6a960x930xb3da0xd30xfb1e
0x140x52b50x540x1a710x940xc33d0xd40x8bf9
0x150x42940x550x0a500x950xd31c0xd50x9bd8
0x160x72f70x560x3a330x960xe37f0xd60xabbb
0x170x62d60x570x2a120x970xf35e0xd70xbb9a
0x180x93390x580xdbfd0x980x02b10xd80x4a75
0x190x83180x590xcbdc0x990x12900xd90x5a54
0x1a0xb37b0x5a0xfbbf0x9a0x22f30xda0x6a37
0x1b0xa35a0x5b0xeb9e0x9b0x32d20xdb0x7a16
0x1c0xd3bd0x5c0x9b790x9c0x42350xdc0x0af1
0x1d0xc39c0x5d0x8b580x9d0x52140xdd0x1ad0
0x1e0xf3ff0x5e0xbb3b0x9e0x62770xde0x2ab3
0x1f0xe3de0x5f0xab1a0x9f0x72560xdf0x3a92
0x200x24620x600x6ca60xa00xb5ea0xe00xfd2e
0x210x34430x610x7c870xa10xa5cb0xe10xed0f
0x220x04200x620x4ce40xa20x95a80xe20xdd6c
0x230x14010x630x5cc50xa30x85890xe30xcd4d
0x240x64e60x640x2c220xa40xf56e0xe40xbdaa
0x250x74c70x650x3c030xa50xe54f0xe50xad8b
0x260x44a40x660x0c600xa60xd52c0xe60x9de8
0x270x54850x670x1c410xa70xc50d0xe70x8dc9
0x280xa56a0x680xedae0xa80x34e20xe80x7c26
0x290xb54b0x690xfd8f0xa90x24c30xe90x6c07
0x2a0x85280x6a0xcdec0xaa0x14a00xea0x5c64
0x2b0x95090x6b0xddcd0xab0x04810xeb0x4c45
0x2c0xe5ee0x6c0xad2a0xac0x74660xec0x3ca2
0x2d0xf5cf0x6d0xbd0b0xad0x64470xed0x2c83
0x2e0xc5ac0x6e0x8d680xae0x54240xee0x1ce0
0x2f0xd58d0x6f0x9d490xaf0x44050xef0x0cc1
0x300x36530x700x7e970xb00xa7db0xf00xef1f
0x310x26720x710x6eb60xb10xb7fa0xf10xff3e
0x320x16110x720x5ed50xb20x87990xf20xcf5d
0x330x06300x730x4ef40xb30x97b80xf30xdf7c
0x340x76d70x740x3e130xb40xe75f0xf40xaf9b
0x350x66f60x750x2e320xb50xf77e0xf50xbfba
0x360x56950x760x1e510xb60xc71d0xf60x8fd9
0x370x46b40x770x0e700xb70xd73c0xf70x9ff8
0x380xb75b0x780xff9f0xb80x26d30xf80x6e17
0x390xa77a0x790xefbe0xb90x36f20xf90x7e36
0x3a0x97190x7a0xdfdd0xba0x06910xfa0x4e55
0x3b0x87380x7b0xcffc0xbb0x16b00xfb0x5e74
0x3c0xf7df0x7c0xbf1b0xbc0x66570xfc0x2e93
0x3d0xe7fe0x7d0xaf3a0xbd0x76760xfd0x3eb2
0x3e0xd79d0x7e0x9f590xbe0x46150xfe0x0ed1
0x3f0xc7bc0x7f0x8f780xbf0x56340xff0x1ef0

The initial value of CRC is 0xFFFF.
Note: CRC does not directly check the table in Appendix 1, but is calculated according to the algorithm. The table in Appendix 1 is the table called during the calculation process. This table is used in the CRC algorithm source code.
The CRC check algorithm of the module is CRC-CCITT (0xFFFF), namely CRC-16/CCITT-FALS.

Documents / Resouces

Download manual
Here you can download full pdf version of manual, it may contain additional safety instructions, warranty information, FCC rules, etc.


Related Manuals