This IoT Geiger Counter Automatically Logs and Sends Radiation Data

Built by Malte Pöggel, this Geiger counter can send readings over either Wi-Fi or LoRaWAN for further analysis and tracking.

The purpose

In areas where constantly monitoring radiation is vital, the Geiger counter is a valuable tool that allows for this information to be quantified. Maker Malte Pöggel received a question from someone about which Geiger counter would be best suited for radiation monitoring and reporting at a wireless weather station. In the past, Pöggel used a uRadmonitor Kit1, but due to its connectivity being limited to a single LAN port and lacking an internal method for storing values, he wanted a better solution.

Designing a circuit

To summarize the circuit Pöggel designed, it essentially consists of an SBM-20 counter tube that can detect both beta and gamma radiation. Depending on the amount of radiation striking the cylinder, a high voltage current is discharged, which causes a field-effect transistor to switch accordingly, thus toggling a pin to a low state. This rate of state change can be measured by first counting the number of ticks within a period of time using a microcontroller and then substituting the value in an equation to get the amount in micro Sieverts per hour.


The PCB that Pöggel created has dimensions, which match several off-the-shelf IP65-rated enclosures for use outdoors in multiple weather conditions. He simply took the plastic housing, drilled out holes and passed wires through for power, and finally inserted the board before sealing everything. A small packet of silica gel was included to act as a desiccant when humidity levels are high.

Working with the ESP32

Because of the wireless nature of the project, Pöggel went with an ESP32 due to its low cost and fast processor speed. He loaded the ESPHome firmware onto the board since it lets developers add sensors with a simple configuration file. His YAML file contained an entry for a pulse counter that reads the number of ticks coming from the Geiger counter and updates the final reading every minute. It also includes a self-hosted webserver on port 80 that displays a simple table with each sensor's value.

LoraWAN capabilities

If the Wi-Fi radio doesn't have enough range to reach an access point, the ESP32 can be swapped out for a LoRaWAN-equipped Moteino board. The Moteino is based on the ATmega328P chip, thus allowing for easy programming via the Arduino IDE. A timer on pin D5 is used to count the number of pulses within the same 60-second interval as the ESP32. Measured values are aggregated together and sent once every few minutes to stay below the maximum number of transmissions allowed per hour.

Data visualization

The final piece of this project was a web-based dashboard that displays all of the collected values in a series of nice graphs. Data coming from either the ESP32 or over LoRaWAN can be collected via the MQTT protocol and sent to a single InfluxDB instance for longer term storage and retrieval. To read more about Pöggel's IoT Geiger counter, you can read his write-up on his blog.

Arduino “having11” Guy
20 year-old IoT and embedded systems enthusiast. Also produce content for and love working on projects and sharing knowledge.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles