/ArduinoPocketGeiger

Arduino library to interface with the Radiation Watch Pocket Geiger

Primary LanguageC++MIT LicenseMIT

Arduino Pocket Geiger library

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.

Getting started

Install the library

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)

Wire your Pocket Geiger board to your Arduino

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.

Launch the Serial printer example

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.

Plot in real-time with Python

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.

Log the results to an SD card

You'll need the Arduino Ethernet shield (recommanded) 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.


Misc.

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!

Credits

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).

Contribute

Feel free to open a new ticket or submit a PR to improve the lib.