Q & A
Question 1
What do I need to order to evaluate your thermal imaging sensor?
A: You need to order the EVK (development board) consisting of SenXor080 Camera Module (Bobcat Module 80*62Pixels), TiP I/F PCBA and EVK I/F PCBA. When assemble together becomes Bobcat EVK shown in our product page. The EVK is currently available in engineering sample. Order can be made on the Meridian Innovation official website.
Question 2
What is the input voltage and power consumption of the Bobcat Module(80*62Pixels)?
A: The input voltage is 3.3V, power consumption is a low 50mW.
Question 3
What is the input voltage of the Bobcat EVK(80*62Pixels)?
A: The input voltage is 5V.
Question 4
Which wavelength does the Bobcat Module detect to measure temperatures? How far and how accurate?
A: It detects the far-infrared wavelength of 8-14µm. The measurement distance is 6 meters with an accuracy of +-2.5 degree Celsius. If the distance exceeds 6 meters, the accuracy will decrease. Note that the temperature readout depends on the actual distance, even if the viewed object is within 6 m. Meridian Innovation provides correction curves and the ability to programmatically correct the readout. Please refer to MI48A0 Application Note (available after signing MNDA).
Question 5
What is the operating temperature of the Bobcat Module? What range of temperature does it detect?
A:The operating temperature is from 0 degrees to +85 degrees . The scene temperature range is generally from -20 degrees to 400 degrees Celsius, and the range of precision is 150 degrees. For more details, please read refer to the MI0801 Camera Module Product Brief.
Question 6
Is the Bobcat Module integrated? What is the output signal for this module?
A: Yes, it is integrated with the correct lens and sensor on the PCBA. It is small, easy to embed and install in various equipment and tools. However, in order to obtain the output signal in temperature domain the TIP (MI48 chip)is required. For more details, please read refer to the MI0801 Camera Module Product Brief.
Question 7
What serial port connection does the Bobcat EVK require?
A: It can be connected to computers via a USB serial port. Meridian provides free demo software and manual. For more details, please read refer to the MI0801 Camera Module Evaluation Kit Product Brief.
Question 8
Does the Bobcat EVK demo software require additional drivers?
A: No driver is required if the OS is Windows 8 and above.
Question 9
What other connections are required for the Bobcat EVK development?
A: It requires SPI and I2C interface. Meridian provides MNDA to client in order to interface to SPI and I2C.
Does the Bobcat EVK development require both SPI and I2C be connected together?
A: Yes, please refer to the Meridian's MI0801 Camera Module Evaluation Kit Product Brief and MI0801 Camera Module Product Brief.
Question 10
Question 11
Does the data exported by the Bobcat EVK represent UVC (Universal Video Class)?
A: No, it represents 80*62 two dimensional array of 4960 temperature values. Each value is represented by 2 bytes, please refer to the MI48A0 Interface Protocol (available after signing MNDA).
Question 12
How to interpret the data after connecting to the Bobcat EVK to the PC?
A: After the Bobcat EVK is connected to the PC through the USB port, the EVK Graphical User Interface (GUI) Software can be launched on the PC to view thermal images and read out basic temperature information. For more details, please read refer to the MI0801 Camera Module Evaluation Kit User Manual.
Question 13
Is there any pull-up on I2C bus on the EVK?
A: There is no pull-up on the EVK core board (MI48A0P0). However, there is a 10K pull-up for both SDA and SCL on the EVK bridge board (MIN4A0P1). The user must use 10K pull up in his own host system, similarly to the EVK bridge.
Any recommendation on I2C bus speed?
A: In our EVK (MI48A0P0) it is configured as 100KHz. However, you can run from 100K-400KHz.
Question 14
Question 15
What's the I/O voltage of the MI48A2?
A: I/O Voltage of the MI48A2 is 3.3V. If the host system of the user is operating on a different voltage, the user must deploy appropriate level shifter. Note that the type of level shifters for the I2C and for the SPI lines are different, due to the open drain circuit of the output stage of the I2C pins.
Question 16
What SPI mode is supported on MI48A2?
A: The MI48A2 acts as an SPI slave. The SPI interface master must be operated in Mode 0. Please refer to figure 5 in the MI48A2 datasheet.
What's the max SPI clock on MI48A2?
A: The maximum frequency of the SPI slave interface is 100MHz but suggestion settings is 20-30MHz, in order to reduce the digital noise in the system. Our EVK Core board (MI48A0P0) is using 20MHz.
Question 17
After initialization and enable continuous capture via the I2C, will the data ready signal be continously asserted?
A: DATA_READY is asserted high as soon as there is a complete frame in the output buffer of the MI48A2. It is lowered only after the host controller reads out the complete Thermal Data Frame. Refer to MI48xA2 datasheet for details.
Question 18
Question 19
What is the requirement of crystal oscillator?
A: MI48A2 requires 12 MHz external oscillator 12MHz, +- 20ppm, with 18pF loading capacitor (see datasheet for recommended part and schematic).
Question 20
What is the requirement of 3.3V VDD?
A: For optimal accuracy, the 3.3V supply should have no larger than ±2% tolerance, with the capability to sustain at least 75 mA DC current. We recommend low noise LDO supply, e.g. with less than 6.5 µV rms noise.
Question 21
What is the power consumption?
A: The typical power consumption of the MI0801 on its own is 40 mW during frame acquisition and 2 mW in stand-by. The overall power of the reference circuit including the MI48A2 chip is less than 200 mW.
Question 22
In the EVK PC application there are setting like max, min and auto temperature color mapping. Can you provide a calculation method on that?
A: The sensor outputs a raw temperature array and the PC GUI converts this raw temperature array to an image. The min/max can be fetch from the frame header (if enabled). The PC GUI get the min/max by scanning all data point in the frame. Some of the temperature color mapping in the PC GUI are referenced from OpenCV.
Question 23
How to compensate the apparent distance-dependence of the temperature readout form the MI48xx?
A: Refer to application note MI48-appnote-distance-correction.pdf for details on how to compensate for the apparent distance-dependence of temperature readout.
Note that it is up to the host system to establish the distance to the target, e.g. by incorporating ToF device, using a depth camera, or estimating the distance based on the size (in pixels) of the target object.
Question 24
How to improve the accuracy of the measured temperature beyond the accuracy specified in the product datasheet?
A: This can be done by the use of a reference heat source with a known temperature, placed within the field of view. The readout of the thermal imaging sensor can be compared to the known temperature, and the difference applied as an offset correction on a frame-per-frame basis. This is ideally done at product level.
Note that +/–1 degree is aspirational.
Question 25
Are there any dead pixels in the sensor, and if so, what should I do?
A: The product datasheet indicates the maximum number of dead pixels. Dead pixels are pixels with abnormal sensitivity and readout, as detected during calibration. During factory calibration, the index (x,y) of these pixels is recorder in the onboard flash of the camera module. The Thermal Image Processor (MI48A2) which converts the senxor readout to temperature replaces the values of the dead pixels with an estimated value based on the values of the neighbouring pixels. Therefore, from user point of view, these pixels are not observed.
Question 26
How to improve the accuracy of detected temperature?
A: SenXor is factory calibrated per pixel to achieve the accuracy reported in the datasheet.
Application of noise filtering to stabilize the readout of individual pixels is a prerequisite to reaching good accuracy.
Offset compensation may also be necessary, and is typically done at product level. The MI48A2 offers a dedicated register to apply a given offset -- such offset would typically be unique for the end product, and is therefore best stored within the host system.
Additionally, for dynamic, in the field offset compensation, one may introduce a reference thermal target at a known temperature. The offset can be established on a frame-per-frame basis, by comparing the known referene temperature with the readout of the thermal image sensor.
It should be born in mind that microbolometers offer accuracy of the order of 3 degrees C, while thermopile imagers on the market reach better accuracy in the order of 2 degrees C.
Many factors affect the accuracy – emissivity, distance, angle of viewing, atmospheric conditions, reflectance from other objects etc. All these factors are natural phenomena that affect the intensity of thermal radiation that falls on the sensor, and are therefore out of the control of the sensor or product manufacturer.
Question 27
How to reduce the noise in thermal imaging and how to show a smoother and less grainy image?
A: The MI48A2 offers programmable filtering to reduce the noise and improve the stability of the readout of individual pixels.
Additionally, temporal and spacial filtering may be performed by the host system, for example a bilateral filter gives reasonable improvement by reducing the spatial noise while mostly preserving the edges.
Additionallly, Meridian Innovation develops advanced AI-based image filters, provided under license within our SDKs for Android or C++ development.
As regards to the grainy image improvement, one has to perform interpolation and upscale the resolution of the image, e.g. cubic interpolation is a common approach.
Question 28
The single-point temperature measurement of hand is 36.08 degrees, and it is normal. But the temperature of face during our testing was 34 or 35 degrees. I would like to know how do you optimize it in terms of algorithm.
A: Surface temperature of limbs depends on various factors.
Note that the normal core body temperature is 36.6 C.
Typically, face temperature is 32 – 34 degrees, depending on ambient temperature, physiological state, etc.
Face temperature of 36 degrees is a bit high, may be indicative of sensor inaccuracy or distance effects (sensor is calibrated to be accurate at 1 m; at shorter distance the temperature measurement will readout higher than actual value; at longer distance the readout will be lower than actual temperature).
Limb temperature – hands, legs, is typically even lower.
Question 29
If you narrow the range, for example, from [-40 degrees, +1000 degrees] to [-10 degrees, +50 degrees], will the error be reduced?
A: No. The range you describe is for visualisation only. The accuracy and sensitivity depend on the gain of the internal circuitry in the camera module. These are currently not programmable and cannot be changed.
Question 30
Is accuracy affected by ambient temperature? Does the calibration process test for accuracy errors at different ambient temperatures? For example, the external environment is about 30 degrees (summer) and the external environment is about 5 degrees (winter). Will the measurement accuracy error of the same temperature sample under different external environments stabilizes to +/- 1 degree?
A: SenXor produces an output signal the magnitude of which depends on the temperature difference between the target and the internal die temperature of the chip. There is a dedicated internal circuitry that measures the die temperature. This circuitry is calibrated in the factory.
However, the accuracy is specified at certain conditions and not guaranteed outside such. This is a standard practice. Conditions are: @ 25 Degree Ambient , 10-70 Scene temperature(Center Screen).
Question 31
Register 0xB6 is the Status/Error. After I set the 0xB1 register to start the frame capture, occasionally I got the 0xB6 has value of 0x02. What is the function of 0xb6 register and how to use this?
A: If 0xB6 = 2 means the data is being read out too slow. After the capture is enabled by writing 0xB1 register, you should read out the data from SPI as soon as possible when the DATA_READY signal is asserted high. In normal usage you don't need to take care 0xB6 register.
Question 32
Register 0xCA is the emissivity setting. Should this register being set according to the target being measured?
A: The default reset value (0.95) reflects the emissivity of the black body source used for factory calibration of the camera module. If the target object is known to have a different emissivity, programming the correct value will lead to an accurate readout of the absolute temperature.
Question 33
What requirements does the circuit have for LAYOUT? What are the points of attention?
A: No more than 2 changes of PCB layers for a single trace. Trace length < 30 cm. Power related traces to MI0801 (e.g. between LDO) should be as short as possible and as wide as possible to avoid any drop in Vdd to which temperature accuracy is sensitive. Please also refer to the oscillator and LDO VDD requirement in other Q&A.