An Arduino library to interface with the Radiation Watch Pocket Geiger counter (Type 5).
The library monitors the Pocket Geiger through interrupts, processes the hourly Sievert dose and allows to get back the data using a simple interface. It comes with examples to print data to Serial or log it on a SD card, giving you some ideas of what to do with it.
Learn more about the Pocket Geiger counter on the Radiation Watch FAQ or on our blog. Actually it is not a proper Geiger-Müller counter, but a Photodiode PIN sensor that can nevertheless effectively counts Gamma radiation.
Go the Arduino Library Manager and search for RadiationWatch: install, that's it!
Alternatively download the library as a zip, extract it and put it in your Arduino libraries
folder. (see instructions)
If you link the command-line, check CLI.md
for arduino-cli
installation and getting started instructions.
First connect your Pochet Geiger Type 5 board to your Arduino. By default, the binding used is as follow:
Pocket Geiger pin | Arduino pin | Standing for |
---|---|---|
+V |
5V |
Alimentation pin (DC 3V~9V) |
GND |
GND |
Ground pin |
SIG |
2 |
Radiation-detection pulse pin |
NS |
3 |
Noise-detection pulse pin |
You can change the pins used by the library at its initialization. Remember to use pins that enable external interrupts.
/*
signPin is the radiation pulse pin, which must match the signIrq number.
noisePin is the noise pulse pin, which must match the noiseIrq number.
*/
RadiationWatch radiationWatch(signPin, noisePin);
Pocket Geiger Type 5 interface specification.
Look at the buildlogs folder for more step by step instructions.
Go to your Arduino examples and launch the RadiationWatch
-> SimpleSerialPrinter
sketch. It outputs to the serial port the current emission level for each gamma ray that hits the Pocket Geiger counter.
Your done! Enjoy your -hopefully- low exposure to Gamma radiation.
Load the RadiationWatch
-> SerialCsvLogger
sketch to your Arduino. Then launch the Python script serial_plot.py
.
You need Python installed with matplotlib and pyserial. You may need to set the serial port corresponding to your Arduino in the Python script.
The script will output the radiation level in real-time.
You'll need the Arduino Ethernet shield (recommended) or the SparkFun microSD shield.
Load the RadiationWatch
-> SdCardCsvLogger
sketch to your Arduino. The radiation measurements will be stored in a rad.csv
file on the microSD card, so you can then retrieve and process them later.
Remember however the Pocket Geiger can't record correctly in presence of vibration, so try to keep the whole stationary during the measurements. For an advanced mobile unit of measurement you may look at the bGeigie Nano from the Safecast project.
Find this cool? Check out our blog or send us a note.
This lib was featured on the Radiation Watch website.
If you search a building idea, the Playspoon fully integrated LCD Geiger counter may inspire you.
Happy hacking!
Created upon the thomasaw and Tourmal libraries, themselves based on the Radiation Watch sample code.
@puuu contributed some major enhancements to the library structure (see #4 and #5).
Feel free to open a new ticket or submit a PR to improve the lib.