Electronics Projects

Radiation dosimeter

This is a shortened translation from Russian of my article published in Радио (Radio) magazine, no. 11 (2010) pp. 30-22 and no. 12 (2010) pp. 26-27. The device is intended for measuring the ionizing radiation caused by beta- and gamma-rays and has the following parameters:

Radiation range: 0 - 250 mR/h
Front view
Back view
Measurement latency: 30 sec
Measurement period: 1 sec
Power source: 2 - 3.3 VDC
Drawing current: 0.5 mA

The radiometer is based on СБМ-20 Geiger counter tube which is manufactured in Russia and could be found on E-Bay. The counter is in a thin metal hull, so only beta and gamma rays can snick through it. It's working voltage is in the range 350 - 450 V, the dead time does not exceed 190 μs, and the sensitivity is about 78 pulses per micro-roentgen. Therefore, maximum frequency of pulses provided by the counter is 106 / 190 = 5263 Hz. Respectively, the maximum radiation level one can register with it is 5263 / 78 = 67.47 μR/s, which is about 243 mR/h. The embedded firmware, however, can work up to 1 R/h.

The dosimeter works according to the following principle. Suppose that we know the number of pulses N registered by the Geiger counter tube in a 30 sec interval. This number is used to interpolate the number of pulses M in one hour assuming that the radiation level remains constant: M = N·120 (one hour has 120 30-second intervals). Therefore, to compute the radiation level we should divide M by the counter sensitivity to get a value R in μR/h: R = M / 78 = N·120 / 78. However, the ratio 120/78 is pretty close to 3/2 which is much easier to compute with a microcontroller. Hence, we get the final formula: R = 3·N / 2. This value is, of course, just an approximation, since the sensitivity of the Geiger counters varies a bit from unit to unit and changes at high radiation levels. However, the comparison tests with industrial dosimeters showed that our device is pretty accurate.

A nice feature of our dosimeter that distinguishes it from many similar projects [1] is that the display readings are updated every second. Usually, after making a measurement with a conventional device in a 30-sec interval one has to wait another 30 seconds for the next measurement. In our device we maintain a list of pulses registered for each of the last 30 seconds. Thus, upon measuring the number of pulses received in the next second, we replace the oldest value with that number. Now, if we sum up all the 30 values, we get the number of pulses received within the last 30 seconds, which is actualized every second. The readings are stored in the microcontroller in a circular buffer in its RAM. This way we can operatively monitor the radiation level if it is not changing much. However, if we approach a radiation source which is significantly different form the previous one, we need to wait 30 seconds to feed the buffer with 30 new countings to compute the radiation level.

Schematic Layout PCB

High voltage for the Geiger counter is provided by a converter built on VT2 and T1. The gate of VT2 is driven by rectangular waveform of frequency 244 Hz and duty cycle 4 - 15% provided by the microcontroller DD2. When VT2 is closed, the transformer generates a pulse with amplitude about 60 V which is further multiplied by the voltage tripler on VD3 - VD5 and capacitors C12 - C14. Zener diodes VD6 - VD8 limit the maximum output voltage at the level of about 430 V. Without those diodes the voltage on C14 can exceed 800 V, e.g., at the moment of turning the circuit on. The high voltage of 400 V is feeding the Geiger counter BD1 via its resistive load R10. This way the Geiger counter remains in the middle of the plateau of its working range. Stabilization of the high voltage is provided by PWM generated by the microcontroller. For this the feedback voltage from winding III of T1 is rectified by VD1 and normalized by R7 - R8 and C9, C11. The built-in ADC compares this voltage with the one provided by the voltage reference DA1. The difference between them is then used to control the PWM duty cycle. The converter itself draws about 0.3 mA for the output load 40 Mom and higher. The high voltage drop does not exceed 15 V for the battery voltage in the range 2 V - 3.3 V. Setting the output voltage can be established with R8.

The feedback pulses are also used to power the LCD driver DD1 and the LCD HG1. The necessary voltage 3.3 V for them is stabilized by the voltage regulator DA2. This way the display contrast remains constant and does not depend on the battery voltage in the range specified above. Capacitor C8 sets the refresh rate of the display of about 80 Hz. Note that DD1 and HG1 draw together about 10 μA, so using a micro-power voltage regulator MCP1700 is essential. The circuit won't work by using conventional voltage regulators like 78L033 because of their too high quiescent current measured by several hundreds of microamps and sometimes even some milliamps. The one for MCP1700 does not exceed 1.6 μA. The controller DD1 drives the LCD in static mode and communicates with the microcontroller via the SPI interface.

If the measured radiation level exceeds 100 μR/h the microcontroller forwards short pulses to the gate of VT1. The frequency of those pulses is about 2400 Hz. VT1 is used to drive a buzzer BF1 or an external headphone attached through XS1. The high voltage peaks of about 50 V generated by the buzzer/headphone coil are forwarded to the red LED VD2 via a current-limiting resistor R9 which bounds the current through VD2 at the level of about 110 mA. Since the high-voltage pulses are pretty short, this peak current is harmless for most LEDs but makes them emit a noticeably intensive light pulse. Therefore, no extra energy is drawn from the battery for the visual indication of the high radiation level.

The microcontroller DD2 works on a 1 MHz frequency and draws about 0.2 mA. The 1-second intervals are provided by the built-in timer TMR1 controlled by an internal crystal oscillator whose frequency is stabilized by ZQ1. The timer also counts the number of pulses from the Geiger counter BD1 received during the last 1-second interval. By registering a particle the Geiger counter BD1 generates a short pulse of negative polarity and amplitude about 100 V. This pulse is normalized by R2, R5, R6 and C7, C10. The normalization is needed by two reasons. First, the timer input voltage must be positive and not exceeding the battery voltage. Second, some old or used for a long time Geiger counters generate instead of a single pulse for each registered particle a series of 10 - 50 pulses. The above mentioned passive elements filter out only the first pulse from the series.

The number of pulses counted by the timer is then stored in a circular buffer as a 16-bit value, since it can exceed 255. The 30 values stored in the circular buffer are then all summed up and multiplied by 3/2 to obtain the numeric value of the radiation level. This value is then converted into the BCD representation and forwarded to the LCD driver. The display readings are formatted as follows:

Display readings Radiation range in μR/h
0 - 9 0 - 9
10 - 99 10 - 99
100 - 999 100 - 999
1.000 - 9.999 1000 - 9999
10.00 - 99.99 10000 - 99999
100.0 - 250.0 100000 - 250000

Therefore, the decimal dot on the display indicates the change of units from μR/h to mR/h. For speeding-up the processing, the microcontroller frequency is boosted up to 4 MHz for a short period every second. This is done to minimize the interference between the radiation computing thread and the one for stabilizing the converter high voltage.

Prototyping Assembled device

The device is assembled on a one-sided PCB of size 109.2x73.6 mm which is embedded in a Hammond 1553D-BAT enclosure with a battery compartment. The small board is used to mount the power switch SA1 (model MHS-122 by ALCO). This way the switch is placed deeper into the case so that its long actuator does not go too much out of it. Connectors XS1 and XS2 are mounted on the removable side panel of the enclosure. The back panel must have an opening for the Geiger counter in order the plastic enclosure won't weaken the particle stream to it.

Transformer T1 is made on a ferrite core B64290L0618X038 manufactured by Epcos. Its first winding has 100 turns of #26 wire (from Radioshack magnet wire set 278-1345). Right above this winding there is the secondary one consisting of 200 turns of a #30 insulated wrapping wire (I used Radioshack model 278-503). Since this wire has a plastic insulation, no additional insulation between the transformer windings is needed. The third winding has just 10 turns of the same wire as the secondary one. Pay an extra attention on right phasing of windings by soldering the transformer into the circuit, as otherwise the high voltage converter or the LCD driver (or both) won't work. Instead of LCD model EDC190 one can also use Varitronix VIM-404.

The operating voltage of capacitors C10, C12 - C14 must be at least 500 V (I used the ones for 630 V from TDK FK22 series). C9 must be ceramic or tantalum. The threshold voltages of VT1 and VT2 must be at most 1.6 V. In this case the circuit will reliably operate if the battery is discharged down to 2 V and below. My unit remains functionable down to 1.6 V, however for starting the microcontroller at least a 2 V battery is needed. I also successfully tried the following MOSFETs: ZVNL120, ZVN4424A, IRLS640A, FQP4N20L.

Tuning of the device is reduced to setting 400 V at the top end of R10. Put its wiper into the lowest position before applying the power for the first time. It is very important to mention that using a conventional multimeter with the input impedance 10 Mom for a direct measuring of this voltage is totally inappropriate. Such multimeters overload the converter and the voltage readings become too low. Instead, one should connect a voltmeter via a 1000 Mom (1 Gom) resistor. This way the voltage readings should be multiplied by 110 to get the high voltage value. Working with so high voltage needs a special care of avoiding any body contact with the elements of the voltage tripler. I got very noticeable shocks a couple of times by occasionally touching those elements on the proto-board, so now I want to seriously warn anybody not to repeat this.


  1. Lane R., Thompson S.: PIC digital Geiger counter, Everyday Practical Electronics 2007, N 2, pp. 12-19.


Last modified:Fri, Jan 21, 2011.