

OpenRad
Introducing OpenRad, a simple radiation monitoring solution powered by the SBM-20 GM tube and TTGO ESP32 microcontroller. this project offers a user-friendly approach to way to track radiation levels.
- Size
- 110 × 42 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 19
- Nets
- 30
- Pads
- 66
- Tracks, vias
- 90, 0
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 8.0 (file 20240108)
- Created
- 25 Apr 2024
- Updated
- 17 Dec 2025
Overview
OpenRad is an open-source printed circuit board by omarkhorshid, from the omarkhorshid/OpenRad repository on GitHub, published under the BSD-3-Clause licence. It is a 2-layer board of 110 × 42 mm with 19 parts on 30 nets, routed with 90 tracks and 0 vias.
It is built around the MJE13001C1. Its parts include 6 resistors, 3 switches, 2 capacitors, 2 transistors and 1 diode. It belongs with the ESP32 boards of this library.
Main components
1README
README.md
[blocked]
OpenRad
Introducing OpenRad, a simple radiation monitoring solution powered by the SBM-20 GM tube and TTGO ESP32 microcontroller. this project offers a user-friendly approach to tracking and measuring radiation levels.
Table of Contents
Demo
Device UI

Youtube Demo
Install
- Install VSCode.
- Install PlatformIO.
- Clone this repository
git clone https://github.com/omarkhorshid/OpenRad.git- (optional) Install Squareline Studio.
- (optional) For Squareline, Change the project settings save paths to match your project directory.
- In PlatformIO extension: Platform > Upload the Filesystem Image.
- In PlatformIO extension: General > Upload the code to the TTGO board.
Dependencies
- lvgl v8.3.11
- TFT_eSPI v2.4.61
- AsyncTCP-esphome v1.2.2
- ESPAsyncWebServer-esphome v2.1.0
- PubSubClient v2.8
- ArduinoJson v7.0.4
Folder Structure
Software/Firmware/src
hardware.cpp/h: Contains hardware init and functions.settings.cpp/h: Contains the settings.geiger.cpp/h: Contains geiger calculations.gui.cpp/h: Contains LVGL functions.connectivity.cpp/h: Contains all the connectivity functions.
Software/Firmware/lib/ui/src
ui_events.c/h: Contains the UI events.
Software/Firmware/data
index.html: Contains the web interface.chart.js: Chart.js Library file.
Schematics
FAQs
How do I Navigate the UI in OpenRad?
Using the three buttons, up down and enter. ...
How do I change the measuring window?
After uploading the code to the ESP, open the settings cogwheel, and change the settings you want.
How do I turn OpenRad off?
- For Sleep mode: Navigate to the power button and click it.
- For Deep Sleep mode: Hold the button untill this message pops up, then release it before it disappears.
What types of connectivity does OpenRad have?
OpenRad has WiFi and MQTT connectivity to be able to remotely monitor the radiation levels from the Web interface.
How do I connect to OpenRad?
To connect to OpenRad and access the web interface:
If not connected to a Wifi network:
- Enable Wifi from the on device settings
- Enable "Wi-Fi Access Point"
- Connect to the device's AP using the password on screen
- Navigate to "http://192.168.4.1" or use the "Manage Router" option on your phone
If Connected:
- From a device on the same network navigate to the IP address showing on the device screen in the Connectivity settings
What are the Measurement Settings?
- Window Size: Number of samples used to calculate the average radiation intensity.
- Bigger values help the device give a more stable reading and theoretically increse its precision, but it will react slowler to changes.
- Smaller values help the device react faster to changes, but the readings might fluctuate more and theoretically decrease the precision.
- Sampling Period: This is how often the device takes a reading (e.g., every N milliseconds).
- Bigger values make the device take readings less frequently, reducing energy consumption during sleep, but the device will react slower to changes.
- Smaller values make the device take readings more often, making it quicker to detect changes, but the readings may be less precise and the device consumes more power during sleep (If sleep sampling is enabled).
License
OpenRad is BSD-3 Licensed
Parts
19| Qty | Value | Footprint | References |
|---|---|---|---|
| 3 | SW_Push | Button_Switch_THT:SW_PUSH_6mm_H13mm | SW1, SW2, SW3 |
| 1 | 0.01uF | Capacitor_THT:C_Rect_L18.0mm_W5.0mm_P15.00mm_FKS3_FKP3 | C1 |
| 1 | 100k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R5 |
| 1 | 10k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R6 |
| 1 | 10mH | Inductor_THT:L_Axial_L14.0mm_D4.5mm_P15.24mm_Horizontal_Fastron_LACC | L1 |
| 1 | 1N4937 | Diode_THT:D_DO-41_SOD81_P10.16mm_Horizontal | D1 |
| 1 | 22 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R2 |
| 1 | 220pF | Capacitor_THT:C_Rect_L18.0mm_W5.0mm_P15.00mm_FKS3_FKP3 | C2 |
| 1 | 22k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R4 |
| 1 | 2N3904 | Package_TO_SOT_THT:TO-92_Inline | Q2 |
| 1 | 300 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R1 |
| 1 | 4.7M | Resistor_THT:R_Axial_DIN0414_L11.9mm_D4.5mm_P15.24mm_Horizontal | R3 |
| 1 | Buzzer | Buzzer_Beeper:Buzzer_12x9.5RM7.6 | BZ1 |
| 1 | DETECT | Super_extra:PAD_7X4 | DETECT1 |
| 1 | HIGHV | Super_extra:PAD_7X4 | HIGHV1 |
| 1 | MJE13001C1 | Package_TO_SOT_THT:TO-92_Inline | Q1 |
| 1 | TTGO_ESP32_TDISPLAY_V1.1 | extras:TTGO_ESP32_TDisplay_v1.1 | TTGO1 |
Similar boards
- 2 layers43.9 × 27.7 mm

- 2 layers50 × 60 mm

Debate Device
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
19 parts915 - 2 layers102.9 × 96.7 mm

ISA adapter
polpo/picogus
Emulation of ISA sound cards and CD-ROM on Raspberry Pi Pico (GUS, SB/Adlib, MPU-401, Tandy, CMS, Panasonic CD-ROM) with USB mouse/joystick support
19 parts805 - 2 layers60 × 39 mm

- 2 layers70.1 × 43.2 mm

Iaq device
nkitanov/iaq_board
IAQ Board is a DIY (Do-It-Yourself) device for measuring internal air quality
19 parts396 - 2 layers80 × 80 mm

- 2 layers25.4 × 25.4 mm

Ina169
Ardumower/ardumower
Develop an open source robotic lawn mower (HW+SW reference platform)
19 parts282 - 2 layers58.4 × 28.6 mm

New rele
zmaker/arduino_cookbook
gli sketch del nuovo progetto Arduino Cookbook e dei video di YouTube
19 parts269
Questions
How big is the OpenRad PCB?
It measures 110 × 42 mm and has 2 copper layers, 1.6 mm thick.
What parts does the OpenRad use?
19 parts, built around the MJE13001C1. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the OpenRad KiCad files?
From the omarkhorshid/OpenRad repository on GitHub, at the commit this page was made from: the board is Hardware/KiCad_project/OpenRAD.kicad_pcb and its schematic Hardware/KiCad_project/OpenRAD.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the OpenRad design in my own project?
Its repository publishes it under the BSD-3-Clause licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).


