Geiger counters are devices used to detect radioactive emissions, most commonly beta particles and gamma rays. The counter consists of a tube filled with an inert gas that becomes conductive of electricity when it is impacted by a high-energy particle.
The Geiger–Müller tube or G–M tube is the sensing element of the Geiger counter instrument used for the detection of ionizing radiation.
Biemster wanted to improve this counter to an IoT device connected to the network byusing ESP8266 to discover easily where are the harmful radioactive things around.
Running down the center of the tube there’s a thin metal wire made of tungsten. The wire is connected to a high, positive voltage so there’s a strong electric field between it and the outside tube.
When radiation enters the tube, it causes ionization, splitting gas molecules into ions and electrons. The electrons, being negatively charged, are instantly attracted by the high-voltage positive wire and as they zoom through the tube collide with more gas molecules and produce further ionization. The result is that lots of electrons suddenly arrive at the wire, producing a pulse of electricity that can be measured on a meter, and if the counter is connected to buzzer heard as a “click.” The ions and electrons are quickly absorbed among the billions of gas molecules in the tube so the counter effectively resets itself in a fraction of a second, ready to detect more radiation.
In a nutshell, driving a G-M tube typically consists of 2 distinct parts:
- Providing the tube with a high voltage source for it to operate.
- Detecting each ionization event and convert it to a format that can be processed and sent over the internet.
Generating high voltage can be done by using PWM (Pulse-Width Modulation) signals after flashing the ESP8266 with the MicroPython firmware (version 1.8.3, with 10 kHz PWM support). Detection can be implemented as an interrupt handler that listens for and acts on discharges in the tube. Each discharge means a new detection.
Read more: €15 IoT Geiger Counter using ESP8266