ESP32-C3 焊进 4 层 PCB 塞 4 颗传感器,Maker 自制空气质量仪太硬核!


腾讯orkbuddy注册即可得2000积分,可以干不少活。下载链接:https://www.workbuddy.cn/

百度Dumate智能体,也是工作搭配好工具:邀请码及下载地址:百度 Dumate邀请码: 7D8DUYG

字节TraeWork免费4500积分,点击下载字节跳动TraeWork免费4500积分

Tabbit AI浏览器,在浏览器里用AITabbit AI浏览器,点击下载

MonkeyCode 长亭百智云Monkeycode-AI,点击在线使用

本文来源:https://mp.weixin.qq.com/s/DCr1C-lI63G9QoYaKL1KtQ

如果您不愿意本站收录,请来信告知:13951431913@139.com 或在右方提交评论。

图片

一台 DIY 空气质量监测仪,能玩的不只是「测个 CO₂ 数值」——它把 ESP32-C3、4 颗 Sensirion/Bosch 传感器、一块自绘 4 层 PCB、激光切割玻璃顶盖、3D 打印外壳全揉进一个成品里,固件跑 ESPHome,直接接进 Home Assistant。作者 roepkefeller 把从电路、板厂打样、外壳建模到自校准算法全套开源,Star 数目前 53,硬件党拿来复刻或者魔改都很合适。

它一句话是什么

一台围绕 ESP32-C3-WROOM-02 打造的开源空气质量监测仪,主打「多传感器交叉补偿 + Home Assistant 原生集成」。

为什么值得看

市面上便宜的空气质量小盒子一大堆,但这个项目值得看的地方在于——它把「为什么这样设计」写得很清楚

  • 为什么明明有 3 颗温度传感器、2 颗湿度传感器,还要全都焊上去?作者给出的答案是:做中位数融合 + 交叉补偿,因为 SGP41 的 MOX 加热元件内部工作在约 400 °C,会把整块板子烤热,必须靠算法补偿。
  • 电源部分不是随便一颗 LDO 完事:USB-C → ESD 保护 → 750 mA 自恢复保险丝 → 三条独立 3.3V 电源轨,SCD41 单独一条 LDO,SGP41/SHT40/BMP280 共用 TPS7A20 超低噪声 LDO(10 µVRMS),ESP32 用 buck 走高效路线。
  • PCB 是 4 层板(信号 / GND / 电源 / 信号),KiCad 源文件、JLCPCB 打样文件、SGP41 自绘封装全都在 repo 里。

一句话,它不是拿现成模块拼一拼,是从原理图到外壳一整套工程实践的公开样本

最有意思的 3 个功能

1. 4 颗传感器交叉补偿,不是堆料是算法

  • SCD41:光声 NDIR 原理测 CO₂,接受 BMP280 的气压值做海拔补偿
  • SGP41:输出 VOC / NOx 指数(1–500),CO₂ 数据不可用时 LED 会 fallback 到 VOC 显示
  • SHT40:温湿度基准,中位数融合里权重双倍
  • BMP280:气压 + 为 SCD41 提供补偿输入

作者甚至给出了经验校正值:SHT40 补 −5.5 °C / +8 %RH,BMP280 补 −5.5 °C,SCD41 补 −1.5 °C / +4 %RH,还建议放一支基准温度计旁边稳定 30 分钟后自己调 YAML。

2. 固件走 ESPHome,Home Assistant 一插就见实体

不用自己写 C 代码,YAML 描述完就有一堆实体自动出现在 HA 里,Web UI 也直接内建。对不想折腾底层驱动的人非常友好。

3. 外壳是激光切玻璃顶盖 + 3D 打印底座

  • 玻璃:2 mm 透明玻璃,DXF 文件走 Formulor 下单
  • 底座:PLA 或 PETG,0.2 mm 层高
  • 用 M2.5 热熔螺母 + 铜柱固定,比直接拧塑料结实很多

Fusion 360 源文件、STL、STEP、DXF 都开源,想改造型直接改。

动手实践:安装 / 快速开始

这是硬件项目,「快速开始」不是 npm install,而是一套备料 + 焊接 + 刷固件流程。README 里明确写了以下步骤:

Step 1. 备板 & 备料

# 用 KiCad 打开工程 git clone https://github.com/roepkefeller/air-quality-sensor.git 

打开 hardware/ 里的 KiCad 工程,作者本人是发到 JLCPCB 打样 4 层板 + 手焊。BOM 里的核心料:ESP32-C3-WROOM-02、SCD41、SGP41、SHT40、BMP280、TLV62569A、TLV755P、TPS7A20、TPD2EUSB30。

Step 2. 手焊顺序(README 明确建议)

  1. 先焊 ESP32-C3-WROOM-02(最大件,底部散热焊盘需要热风或从背面加热)
  2. 再焊 TLV62569A、TLV755P、TPS7A20、TPD2EUSB30 等 SOT/WSON 小封装(用锡膏 + 热风)
  3. 焊 SGP41(注意 repo 里有自绘封装 air_quality_footprints.pretty/
  4. 焊 SCD41、SHT40、BMP280(Sensirion LCC 封装,SCD41 光学开孔部分别烤过头)
  5. 最后焊 0402/0603 被动件和连接器

预期看到:板子通电后有 3.3V 输出、I2C 总线上能扫到 4 个地址。

Step 3. 刷 ESPHome 固件

repo 里带 ESPHome YAML 配置,装好 ESPHome 后编译烧录即可(USB-C 通过 5V/1A 供电就能刷):

pip install esphome esphome run <配置文件>.yaml 

预期看到:Home Assistant 自动发现设备,出现 CO₂、VOC、NOx、温度、湿度、气压等实体,Web UI 也能直接访问。

踩坑提醒

  • 这是手工焊接项目,SGP41 是自绘封装,0402 电阻电容 + WSON 小封装对新手不太友好,建议至少备热风台
  • 4 层板 JLCPCB 打样价格比 2 层贵一档,一次不建议只做 1 片
  • 温度校正值是作者在自己环境实测出来的,你复刻后要自己重调,否则读数会偏
  • I2C 总线跑在 50 kHz(README 明确说明),不要按默认 100 kHz 配置

可以怎么玩 / 怎么用

  • 家里房间空气监测
    :接进 Home Assistant,配自动化——CO₂ 过 1000 ppm 自动开新风或提醒开窗
  • 做工程练手
    :4 层板、多路电源、超低噪声 LDO、I2C 多传感器融合,这些是嵌入式硬件工程里典型场景,拿这个项目啃一遍收获比看教程实在
  • 改造成便携版
    :作者原设计是插 USB 供电的桌面款,你可以接锂电改成移动版
  • 换传感器阵列
    :I2C 总线预留了 QWIIC 接口,可以外挂扩展

适合谁

  • 想复刻一台能进 Home Assistant 的正经空气监测仪的智能家居党
  • 想学多传感器交叉补偿 + 4 层板 layout的嵌入式 / 硬件工程师
  • 想练SMD 手焊 + 热风返修的 Maker
  • ESPHome 老玩家,想要一台不用自己写驱动的高质量硬件参考设计

不适合:只想开箱即用不想动烙铁的普通用户——目前 repo 里没有卖成品,全靠自己攒。

读者互动

你家里现在测空气用的是什么方案?米家小盒子、Awair、还是自己攒的 ESP 板?

评论区聊聊:如果让你在这套设计上再加一颗传感器,你会加什么?PM2.5、甲醛、还是氡气检测? 感兴趣的人多,我下期安排一篇 ESPHome 多传感器融合的深度拆解。

觉得有用就点个关注吧,下一期预告:一个把 AI 塞进单片机、成本压到令人发指的骚项目,别错过。

长按 / 扫码关注,硬件、AI、Maker 项目一条龙推送。

GitHub 地址

https://github.com/roepkefeller/air-quality-sensor

 

暂无评论,快来发表第一条评论吧!

📮 需求咨询