DIY/Homemade Radiation Geiger Dosimeter

geiger counter dosimeter
Given all my previous experience with Geiger Counters (see for example my uRadMonitor project), I have decided to conceive a portable, easy to build, radiation dosimeter . I didn’t have much need for yet another dosimeter (with my Radex 1706 or Terra-P), but I know there are several people not affording a commercial unit, but wanting to have their own radiation measurement tool. So here is this article, giving you just that: an efficient, stable, easy to build construction for all your radiation dosimetry needs.

Short description

I started from scratch, designing a complete dosimeter unit around the Atmel Atmega8 microcontroller and a Russian Geiger Muller tube. Here you’ll see the CTC-1 tube, for high gamma doses, but the dosimeter can be used with any other tubes such as SBM-20, LND-712 or more sensitive ones such as the SBM-19 or the pancake tube SI-14B. Changing the tube requires changing the software, to adjust the dose conversion calculation. This circuit can be used with almost any geiger tube, as even the inverter’s output voltage driving the tube is adjustable in the software.
Here is a video showing a high count rate when using a Si12b tube and Am241 alpha emitter from a smoke detector:

Similar to my uRADMonitor, the micro-controller takes care of everything:
1. Generates a variable duty PWM signal using Timer1, to drive the 400V inverter needed to operate the Geiger tube; The inverter doesn’t need a multiplier, as the ferrite’s transformer secondary puts out exactly the amount required. The transformer is made on a A22 ferrite core, with 16 turns in the primary and 600 in the secondary.
2. Uses one ADC port to measure the inverter’s voltage and adjust the PWM duty cycle for constant output (exactly 400V for stable operation)
3. Counts the time, using Timer0 so we can compute the dose
4. Uses interrupt INT0 to count the pulses produced by the Geiger tube
5. Drives a 2×16 LCD to output the results.
Some other circuits on the Internet come with improper 400V inverters (some people seem not to be able to design a proper inverter), they are redundant (using 555’s and additional components, when the microcontroller can take care of EVERYTHING), use the wrong signal detection/counter circuit, or other small defects that result in wrong measurements. Not to mention the complicated aspect of computing dose in sieverts out of counts per minute.
Given all these wrong designs, my detector tries to fill in some of the gaps. So here is exactly what you need: a stable design, with several improvements made over time, all packed in this nice construction that you can easily replicate.

Some pictures

Before getting into the construction details, and the theory involved in my geiger counter, here are some pictures of my construction. I might use them later to point out critical aspects of the construction.

Building the Ferrite transformer

geiger transformer coil 1 geiger transformer coil 2 geiger transformer coil 3 geiger transformer coil 4
geiger transformer coil 5 geiger transformer coil 6 geiger transformer coil 7 geiger transformer coil 8

Building the case

Once again, I used PVC pipes as a good source of plastic sheets. Here is another case I built for this Geiger dosimeter:

And the result


Construction details

The circuit diagram can be seen here:
I had some issues with my first PCB that are now fixed. Here is the final PCB version:

Battery pack

Besides using an external power adapter, I added rechargeable batteries to this device so it can operate on independently. 4 AAA NiMH batteries have been packed together using my micro-spot capacitor welder, and inserted in the bottom part of the case.

Bluetooth Module and remote radiation monitor capabilities – optional

You might be familiar with the The CD V-717 that was designed for use in fallout monitoring stations. This detector has a removable bottom with a 25 foot extension cable. The detector element (ion-chamber) is mounted inside the removable bottom. This allows for the placement of the detector element outside of the shelter area while the metering section of the metering unit would remain inside of the shelter area connected to the detector with the 25 foot cable.
In a similar fashion remote operation is possible on my dosimeter, by using… Bluetooth. Hooked to the main microcontroller, there is an UART Bluetooth module packed with its 3.3V regulator. The software running on the atmega8, sends measured dose rate values, via UART (Rx/Tx) to the Bluetooth module.
By doing so, a mobile phone can be used to read the radiation data, from a remote location, without being exposed to what the dosimeter actually measures. Currently I wrote an application for Android phones, that can search nearby bluetooth modules, find the dosimeter, connect to it and display the dose rate, as received via the radio connection. Here is a demo video:

For the Android software, see the bottom of this article.

Showing the Dosimeter on TVR Timisoara

Thanks to Andrei Borosovici, I had the chance to discuss this topic on “Vezi ce-ti doresti” TV Show running on TVR Timisoara. Here is the 14.01.2013 recording, in Romanian:

More on Geiger Counters

Here is a list with must-read resources:
uRadMonitor – a Geiger counter radiation monitoring station (v3.3)
Centronic Geiger Muller tubes
A simple Geiger counter (v3.2)


This work is free software, licensed under GPL v2; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. For other licensing options, feel free to contact me.
License for using my work

HEX Firmware for the Atmega-8

STS-1 geiger tube: GMD_STS-1
SBM-19 geiger tube: GMD_SBM-19
For changing the firmware to make the dosimeter work with other Geiger tubes, contact me.

Source code and other resources

Eagle SCH and PCB: download
Dosimeter source code: The code is available on Github, under GPL. Use it only if you understand the terms of Open Source software distributed under GPL.
You can also download it here.
Optional, if UART Bluetooth module has been added to the dosimeter: Bluetooth Dosimeter Android Application

Here are some variants created by my readers

DREDD Dosimeter
dredd_dosimeter_1 dredd_dosimeter_2 dredd_dosimeter_3 dredd_dosimeter_4


2013-11-22: black case and software improvements
This device has received an upgrade, improving its functionality by rewriting the code to embed the latest results form the uRADMonitor project. See it here.

This article has 24 Comments

  1. Sir, Now i doing my college project..
    So Please Provide the Source Code For “DIY/Homemade Radiation Geiger Dosimeter” …..
    sir, i request you to please send source code, i was collecting the hardware’s units….

  2. Thank You For Your Reply Radu Sir….

    One more Doubt..
    How to connect (or) interface the Bluetooth device with Micro controller, What is the Model Series (like a model number, module type) of BLUETOOTH device..
    I need to attach one more application on this Geiger Kit..
    How to i make and alterable… please tell some ideas..

  3. Thank You Sir…

    If i have any doubts during on the project, i ask later.. thanks for your responsible reply…

    sorry for grammar mistakes, because i know little bit English only.. thanks sir.. bye..

  4. sir, how to buy a GM tube..?, then please tell some ideas to construct the 400v ferrite’s transformer.. this ready-made transformers are available on electronics shops..?

  5. sir how to construct the ferrite’s transformer… please tell some ideas… please…

  6. @Karthi : use a small ferrite core (A22), 16 turns for primary (0.2mm CuEm wire) and 600 turns for secondary (0.1mm CuEm wire).

  7. sir one more doubt, how to connect (interface) ferrite transformer (primary, Secondry) terminals, (which side place 0.1 mm , 0.2 mm wires)

  8. sir i completed the construction, depend upon your help,guide and schematic, PCB diagram.. but the readings and any other letters are no shown by LCD.. only on LCD Back-light.. the power indication LED light also not working.. please help me sir. but its not working…

    ATMEGA8 L 8PU controller i was used on this circuit.. only ATMEGA8-16PU support for this circuit…?

    sir please reply and put some ideas..

  9. @karthi, sorry for my late reply! Please see the bottom of the article , under HEX Firmware for the Atmega-8 . Download any of the two. It should work at first try.

  10. Thank You Radu!
    Yes, I would like to create one with SBM-20U tube. I have an old russian “MASTER-1” geiger counter. I take of the tube from this. It measure as background radiation: 16uS/h = 26-27 cpm (the measure time: 36s). On the tube is a few layers of aluminum foil.
    Sory my english, perhaps understandable.

  11. @Joska, yes I understand, let me know when you finish the circuit, I will send you the hex.

  12. Pay atention for the chip that use, i’ve build this project and changed 3 atmega8-16pu before foud one that worked

  13. Hi Radu Motisan:

    I am developing a project which involves the construction of a gamma scintillation probe. I want to send this data via Bluetooth. The data I want to send are only 0 or 1 logical pulses with a frequency 1 kHz. I wonder if I can use your Bluetooth device with the interface Micro controller ( #. U5AOatLG-BQ) and then send it to a device android system which has installed your program (“Bluetooth Dosimeter Android Application”).
    Your project is very good, thanks, but I like to know what modifications i have to do to use it in my project, I just have doubts on sending pulses through bluetooth to a device android, i.e How do I have to program the microcontroller? .and last, do you send by bluetooth pulses are only accounts?, if so then as you determine the uSv / min.? i hope your answer, thanks.

    note: I am currently trying to program the next device bluetooth (“”), but I have not succeeded, I do not know the AT commands.
    for your programs bluetooth, uses AT commands or using another language? moreover, if I can achieving send pulse through bluetooth, then I have the problem of achieving communication with android device and which show me the radioactive activity and didnot as program the android device, in this case I could use your program? if not so, I could use the GetBlue application? (“”)

    Best regards,
    Francisco Martinez

  14. Hi Francisco,

    There is no easy path to what you’re trying to do, and you will need to learn a lot in order to put everything together.

    Use the search box in top right and search for Bluetooth – I have many projects posted here that can help you.

    And make sure you check out my scintillation probe project exporting the data to an Android phone over Bluetooth:

  15. Hi Radu Motisan,

    Thanks for your answer, but if I install this application on my android system (“Bluetooth Dosimeter Android Application”) and then send my data over bluetooth, does this work? or I have to make modifications to the code (“Bluetooth Dosimeter Android Application”)? if I have to modify the code (“Bluetooth Dosimeter Android Application”) could you help me?

    note: I just want to send count of my probe, the same way you do with the geiger counter, nothing more, do not want to send the spectrum through bluetooth, only the count, then I can use “Bluetooth Dosimeter Android Application” ?

    best regards,

  16. The code you are referring to needs to be modified to work for what you have in mind. It can certainly be done. I’d love to help, but my free time is approaching zero, so I’m afraid there is little I can do for you now.

  17. Hi Radu,
    I would like to change your code for another type of lamp. also I want to use a GLCD for better monitoring. since your code is in Hex, would you kindly mail me the C code for this program. ( i use codevision and don’t know how assembly works :))
    yours sincerely,

Leave a Reply