一、项目设计背景与迭代说明
该项目经过多轮硬件改版,最新版本核心改进:
使用PCB 板载天线替代前代外接天线方案,显著提升 SPI 显示屏刷新帧率;
屏幕直接贴装在 PCB 背面,整机结构高度集成,无需外接杜邦线;
采用 8bit 并行总线驱动屏幕,相比传统 SPI 接口大幅提升画面刷新率;
整机单块 PCB 实现主控、传感器、电源、充电、显示、按键全部电路。
作者定位:业余爱好硬件项目,手工小批量组装销售;硬件原型设计为全职工作,本项目属于业余开发。


二、完整硬件架构
核心器件清单
器件 | 型号与参数 | 功能 |
|---|---|---|
主控制器 | ESP32-S3-FN8 | 双核 MCU,Wi-Fi / 蓝牙,负责传感器数据读取、温度计算、图像渲染、屏幕驱动 |
红外热阵列传感器 | MLX90640-ESF-BAB-000-TU | 32×24 像素红外热电堆阵列,I2C 通信,非接触测温,生成原始热数据 |
显示屏 | 1.69 寸 TFT LCD,分辨率 280×240 | 8 位并行接口,实时渲染热力图、显示最高 / 最低温度 |
充电管理芯片 | MCP73831T-2ACI | 锂电池线性充电管理,USB-C 输入充电 |
LDO 稳压 | HT7833 | 3.3V 500mA 线性稳压,给整机提供稳定电源 |
电池接口 | JST 1.25mm | 适配 300~500mAh 3.7V 锂聚合物电池 |
板载外设布局
USB-C 接口:程序下载、供电、锂电池充电
2 个功能按键(Pushbutton1 / Pushbutton2):图像模式切换、参数调节
BOOT/RESET 组合按键:固件下载模式
两颗 LED 指示灯:电源指示灯、充电状态指示灯
电源总开关:整机供电通断
三、电源系统重要特性 ⚠️
支持 3.7V 锂电池脱离电源线独立便携工作;
硬性限制:开机状态无法充电!
需要充电时,必须拨动电源开关关机,再插入 USB-C;充电完成后红色充电指示灯熄灭。
锂电池接线注意区分正负极,PCB 丝印标注极性,接反会造成硬件损坏。
四、软件 / 固件系统
开发环境
平台:Arduino IDE
核心依赖库:
ESP32-S3 官方板支持库
TFT 屏幕驱动库(8bit 并行驱动)
MLX90640 传感器官方驱动库
库版本兼容性提示:如果编译报错,需要删除库内
User_Setup.h,使用项目提供的配置文件替换。
固件基础功能
持续读取 MLX90640 原始红外像素数据;
对原始数据进行温度补偿计算,得到每个像素实际温度;
将 32×24 低分辨率点阵,插值放大至 280×240 屏幕尺寸;
热力图调色渲染,实时显示画面、画面内最高温度、最低温度;
按键预留功能接口,可二次开发:调色板切换、测温范围调整、截图功能。
作者原版固件为基础演示版本(rough code),仅实现基础成像功能,爱好者可在此基础上扩展功能。
五、固件烧录标准操作流程(FAQ 重点)
很多用户遇到上传程序时 COM 端口反复消失,标准操作步骤:
USB-C 连接电脑;
按住 BOOT 按键不放;
短按一下 RESET 按键,松开 RESET;
持续按住 BOOT 直到电脑识别稳定 COM 端口;
在 Arduino 点击上传,上传完成松开 BOOT 按键。
六、优缺点分析
✅ 项目优势
一体化单 PCB 方案:无零散模块,整机体积小,方便设计外壳;
硬件全部开源:原理图、PCB 源文件、固件源码开放,自由修改;
并行 LCD 方案:刷新速度显著高于市面上常见 SPI 屏 ESP32 热成像方案;
自带完善锂电池充放电电路,到手即可便携使用。
❌ 局限性
MLX90640 传感器仅 32×24 极低分辨率,画面颗粒感强,属于入门级热成像,不适合高精度专业场景;
充电必须关机,使用便利性受限;
作者手工少量制作,成品经常缺货;
原版固件功能基础,高级功能(截图、WiFi 传输、数据存储)需要自行二次开发;
MLX90640 远距离测温误差较大,更适合近距离(0.1~3 米)目标测温。
七、典型应用场景
电子 DIY 学习:红外阵列传感器、嵌入式图像渲染、便携电源开发实训;
简易设备故障排查:电路板芯片发热检测、电源模块温升查找;
家居巡检:门窗 / 管道漏热、地暖温度分布检测;
实验室低成本热成像原型验证。
八、复刻项目建议
物料采购:MLX90640 注意购买 BAB 版本(广角镜头);电池选用 300~500mAh 超薄锂聚电池;
PCB 打板:直接使用仓库内 PCB 工程文件;
软件开发:优先使用指定版本 Arduino 库,避免库文件冲突;
外壳:可根据 PCB 外形自行 3D 打印外壳。
九、License
unlicense-未注明协议,请勿商业使用
