Geiger tube J305 conversion factor: differences between the coefficient for source radiation power and absorbed dose. Technical note

  • Post category:Testing / Tips

We have previously written about how to calculate the coefficients for the SBM20 tube and the J305, tube that come with our Geiger counter module GGreg20_V3 for DIY / IoT projects.
However, in those articles, we focused heavily on the calculation formulas and almost overlooked a very important detail: when calculating the conversion factor for the Geiger tube pulse count, we need to be aware of what exactly we want to get as the output.

If we need to obtain the radiation power of a radioactive source registered by the counter, this is one task.
It is a completely different task when we need to obtain the equivalent value of the radiation dose absorbed by the human body over a certain period of time.

We describe in detail how to calculate the coefficients in our previous publications, so we will not waste the reader’s time now.
Instead, we will try to show the differences between the calculated coefficients and how best to use them for a DIY project.

The data is provided for the J305 tube. Any other Geiger tube, such as the SBM20 or LN712, can also be used in its place, since they all have a similar principle of operation except for certain nuances that we can neglect for the purposes of this discussion.

In our previous publications, we went from start to finish: we have pulses -> we want to keep the value in μSv/h.
Today we will try to go the other way: from the goal of the DIY project through the sequential steps to achieve it.

As DIY Geiger counter users, we would most likely want to have access to the following information on our device’s display:

  1. CPM: The number of registered pulses per minute received from the counter;
  2. μSv/h: The radiation power of the source registered by the counter;
  3. μSv: The absorbed dose by the human body over a certain period of time.

Take a close look at these values. The secret to calculating them correctly lies not only in the correct formulas and coefficients, but also in understanding the overall process:

  • The source emits radiation;
  • The counter registers it;
  • The human body absorbs it.

The human body does not absorb everything that the counter registers. The counter readings and the absorbed dose are highly dependent on many factors. Therefore, to simplify the measurements, it is common to use ready-made data from the manufacturer and equivalent models for calculating the corresponding coefficients.

Pulse Count

We obtain the pulse count from the Geiger counter module. For convenience of calculations, as well as based on the pulse density during normal background radiation measurements, this parameter is best calculated in counts per minute (CPM).

For example, the J305 manufacturer specifies in the datasheet that the tube should emit 25 pulses per minute under normal background radiation. In other words, 25 CPM.

Why do we need the CPM value on the display if there are other, more understandable indicators? Indeed, it is possible to do without pulses per minute. However, it is a very convenient indicator when we want to understand if there are any malfunctions in the device. Usually, in our devices, we make a cumulative counter of the number of registered pulses for the entire time the device has been operating since the power was applied.

In this case, even if we do not have a source of accurate synchronized time, such as NTP or RTC, we can still calculate the average number of pulses per minute by dividing the sum of all pulses by the total time elapsed since power was applied. This indicator can indicate the quality of our data, even if hours have passed since the device was turned on.

We hope that since the principle of such checks is already known to you, you will develop your own algorithms for checking the data quality and the operation of the counter if necessary. There can be many implementations.

Radiation Source Power

When we want to estimate the radiation source power, we need to apply the conversion factor from CPM to μSv/h obtained by calculation based on the data specified in the tube’s datasheet from the manufacturer:

For the J305 tube, the manufacturer specifies a sensitivity of 44 cpm per 1 μR/h from a Co-60 source;

Let’s convert the data we need:

  1. Converting to counts per minute at 1 mR/h:

CPS / mR/h → CPM / mR/h: 44 * 60 = 2640;

  1. Converting to counts per minute at 1 μSv/h:

CPM / mR/h → CPM / μSv/h: 2640 / 10 = 264;

  1. Value of one pulse per minute in μSv/h:

1 / ( CPM / μSv/hr ) = 1 / 264 = 0.00378;

Therefore, if we need to convert the pulses registered by the J305 tube during a minute to μSv/hour and obtain the radiation source power value:

1 CPM = 0.00378 [μSv/h];


μSv/h = CPM * 0.00378

When we read the documentation for a Geiger tube, this is the parameter that is usually discussed.

Equivalent Dose Absorbed by the Human Body

To obtain the value of the equivalent dose of radiation absorbed by the human body, we will apply the model of a human body phantom:

  1. Lets convert counts per second to counts per minute at 1 mR/h:

44 * 60 = 2640 pulses/minute / mR/hour

  1. Convert CPM at 1 mR/h to CPM at 1 R/h:

2640 * 1000 = 2640000

  1. Let’s find the value of the exposure dose R/h at 1 CPM:

1 / 2640000 = 0.0000003787878788

  1. Find the air-kerma (Ka, kinetic energy released per unit mass/in matter):

The equation is as follows:

Ka [Gy] = 0.00877 [Gy/R] x exposure [R]

where 0.00877 – radiation dose absorption coefficient by the human body on a phantom model under the influence of photon energies of 100 keV – 3 MeV

0.00877 * 0.0000003787878788 = 0.000000003321969697 Ka[Gy][Gy]

  1. Let’s convert Ka[Gy] to Ka[μSv] (i.e., from Gray to μSv):

0.000000003321969697 * 1000000 = 0.003321969697 Ka[μSv]

Thus, the formula for the equivalent absorbed dose of radiation by the human body for the Geiger-Muller J305 tube with gamma sensitivity for Co-60 of 44 cps/mR/h is as follows:

μSv/h = CPM x 0.00332

Please note: To obtain the cumulative value of the equivalent dose of energy absorbed by the human body, we need to add the hourly values to the previous accumulated sum throughout the entire measurement period (from the moment of power supply or resetting the counter value). See the example below.

Why should we be more interested in the dose of radiation absorbed by the human body than in the radiation source power? There are at least two reasons for this, which follow from each other.

First, from the point of view of radiation safety, it is not the power of the source itself that is important, but the dose that we will absorb over a certain period of time if we are exposed to the radiation source.

Second, since the dose of absorbed radiation is so important, it is the dose for humans that is calculated and provided by government organizations for radiation protection and public health.

Usually, the permissible dose is given for a period of one year. It is such tabular data that allows us to objectively assess what is the normal level of background radiation – the moment when the radiation source power and the equivalent dose absorbed by the human body can be converted to common units and compared.

If the normal background level, in terms of its instantaneous power converted to a year, turns out to be higher than the permissible dose per year, then this may not be background, but a certain radioactive source. And then something needs to be done immediately with the radiation source that creates such a “background” so as not to exceed the permissible absorbed dose of radiation by our body.

Practice and Examples

Now we come to the most important thing: when creating sensor entities for GGreg20_V3 with a J305 tube, for example in ESPHome, we need to use the appropriate coefficients for different physical values.

  1. Number of pulses per minute is always just the number of pulses – a dimensionless value. But if necessary, a conversion or averaging coefficient can also be applied (not considered in this article);
  2. For radioactive source power: CPM * 0.00378 [μSv/h];
  3. For the equivalent dose absorbed by the human body: CPM x 0.00332 [μSv/h], finding the sum of the minute-by-minute values [μSv] for the entire measurement time.

Example for ESP32 + GGreg20_V3 + J305 у ESPHome

# 1. Pulse Count Sensor from a Counter with a 60-Second Measurement Cycle

- platform: pulse_counter
    number: 23
    inverted: True
      input: True 
      pullup: False
      pulldown: False
  unit_of_measurement: 'CPM'
  name: 'Ionizing Radiation CPM'
    rising_edge: DISABLE
    falling_edge: INCREMENT # GGreg20_V3 uses Active-Low logic
  use_pcnt: False
  internal_filter: 180us # for J305
  update_interval: 60s
  accuracy_decimals: 0
  id: my_cpm_meter

# 2. Radiation Source Power Sensor with a 60-Second Measurement Cycle

- platform: copy
  source_id: my_cpm_meter
  unit_of_measurement: 'uSv/Hour'
  name: 'Ionizing Radiation Power'
  accuracy_decimals: 3
  id: my_power_meter
    - multiply: 0.00378 # for J305

# 3. Sensor for Equivalent Dose Absorbed by the Human Body per Hour with a 60-Second Measurement Cycle

- platform: copy
  source_id: my_cpm_meter
  unit_of_measurement: 'uSv/Hour'
  name: 'Ionizing Radiation Equivalent Absorbed Energy'
  accuracy_decimals: 3
  id: my_dose_meter
    - multiply: 0.00332 # for J305

# 4. Cumulative Equivalent Dose Absorbed by the Human Body from Radiation Since the Start of Measurement (i.e., from the Moment of Power Supply)

- platform: integration
  name: "Total Ionizing Radiation Equivalent Absorbed Energy Dose"
  unit_of_measurement: "uSv"
  sensor: my_dose_meter # link entity id to the pulse_counter values above
  icon: "mdi:radioactive"
  accuracy_decimals: 5
  time_unit: min # integrate values every next minute
    # cumulative absorbed dose. Converting it from uSv/hour into uSv/minute: [uSv/h / 60] OR [uSv/h * 0.0166666667]. 
    - multiply: 0.0166666667
    # but if my_dose_meter in CPM, then [0.00332 / 60 minutes] = 0.000055; so CPM * 0.000055 = dose every next minute, uSv.
    #- multiply: 0.000055 # for J305


In this article, we made an important discovery that the coefficients for different tasks for the same Geiger tube should be different. This approach differs from the examples that are given on the Internet.

Although we have already written in passing about different coefficients (see articles on calculating conversion coefficients), in our numerous examples on GitHub , we previously used only one coefficient, because that’s what everyone does.

Now we believe that it is better to calculate a separate coefficient for each sensor entity depending on its type and purpose. Perhaps we will even update the YAML files in our examples on GitHub.

References to other publications and examples

UA: Трубка Гейгера J305: Як розрахувати коефіцієнт перетворення CPM у мкЗв/год. Technical note
EN: Geiger tube J305: How to calculate the conversion factor of CPM to μSv/h. Technical note

UA: Технічна нотатка: Як розрахувати коефіцієнт перетворення для трубки Гейгера СБМ20
EN: Technical note: How to calculate the conversion factor for Geiger tube SBM20

UA: Трубки Гейгера-Мюллера: порівняння SBM20, J305 та LND712
EN: Geiger-Muller tubes: Comparison of SBM20, J305 and LND712

EN: DIY Geiger counter GGreg20_V3 on GitHub

Easy Links

Unique Vendor ID:
User Friendly ID:

Where and how to order

Website Online Shop
Etsy Store
Tindie Marketplace