Build a Raspberry Pi Geiger Counter – Open‑Hardware Radiation Sensor Tutorial
Contents
- Manifesto
- The Board
- The Geiger Tube
- Types of radiation
- Supported Geiger Tubes
- Testing Sources
- Actuators
- From CPM to Sieverts
- Source Code
- Schematic
- Participate
- Buy
- Links and Documentation
NOTE: All code examples in this tutorial use the arduPi library. You can view the documentation and download the library from the repository.
Manifesto
The purpose of the Radiation Sensor Board for Raspberry Pi is to enable individuals in Japan—and anywhere else—to measure ambient radiation levels independently, following the Fukushima nuclear incident in March 2011. By pairing an affordable, user‑friendly Raspberry Pi with an open‑hardware sensor board, users can obtain real‑time readings from specific locations instead of relying solely on external advisories. The first batch was shipped free of charge to the Tokyo Hackerspace and other local groups to support community efforts.
Both the board’s hardware design and its firmware are released under the GPL, reflecting our commitment to open‑source principles and scientific transparency.
— The Libelium Team, April 2011
The Board
The board is divided into two functional sections: a high‑voltage power supply (400–1000 V) for the Geiger‑Müller tube and a signal conditioning circuit that converts the tube’s electrical pulses into a format suitable for a microcontroller.
Once powered, the tube emits a brief current pulse for each detected ionising event. The microcontroller counts these pulses; counting for 10 seconds and multiplying by 6 yields counts per minute (CPM). According to the tube’s datasheet, CPM is then divided by the conversion factor (360 for the standard tube) to obtain a dose rate in microSieverts per hour (µSv/h).
Depending on the specific tube, you may need to adjust the conversion factor. Test different values and report which calibration yields the most accurate results.
The board’s electronics can be broken down into five components:
- High‑voltage power supply
This module uses an oscillator‑driven voltage multiplier comprising diodes, transistors, resistors, and capacitors (see the schematic). It generates 500 V for the tube, with optional zener diodes in series to increase the output if higher voltage is required.
- Output adaptation circuit
A NPN transistor translates the Geiger‑tube pulse into a clean logic signal that triggers a microcontroller interrupt. The same transistor also drives a piezo speaker and LED indicator for audible and visual feedback.
- Piezo speaker and LED indicator
These are connected to the adaptation circuit; each detected pulse causes the LED to flash and the speaker to emit a click.
- LCD screen
The 16×2 LCD is interfaced via a 4‑bit parallel bus (RS, EN, RW, and four data lines). It displays the real‑time CPM and dose rate.
- LED bar
A bar of five LEDs (three green, two red) provides a quick visual gauge of radiation intensity. Each LED is driven from a digital pin through a series resistor.
Connecting the Radiation Board to Raspberry Pi
The board connects to the Raspberry Pi through a standard Arduino shield interface. Power is supplied from the Pi’s 5 V pin, and pulse counting occurs on the Pi’s GPIO pin 2, which is configured as an interrupt input.
The Geiger Tube
A Geiger‑Müller tube contains a low‑pressure (≈0.1 atm) inert gas—commonly neon—with a thin organic or halogen vapour. The tube’s cathode is the metallic wall, while the anode is a thin wire running along the centre. A high potential (~500 V) is applied between these electrodes, creating a strong electric field.
When ionising radiation enters the tube, it ionises the gas, producing free electrons and positive ions. The electrons are accelerated towards the anode, initiating an avalanche of further ionisations. This cascade produces a short, high‑current pulse that is detected by the output circuit.
Types of Radiation
- Alpha
Alpha particles (helium nuclei, +2 charge) are dense and cannot penetrate more than a few millimetres of air or a sheet of paper. They pose minimal external risk but can be hazardous if ingested, as they damage tissues from within. Many Geiger counters detect alpha radiation only through thin mica windows.
- Beta
Beta particles (electrons, –1 charge) are lighter and penetrate a few millimetres of aluminium. They can be hazardous when ingested and are detected by many Geiger tubes, depending on wall thickness and window presence.
- Gamma
Gamma rays are high‑energy photons that can traverse virtually any material. They are effectively shielded only by high‑atomic‑weight substances like lead. Gamma radiation is ubiquitous in cosmic sources and is detected by virtually all Geiger counters.
For additional technical details, see the Geiger Counter – Radiation Sensor Board for Raspberry Pi tutorial.
Links and Documentation
• arduPi Library on GitHub – Source code and documentation
• Board Schematic PDF – Detailed electrical drawings
• Project README – Installation instructions and calibration tips
Manufacturing process
- Board-Mount Pressure Sensors: How They Work, Key Benefits, and Selection Tips
- Build a DIY Infrared Motion Sensor for Raspberry Pi – Step‑by‑Step Guide
- Control an LED with a PIR Motion Sensor on Raspberry Pi
- Build a Low‑Cost Raspberry Pi Soil Moisture Sensor for Smart Irrigation
- Raspberry Pi Light Sensor Tutorial – Wire an LDR and Read Light Levels with Python
- Build a Raspberry Pi Home Temperature Monitor with MCP9808, InfluxDB & Grafana
- Master Raspberry Pi GPIO: Interfacing a PIR Motion Sensor on B+/Model 2
- RasPiRobot Board V2: Expand Your Raspberry Pi Into a Powerful Robot Controller
- Build a Raspberry Pi Obstacle‑Avoiding Robot – A Beginner’s Guide
- Arduino Nano Fingerprint Sensor Project – Step‑by‑Step Tutorial