OpenRad:一款可联网的开源自制辐射监测仪

OpenRad 是一套基于 TTGO ESP32 与 SBM-20 盖革米勒管的开源辐射监测方案。设备支持本地屏幕实时显示辐射剂量率,搭载 Wi-Fi 网页端与 MQTT 远程数据推送,硬件原理图、PCB 固件全部开源,可快速 DIY 便携式辐射剂量计。

OpenRad:一款可联网的开源自制辐射监测仪封面
oshw_hqzl2026-08-11 18:04:22BSD License
74
Star

PCBA

设计文件

KiCad图标OpenRad-main.zip21.09MB(2次下载)

EDA查看器

复制嵌入代码

详细介绍

一、项目概述

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

二、硬件系统设计

整套硬件电路划分为四大功能模块:

  1. 高压发生电路:为 SBM-20 盖革管提供额定工作高压,满足射线探测的电气条件;

  2. 脉冲检测电路:捕获盖革管受射线激发产生的脉冲信号,传输至主控芯片;

  3. 主控单元(TTGO ESP32):实现脉冲计数、辐射剂量运算、屏幕驱动、Wi-Fi 通信;

  4. 人机交互外设:实体按键、蜂鸣器,支持菜单操作与辐射超标声光提醒。

设备搭载自带 LCD 显示屏,依靠三按键(上、下、确认)完成整机菜单导航,同时支持深度睡眠模式,降低待机功耗,延长便携使用时长。

三、软件功能说明

软件基于 PlatformIO 框架开发,采用 LVGL 图形库实现屏幕 UI,配套嵌入式网页服务,核心能力分为本地功能与网络功能两大板块:

本地功能

  • 实时采集盖革管脉冲,换算为辐射剂量率并在屏幕可视化展示;

  • 自定义测量参数:窗口采样大小、采样周期;可平衡读数稳定性与响应速度;

  • 整机参数配置、正常关机、深度睡眠省电模式;

  • 辐射事件实时统计,支持本地持续观测环境辐射水平。

网络物联网功能

  1. Wi-Fi 热点模式(AP):设备自建无线热点,手机直连热点,通过浏览器访问网页控制台读取辐射数据;

  2. 局域网模式(STA):接入家庭 / 局域网 Wi-Fi,通过设备 IP 远程访问网页监测面板;

  3. MQTT 协议支持:辐射数据可推送至物联网服务器,实现长期远程监测、数据记录。

固件内置网页服务界面,集成图表组件,可直观查看辐射变化趋势;工程附带文件系统镜像打包脚本,网页前端资源可直接烧录至 ESP32 闪存。

四、项目目录结构

Software/Firmware
├── src          硬件初始化、辐射算法、UI逻辑、网络通信核心代码
├── lib/ui/src   LVGL图形界面交互事件代码
└── data         网页前端HTML、图表JS静态资源

项目依赖 LVGL、TFT_eSPI、ESPAsyncWebServer、PubSubClient、ArduinoJson 等开源库,同时支持 Squareline Studio 可视化工具快速修改图形界面。

五、部署与复刻流程

  1. 开发环境准备:安装 VS Code + PlatformIO 插件;

  2. 拉取项目源码仓库;

  3. (可选)使用 Squareline Studio 自定义屏幕 UI;

  4. 通过 PlatformIO 上传网页静态资源文件系统镜像;

  5. 编译固件并烧录至 TTGO ESP32 开发板;

  6. 硬件焊接完成后上电,配置参数即可开展辐射测量。

六、应用场景与特性

  • ✅ 面向 DIY 爱好者:全套硬件 PCB、固件开源,降低自制盖革计数器门槛;

  • ✅ 便携使用:自带屏幕、低功耗睡眠模式,适合现场环境辐射巡检;

  • ✅ 网络化监测:支持网页实时查看、MQTT 上云,可搭建长期辐射监测节点;

  • ⚠️ 探测特性:SBM-20 管主要对 γ 射线敏感,对 β 射线存在有限响应,无法探测 α 射线。

七、开源协议

OpenRad 采用 BSD-3-Clause 开源协议,使用者可自由使用、修改、分发硬件与软件源码,遵循协议声明即可用于非商业、商业场景。

八、项目地址

https://github.com/omarkhorshid/OpenRad