一、项目概述
OpenRad 是一套完整开源的便携式辐射监测解决方案,采用 TTGO ESP32 微控制器 + SBM-20 盖革米勒(GM)管 作为核心探测单元,面向电子爱好者、DIY 玩家实现可自制的个人辐射剂量计。项目开放硬件原理图、PCB 工程、嵌入式固件、网页交互界面全部资料,使用者可直接打板、编译固件,复刻一台具备本地显示与远程物联网监测能力的盖革计数器。

二、硬件系统设计
整套硬件电路划分为四大功能模块:
高压发生电路:为 SBM-20 盖革管提供额定工作高压,满足射线探测的电气条件;
脉冲检测电路:捕获盖革管受射线激发产生的脉冲信号,传输至主控芯片;
主控单元(TTGO ESP32):实现脉冲计数、辐射剂量运算、屏幕驱动、Wi-Fi 通信;
人机交互外设:实体按键、蜂鸣器,支持菜单操作与辐射超标声光提醒。
设备搭载自带 LCD 显示屏,依靠三按键(上、下、确认)完成整机菜单导航,同时支持深度睡眠模式,降低待机功耗,延长便携使用时长。
三、软件功能说明
软件基于 PlatformIO 框架开发,采用 LVGL 图形库实现屏幕 UI,配套嵌入式网页服务,核心能力分为本地功能与网络功能两大板块:
本地功能
实时采集盖革管脉冲,换算为辐射剂量率并在屏幕可视化展示;
自定义测量参数:窗口采样大小、采样周期;可平衡读数稳定性与响应速度;
整机参数配置、正常关机、深度睡眠省电模式;
辐射事件实时统计,支持本地持续观测环境辐射水平。
网络物联网功能
Wi-Fi 热点模式(AP):设备自建无线热点,手机直连热点,通过浏览器访问网页控制台读取辐射数据;
局域网模式(STA):接入家庭 / 局域网 Wi-Fi,通过设备 IP 远程访问网页监测面板;
MQTT 协议支持:辐射数据可推送至物联网服务器,实现长期远程监测、数据记录。
固件内置网页服务界面,集成图表组件,可直观查看辐射变化趋势;工程附带文件系统镜像打包脚本,网页前端资源可直接烧录至 ESP32 闪存。
四、项目目录结构
Software/Firmware
├── src 硬件初始化、辐射算法、UI逻辑、网络通信核心代码
├── lib/ui/src LVGL图形界面交互事件代码
└── data 网页前端HTML、图表JS静态资源
项目依赖 LVGL、TFT_eSPI、ESPAsyncWebServer、PubSubClient、ArduinoJson 等开源库,同时支持 Squareline Studio 可视化工具快速修改图形界面。
五、部署与复刻流程
开发环境准备:安装 VS Code + PlatformIO 插件;
拉取项目源码仓库;
(可选)使用 Squareline Studio 自定义屏幕 UI;
通过 PlatformIO 上传网页静态资源文件系统镜像;
编译固件并烧录至 TTGO ESP32 开发板;
硬件焊接完成后上电,配置参数即可开展辐射测量。
六、应用场景与特性
✅ 面向 DIY 爱好者:全套硬件 PCB、固件开源,降低自制盖革计数器门槛;
✅ 便携使用:自带屏幕、低功耗睡眠模式,适合现场环境辐射巡检;
✅ 网络化监测:支持网页实时查看、MQTT 上云,可搭建长期辐射监测节点;
⚠️ 探测特性:SBM-20 管主要对 γ 射线敏感,对 β 射线存在有限响应,无法探测 α 射线。
七、开源协议
OpenRad 采用 BSD-3-Clause 开源协议,使用者可自由使用、修改、分发硬件与软件源码,遵循协议声明即可用于非商业、商业场景。
