Geiger counter w/ Raspberry Pi Pico

Radiation measurement device

Similar projects worth following
The technical concept for this radiation measurement device is copied from biemster's project.

There are some conceptual drawbacks here, for there is no control loop for the HV (can be critical with higher counting rates).

I use the Raspberry Pi Pico µC for prototypes, so connecting the device to the Internet will briefly be discussed but is basically beyond the project scope (for the Pico has no WiFi capabilities per se).

1. Prototypes

Current status as of June 25, 2022

Geiger counter LCD/Buzzer version (note: video has English subtitles).

Status as of May 1, 2022

Geiger counter LED/Speaker version (note: video has English subtitles).

2. G-M Tubes

For registering pulses by the counting system proper working conditions have to be established. That means in practical terms generating a tube voltage within the Plateau area.

Beyond the "Knee" all pulses should be counted. Below the starting voltage, no pulses should be counted at all.

SBM-20 (or STS-5)

As far as I know old USSR stock. Can detect only Beta and Gamma radiation (note: for Alpha you need special design tubes). Technical data:

SBM-20_GER1.pdf (

I paid around 30€ including shipment from a seller in Bulgaria (tubes from Ukraine or Russia are not easy to get at the moment, you guess why).


Far less sensitive than SBM-20 (or any other tube available), but okay for first tests and easily available in Germany. Can detect only Beta and Gamma radiation. 

Below copy&paste some of the tube's technical data (according to the distributor; as of March 2022, the price was 15€):

  • starting voltage 280…320 V 
  • working voltage 390 +/-10 V 
  • dimensions (length*diameter): ca. 65*7.5 mm

3. Emitters

To test the viability of the assembly I use small pieces of Uranium glass that can be bought in online shops (for obvious reasons this matter doesn't radiate intensely).

Natural radiation is detected about 20 cpm with the most recent prototype and STS-5 tube (in 49°46' N, 11°12' E).

4. Program development

A MicroPython program is quite short if it's just about the PWM- and HV-generation, respectively:

from machine import Pin, PWM
pwm = PWM(Pin(13))  # pick your GPIO
pwm.freq(1250)  # PWM-frequency in Hz (empirical)
pwm.duty_u16(55000)  # duty cycle (empirical), 16bit (0-65535)

C code would be a little longer here, by and large it's equally easy to implement.

As to first prototypes, a radiation source nearby is either displayed visually in a simple manner (5mm LED) and/or via clicks (speaker), realised thru an "outer electronic path" (see paragraph "Schematic"). 

But as we have a µC connected there exist more clever ways to handle measurement data. Triggering an IRQ for that matter is probably the most pragmatic way for a pulse (gas discharge, i.e. counting event) has a duration of about 0.3 ms (in my github repository you'll find complete working examples).

Conveniently, the Pico SDK also provides libraries for the most common types of displays (OLED, LCD).

5. Schematic

VBUS = +5V (Pico Pin 40). Using the 3.3V from Pin 36 would be the 2nd option here.  

Diode prevents immediate discharge of the capacitor and tube voltage is building up quickly. The coil voltage peaks into the double, then triple digits every time the transistor cuts off (see paragraph 6, "Simulation"). 

In this simple design there is no control loop for the tube voltage what can be a problem.

An LED is good for a first test. I suggest putting in a 10 kOhm resistor in the "outer path" when you want to do (connect) something more fancy (but consider supplying this path with 3.3V then, especially when you have a GP port connected).

Upper limit of the PWM frequency is a few kHz: around 2 kHz the HV is starting to drop considerably (I got the hint that the diode is to blame for this).

(note: MPSA42 changed to MPSA44, see comment section)

6. Simulation

Analog circuitry is easy to simulate (here I use MapleSim). It gave me more insights about the principle of the voltage generation (self-induction) and will be used for ensuing designs. 

7. EMC 

Air wirings behave like an antenna and should be avoided for future prototypes. A ground plane for a PCB design is mandatory.

8. IoT (Internet of Things)

As mentioned...

Read more »

Buzzer module (active).pdf

Data sheet Buzzer.

Adobe Portable Document Format - 526.54 kB - 06/25/2022 at 18:52



Data sheet Diode. Reverse Recovery Time: ca. 2µs

Adobe Portable Document Format - 158.71 kB - 05/02/2022 at 05:18



Data sheet Transistor

Adobe Portable Document Format - 121.79 kB - 04/14/2022 at 13:48



Data sheet Transistor

Adobe Portable Document Format - 183.00 kB - 03/04/2022 at 06:30


  • 1 × Raspberry Pi Pico µC
  • 1 × Z1A tube Counting tube
  • 1 × MPSA44 Discrete Semiconductors / Transistors, MOSFETs, FETs, IGBTs
  • 1 × BC337 BJT; similar type possible
  • 1 × Resistor 240 Ohm BJT base resistor

View all 17 components

View all 2 project logs

Enjoy this project?



tormozedison wrote 05/24/2022 at 19:22 point

The counter on some of your photos is not SBM-20, but STS-5, an older version with similar specifications.

  Are you sure? yes | no

Florian Wilhelm Dirnberger wrote 05/25/2022 at 04:06 point

Ah, you are apparently right. Then the seller from ebay kinda cheated me :-D. I will add a note on this project page.

  Are you sure? yes | no

tormozedison wrote 05/25/2022 at 06:26 point

I won't call it cheating, STS-5 is more vintage and therefore rare.

  Are you sure? yes | no

Nazwa wrote 04/17/2022 at 17:22 point

this will be working with radioactive @home?

  Are you sure? yes | no

biemster wrote 04/07/2022 at 12:43 point

Nice! I've been looking to revive the project you've based this on, so if you find improvements over that previous schematic please add that to the logs!

  Are you sure? yes | no

Florian Wilhelm Dirnberger wrote 04/07/2022 at 12:49 point

Hi :) hope your project gets en route a little boost in attention as well.

  Are you sure? yes | no

Florian Wilhelm Dirnberger wrote 04/04/2022 at 15:22 point

Thanks Alan for your comprehensive answer. You spotted a flaw in the design that wasn't really obvious to me. I'll try out different transistors in future prototypes.

  Are you sure? yes | no

agp.cooper wrote 03/31/2022 at 04:36 point

Does not work that way. Your particular transistor is breaking down at 400v.

Providing the power is low, it should not hurt the transistor.

Better if you used a voltage doubler or a transformer.


  Are you sure? yes | no

Florian Wilhelm Dirnberger wrote 04/02/2022 at 17:25 point

What exactly is the problem with the µC/transistor combination for I can effortlessly diminish or increase voltage by changing duty cycle and frequency via SW.

  Are you sure? yes | no

agp.cooper wrote 04/04/2022 at 12:32 point

Hi Florian,

I had a closer look at the CE breakdown voltage and I see it is rated at 1mA. This means the transistor parameter is for avalanche breakdown mode, so yes the zero current (peak) breakdown would be higher, as you have found.

So what is the problem? Basically you are operating the transistor in an area of its operating envelop that has not been defined.

Often a MOSFET is used in this application. One reason is that the breakdown voltage is better defined and the maximum "inductive power" the transistor can absorb is stated. For an IRF470 it is 500v and 30 mJ. So providing you dissipate the power there is problem operating in avalanche breakdown.

So at some point above the 300v the MPAS42 transistor will go into avalanche breakdown mode. Your circuit will need to limit the power to some unknown amount.

That is why I don't like this type of circuit.

If you use a diode double then avalanche  breakdown will not be a problem. 

Regards Alan

  Are you sure? yes | no

agp.cooper wrote 03/26/2022 at 10:34 point

I doubt you will get 400v to 500v from this circuit as required for a geiger tube to operate.

The breakdown voltage of the MPSA42 is only 300v. 

Circuit simulators do not always model transistor breakdown voltage. 

  Are you sure? yes | no

Florian Wilhelm Dirnberger wrote 03/26/2022 at 10:55 point

Yes you are correct. MPSA44 would be better but wasn't available for my first prototype. Next prototype will have different transistor.

Edit 03.04.: Carried out a further measurement. MPSA42 works even with >400V since that voltage is actually (i. e. steady-state) present on the cathode of the diode, not on the anode. I am gauging some 400V, what is the voltage's under limit in any case (oscilloscope with probe has 10 MOhm impedance). 

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates