Geiger Counter

A simple Geiger counter with serial output and local display.

Similar projects worth following
This project started back in 2011 in a different form. I was curious whether the background radiation levels were going to increase as a result of the Fukushima meltdown. I bought a low cost Geiger counter kit and built it. The results were pretty disappointing, It was closer to a random number generator than an instrument. The power supply design was so poor that it collapsed completely when the tube conducted, then the switching supply transitions resulted in output counts as the supply recovered. It went in a box until the Fall of 2018, when I had time to design one of my own. The new design has a local LCD display and a serial data output to allow for long term data acquisition, which is the main reason I want this device. I also added a "time between counts" output packet in the normally periodic serial data stream. Using this time value might be a good source of entropy for random number generation.

As you can see from the picture of the testbench for this project, it is buillt in several smaller blocks. I have been building small circuits for a while, as a chance to play with them and learn about better PCB layout techniques. This also results in having small building blocks to create larger projects from. This method also works well for incorporating manufacturers eval boards into a project. Because this project uses high enough voltage to destroy digital boards and tools, I put all of the boards on a metal breadboard setup to keep them from floating around and shorting together. Since this project is designed to go into a fixed location data acquisition system, there is no reason to build all the modules on a single PCB, so it will stay in this format. The completed system configuration will go into a weatherproof polycarbonate box, and the metal baseplate to mount all of the boards to is fabricated.

The modules used are:

1) HV Power supply and Geiger Mueller tube analog stuff.

2) Low pass digital filter.

3) MCU Board.

4) LCD Display and serial backpack.

5) Incoming power filter and pre-regulator board.

6) RS422 driver. May or may not incorporate.

All of the purple (OSHPark) boards in the picture are previous or current projects. Schematics for all of these boards are in the files section.

The Power Supply was the first block built for this project. I wanted a (sort of) high voltage power supply that I could use for other stuff like playing with Nixie tubes or EL wire in addition to this Geiger counter project. I picked the Linear Tech LT3757 chip, running in flyback mode. The output voltage from this circuit is adjustable from about 150VDC to about 425VDC. I have played with driving Nixie tubes with this supply, and it works well in this role.

My first iteration of the power supply board was very close to the LT data sheet design for the LT3757, including the RC snubber on the switch node. Messing with this circuit showed that the snubber was dissipating a noticeable amount of power and had problems with both the resistor and the cap surviving. Replacing the RC snubber with a diode snubber resulted in a much cleaner supply with lower power consumption and less smoke problems.

The Geiger Mueller tube is a metal sleeve (cathode) with a wire (anode) down the center, and it is filled with low pressure gas. When no radiation is being detected, the tube looks like an open circuit from the sleeve to the wire. When a particle of ionizing radiation passes into the tube (through the sleeve side), the gas ionizes and the tube conducts current from the sleeve to the wire. As long as the voltage across the tube is below the "self avalanche" level, the tube will stop conducting after about 30uS. This is an extremely hand-wavey explanation, if you want a better one, see Wikipedia: .

There is a 4.5M resistor between the HV power supply output + and the anode of the tube. A voltage divider between the tube cathode and ground gives an output signal to drive the base of a grounded emitter NPN transistor. The collector of the transistor is pulled up to 3.3V through a 4.7K resistor to give a 0 - 3.3V output signal from the tube. This signal is cleaned up with a Schmidt trigger inverter to give a well behaved logic signal output. One of the things that this project highlighted to me is that resistors have a voltage rating as well as a resistance value. Exceeding that voltage rating will cause bad things to happen!

I went through several iterations of PCB layout to get the flyback converter HV output as clean as possible. There are still some high frequency noise that shows up in the output. A simple 1 bit, digital low pass filter was implemented to clean this up. I though about trying to do this in the MCU software, but opted for the hardware approach.

The digital filter is a simple 8 bit shift register followed by some logic and a...

Read more »


Schematic for UART to RS422 driver board (not tested yet)

Adobe Portable Document Format - 92.26 kB - 09/12/2019 at 19:55



Schematic for power input filter and local regulator. (not tested yet)

Adobe Portable Document Format - 170.76 kB - 09/12/2019 at 19:54



Schematic for SAMD21E18 MCU board with RS232 level shifter and local 3.3V regulator.

Adobe Portable Document Format - 228.42 kB - 09/12/2019 at 19:53



Schematic for digital low pass filter.

Adobe Portable Document Format - 237.14 kB - 09/12/2019 at 19:52



Schematic for HV Power Supply and tube analog stuff

Adobe Portable Document Format - 183.47 kB - 09/12/2019 at 19:51


  • Playing with counter output data

    Bharbour5 days ago 0 comments

    The firmware on my counter is set up to output the number of milliSeconds between count events. This morning, I carved up the parser program to generate a histogram of the time between events from a log file that I captured yesterday. About half of the log file was captured with an envelope of thoriated tungsten TIG electrodes was sitting next to the counter, and the other half is just background radiation level. The X axis is showing the number of milliSeconds between counts, from the minimum to the maximum that are in the capture file. The Y axis is showing the number of count events for that time between counts. There are 500 bins in this histogram, with time between events ranging from 21mS out to 31000mS, resulting in each bin being about 60mS wide. As an example, all of the events between 21mS and 81mS (minimum + bin width) are counted in the first point.

    It has been a REALLY long time since I sat in a probabilities and sadistics class, but I was hoping that the curve was going to be flatter and spread out over a wider area. I suspect that if I had only background levels in the file, the curve would be a little bit more spread out at the low end. I will check this later, and if it is really noticable, I will post more on this.

    9/15/2019 Update, Here is a plot of the count interval histogram with all data from background radiation, the TIG tungstens were are the other end of the house. There are no sources of radiation that I am aware of nearby. The data was collected mid afternoon. The counts/minute were averaging around 26 or so and this is a 3 hour acquisition set.

    Comparing the two plots shows that the background only plot is somewhat wider at the at the low end, but the shape is pretty similar.

  • Connectors arrived today, Tie the big pieces together!

    Bharbour6 days ago 0 comments

    The connectors arrived today to tie the MCU board tothe filter board, and the counter is counting! I am still running the HV supply on a separate power supply until the PCBs show up for the power filter/pre-regulator. Power consumption is about 1/2W total.

    The software is working well enough to get coherent log files through the serial port. Right now, I am running the UART at logic level out to an external logic level UART board until I decide on RS232 or RS422 for the external interface.

    Initial testing on the bench in my shop is showing about 20 - 36 counts/minute and parking an envelope of 35 year old 2% thoriated tungsten TIG electrodes a couple of inches from the tube triples that number.

    So far, so good.

    I also started on the Linux software that will monitor the serial data output stream and log it. That is coming together slowly, as I am still deciding what I want it to do...

View all 2 project logs

Enjoy this project?



Bharbour wrote 6 days ago point

I have heard that it is a good source of entropy. I was playing with the numbers for my implementation last night (when I should have been sleeping) and I suspect that I don't have enough measurement resolution to get much span on these values. Once I get it running, that will be something to look at.

  Are you sure? yes | no

Dan Maloney wrote 6 days ago point

I like the idea of using counts to generate random numbers. I've got a couple Geiger tubes hanging around here - might make a fun project.

  Are you sure? yes | no

Bharbour wrote 6 days ago point

After tying the counter output to the MCU, I have been watching the interval data. Initial tests were done with some 2% thoriated TIG electrodes parked near the tube, just to get higher numbers to see activity. Later, I removed the electrodes and logged an hour ot so fo data at background levels. With the higher count rates, the range of periods was a good bit lower, and the 1mS timing resolution was a little thin. With background levels, it looks like there are 12 or 13 bits of range. I have been logging the raw data, and will do a little analysis in the coming days.

Empirically, the values look to be all over the place, which is a good thing.

  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