Radiation Monitor (or multipurpose event counter)

This project monitors the output ( "clicks" or pulses) from a Geiger counter, however it can be easily adapted to count anything that can pulse a voltage.

I have a couple of these geiger counters from circa 1987 that are still working well. :



An optocoupler/optoisolator is used to isolate the Arduino Uno from the trigger. My geiger counter's pulse is 12V; the pulse lights an LED inside the optoisolator, which triggers a phototransistor and a digital level signal is output that the Arduino can use. A resistor is used to limit the current.

Construction is straightforward.

  • Display
    • Display SCL to A5 on theArduino Uno
    • Display SDA to A4
    • Display Gnd to any G (Gnd) pin on the Arduino
    • Display Vcc to 5V
  • Optocoupler - I had a 4N35 lying around, so that's what I used, but there are plenty of equivalents.
    • Pin 1 (Anode) to the +ve pulse via a resistor (I used 4.7K, which was about the highest I could use before the signal was blocked)
    • Pin 2 (Cathode) to the pulse's -ve
    • Pin 5 (Collector) to Arduino 3V3
    • Pin 4 (Emitter) to Arduino pin 2
    • Pin 4 (Emitter) to Arduino ground via resistor (~10k)


Download the Arduino sketch. Ensure you are compiling for the correct board (in this case Arduino Uno) and you have the required libraries (millisDelay and LiquidCrystal_I2C).

The sketch simply counts and displays the pulses as they arrive, and displays the maximum CPM (counts per minute) since powered on.

The max. CPM isn't retained, so an obvious improvement would be to use an ESP8266 or ESP32 and write the values wirelessly to a NAS or web server somewhere .. but that's for another day.

3D Print a Case

If you have a 3D printer, you can download the STL file to print a case (right click and save as).

The display and arduino Uno fit on the pegs, and to secure you just need to flatten them a little with a soldering iron.

Testing and Results

OK, but how can you test a Geiger counter to see if it works, legally and without causing a major incident? Simple - I have an old unused mantle from a Camping Gaz lantern; these mantles contain radioactive thorium oxide (or at least used to) to increase light output, and in close proximity are great for testing the counter.

Fine, but what do the numbers mean for me? Counts per minute (CPM) is a measure of the detection rate of ionization events per minute. Normal background radiation is around 30 to 50 counts per minute (cpm) or 0.03 to about 0.07 milliroentgens per hour (mR/h) though probably a bit higher in the Granite City (Aberdeen).

The most I've seen (outside testing) is 35 CPM .. if it goes much above 100 I'll head for the bunker.

Copyright © 1997-2021