This article is from Gitee. It introduces an open-source infrared thermal imager project based on the MLX90640 sensor.
Project overview
The project implements an infrared thermal imager using the MLX90640 sensor. The total cost is just over 200 CNY, and the device is straightforward to assemble. This design avoids contact-based temperature measurement, reducing the risk of burns or electric shock when inspecting components.
Parts and components
MLX90640: An infrared array with a resolution of 24×32. This is sufficient for temperature measurement when pixel-level detail is not required. Note that MLX90640 is available in two variants, type A and type B, with full model names MLX90640ESF_BAA/BAB. Choose the B variant. See the project blog for detailed differences.
Display: 3.2 inch, 240×320 resolution. Display pinouts vary by manufacturer, so verify compatibility before purchase. The display used here is model LCDT3213440AL from ASD Technology, Shenzhen.
MCU: GD32F103C8T6. Do not substitute STM32F103C8T6. The STM runs at 72 MHz while the GD32 runs at 108 MHz; this 50% clock difference significantly affects video performance. The C8T6 has only 20 KB of RAM, which is insufficient for this application, so many variables in the firmware share memory regions to conserve RAM. Further optimizations are possible, or use GD32F103CBT6 for more headroom.
SPI flash: XT25F128BSSIGU was used. It can be replaced with compatible parts from Winbond or GigaDevice; the firmware should be compatible. Flash capacity can be adjusted as needed.
Enclosure: A ready-made enclosure purchased from an online marketplace is recommended for modification. Target dimensions are 90×70×28 mm. Modifying the enclosure requires a utility knife and a hand drill.
Battery: A 65×30×7 mm Li-ion cell with 1800 mAh capacity was used. A larger battery can be fitted because the enclosure has additional internal space.