Monitor radiation with a Raspberry Pi

Monitor radiation with a Raspberry Pi

I have an odd fascination with radiation… Not to the point that I’m buying “Naturally Occurring Radioactive Materials” (or NORMs for short) on eBay, but certainly to the point that I own a digital geiger counter and regularly measure… things…

Recently, I discovered https://radmon.org, a site where users can connect a counter to their API and send data to the network of scientists that study background radiation in real time.

For this project, I dug up an old Pi, installed raspian, and got to work.

Since the software I will use must be built from source, I had to install all of the basic C devtools.

sudo apt install git build-essential

Then, the GCLog project was downloaded.

git clone https://github.com/stelas/GCLog.git && cd GCLog

Building and installing is likewise very simple:

make
sudo make install

Though it installs an init script, it can still be used with systemd.

sudo systemctl enable gclogd

My GC device is a GQ electronics GMC-320v5. When plugged in with USB, it exposes a basic serial console device at /dev/ttyUSB0, which can be used to send commands and retrieve data. I was able to find the entire protocol spec as well.

The baud rate is set to 115200 by default, so that will need to be set in the config file.

etc/gclog.conf file:

device.type=gq
device.port=/dev/ttyUSB0
device.baudrate=115200

There are other settings in the same file that must be set to send data to Radmon.

location=My City
latitude=12.3456
longitude=-65.4321

radmon.user=username
radmon.pass=XXXXXXXX

With the config set, the service can be started:

sudo systemctl start gclogd.service

Within a few minutes, a little green bubble will show up over your town with a (hopefully low!) amount of radiation as measured by your GC.