GQ GMC-320 Plus · USB · Linux

See what your Geiger counter is counting, and keep a record of it

Plug in a GQ GMC-320 Plus, switch it on, and RadBeeper finds it. It shows the reading at a glance, in a terminal or a window, logs it whether or not you are watching, and builds a web page you can publish. Its drum spectrogram shows whether anything is reaching the counter on a schedule, which radiation never does.

radbeeper-gui filling from empty: the dials, the counts strip and the drum spectrogram, a frame per drum row over twenty-two minutes

Twenty-two minutes of two counters, a frame per row of the drum, from the moment the window opened. Long captures are the point: a schedule shows up as a stripe, and a stripe takes time.

Read it at a glance

One big number, dials with the bands named on them, and five averages at once, from three seconds to a working day. You see what the counter says now and whether now is unusual.

Half a day on one line

A strip of counts that shows this second in full and the past twelve hours in outline, with a trend line over it. Point at any bar to see when it was and what it read.

The drum spectrogram

A chart drawn like a seismograph's paper. Green is ordinary background. A hot stripe from top to bottom is something arriving on a schedule: a fan, a fault, electrical noise. How to read it.

A record with no gaps

A row to disk every thirty seconds. The counter's own memory is read back to fill in the time nothing was listening, and the whole record becomes a web page with one command.

One counter or several

Plug in a second and both are read, with nothing to set. The reading gets more precise, each keeps its own log, and one that stops answering is left out until it returns.

Made for Copal Linux

RadBeeper is built for Copal, which is made from Alpine Linux, and runs on either. It installs from crates.io or as a ready-made binary. The technical description has the rest.

RadBeeper

See what your Geiger counter is counting, keep a record of it, and put it on a web page. For the GQ GMC-320 Plus, on Linux.

MIT · 0.6.0 · cargo install radbeeper

vonglurt.github.io/radbeeper — this page, the guides, and a live counter's report.

radbeeper-gui: two counters, in real time

Plug the counter in, switch it on, and RadBeeper finds it. It shows what the counter is counting right now, fetches what the counter recorded while nobody was watching, keeps a log, and builds a web page from the result.

cargo install radbeeper            # or a ready-made binary from the releases page
doas adduser $USER dialout         # once, then log out and back in
radbeeper probe                    # it should name your counter

What you get

A reading you can trust at a glanceOne big number, with dials beside it, and five averages from three seconds to a working day.
Half a day on one lineA strip of counts that shows this second in detail and the past twelve hours in outline.
A check for anything that is not radiationThe drum spectrogram shows whether counts are arriving on a schedule, which decay never does.
A recordA row to disk every thirty seconds, whether or not a window is open.
No gapsThe counter's own memory is read back to fill in the time nothing was listening.
A web pageOne self-contained page you can publish, with no scripts and nothing to host but the file.
Two counters at oncePlug in a second and both are read, with no setting to change.
Random numbers256-bit keys made from the timing of decay, with the evidence kept beside each one.

Get started

With the counter plugged in and switched on:

radbeeper probe      # find it, and check it is talking
radbeeper watch      # the monitor, in a terminal -- q to quit
radbeeper-gui        # or the same counter in a window

You can open and close the monitor and the window as often as you like. The logging carries on underneath and does not miss a second.


What you need

The counterA GQ GMC-320 Plus. A GMC-300, 500 or 600 will be found and read too.
Its own USB cableThe one that came with it. A charge-only cable carries no data, and the computer will see nothing.
The counter switched onIt does not show up while it is off or flat.
LinuxAlpine Linux, or Copal, which is built on it.
Permission to use the portThe adduser … dialout line above, once.

If radbeeper probe finds nothing, it says which of four things is wrong. Troubleshooting has the fix for each.


Install

cargo install radbeeper                  # or a ready-made binary from the releases
doas adduser $USER dialout               # then log out and back in

The window is installed separately, from a copy of this repository:

make gui-install     # puts radbeeper-gui beside radbeeper

The monitor

radbeeper watch

the monitor

Everything on one screen of a terminal: the reading in large digits, the five averages, the strip of counts, the check for rhythms, and the rows as they are written to the log.


The window

radbeeper-gui

the window

From the topWhat it tells you
The countersWhich counters are connected, and what each counted in the last second. An empty space means that counter has stopped answering.
The dialsThe reading as a needle. The coloured bands are nominal, advisory, warning and deadly.
The big numberCounts per minute over the last half minute, how precise that is, and the dose rate.
The averagesThe same reading over 3 seconds, 30 seconds, 5 minutes, 50 minutes and a working day.
The striped chartThe check for rhythms. Mostly green is the good answer. See Reading the drum spectrogram.
The countsA bar for each second on the right, with older counts packed closer together to the left. The line over the bars is the trend. Point at a bar to see when it was and what it read.
The keyThe newest random number, and which counter it came from.
The tableThe trend line in numbers: for each panel of the counts, where the trend is now, its average over that panel, and its high and low, in CPM.

The window follows your desktop's light or dark theme, and fits whatever space it is given: in a small window the table goes first and the charts last.


The drum spectrogram

the drum spectrogram

Decay has no rhythm. Anything that reaches the counter on a schedule is something else: a fan, electrical noise, a fault. In the reading it looks like more radiation. On this chart it looks like a stripe.

It is drawn like a seismograph's paper. A new line appears at the bottom every eight seconds, just above the counts, and the older ones move up. Left to right is how often something repeats, from once an hour to once every few seconds. The pen gets hotter and wider as the signal gets stronger: green is ordinary background, yellow is as much as chance manages, red and white are more.

Reading the drum spectrogram is the guide, with pictures. The drum spectrogram is the lab report on the technique.


Two counters

Plug in a second counter and both are read. There is nothing to set and nothing to restart.

Two counters in one room do not double the reading. They make it more precise, and the window shows by how much. Each keeps its own log. If one stops answering it is left out until it comes back, and the reading stays right.


Keep a record

radbeeper service         # what runs at boot, here in the foreground

the log on disk

A row every thirty seconds, in a plain text file for each counter and each month. It opens in any spreadsheet. The monitor writes the same rows while it is open, so it does not matter which of them is running.


Publish it

radbeeper export --logs logs -o monitor.html

One page with a summary, a chart by the hour, a table by the day and the newest rows. It is a single file with no scripts.

To put it on the web, fork this repository, copy your log files into logs/, and push. The site rebuilds itself.


Random numbers

radbeeper random
b17c9c60 d5deeb7b 4b102dfc bec14efc b523818b 18d3ada0 582bd912 e61ff856

The moment an atom decays is not decided by anything, so a counter is a source of true randomness. RadBeeper makes a 256-bit key when it has counted enough to justify one, and keeps the counts behind it so anybody can check it.

Treat this as a good physical source, not a certified one.


Commands

probeevery counter on the machine, held by the service or free, and what its last start did
watchthe monitor, logging while it is open; --no-log to only watch
clockhow far the counter's clock is out; --set corrects it, as every start of service and watch does
cpmone 30-second average, for a script
servicelog every counter found
hotplugopen the monitor when a counter is plugged in
backfillfill the log's gaps from the counter's memory
randoma 256-bit key from decay timing
sitewhere a counter is, and where it has been
exportbuild the web page from the logs
frames list / showthe raw seconds behind each key
log info / log pullhow much the counter's memory holds, and download it

radbeeper --help lists every command and option.


Learn more

Reading the windowevery number on the window, what the five averages and their precision mean, and the striped chart read as a landscape
Reading the drum spectrogramthe striped chart, and how to tell chance from something real
Troubleshootingwhat to do when the counter is not found
Running itstarting at boot, and publishing
Technical descriptionhow it works: the hardware, the arithmetic, every part of the screen, the log and the keys
The drum spectrogramthe lab report on the technique: how a line is computed, the thermal pen, and the measurements
All the lab reportsthe reasoning behind each part of the program
Securitywhat is in scope, and how the supply chain is kept small