Sunday, February 28, 2010

Geiger Counter - Part 1

[Edit 4/10/11] This project is now available in kit form - with PCB and parts. Please click here for more information.

I guess I'm a "metroholic".
I've always been fascinated with measurement tools, so building a Geiger counter seemed like a logical thing to do. I will describe the build process here - even though the Arduino only plays small part, and that only a truly sick person (which I guess I am) would consider a Geiger counter as part of a Home Automation project.

"All work is derivative" and I owe the basic HV circuit to Jim Remington's Pololu article (where he mentions he derived the circuit from Tom Napier). To this, I contributed a nice "click" circuit, but more importantly, the sources, tips, and background that is helpful when building your own.

If you don't have a Geiger tube laying around in your junk drawer, you will have to order one. But the important thing is that you can build and test your circuit while you are waiting for that package from Russia.

The Geiger tube I settled on was the SBM-20. I ordered mine on eBay. You can also get it at the Electronic Goldmine (and even a whole kit). Later, I found this source for all tubes Russian, (and the best specs and prices on Geiger tubes). I am very happy with the SSBM-20. I originally tried a smaller glass tube - the CI-3BG - but found it much less sensitive - especially to beta particles.

There are 2 types of tubes. Those that have a mica window are the most sensitive. They will detect alpha and beta particles as well a gamma rays. Because of the mica, they are more fragile and generally are more expensive. The other type, like the SSBM-20 which I used, have only the metal jacket. They will detect gamma rays (the most penetrating) and some beta particles (more easily stopped). Considering the SSBM-20 is all metal, it does a good job with beta - as long as you put the sample right on the tube. Uranium is a big beta emitter, so some sensitivity to beta is a good thing.

As far as the circuit goes, you'll find several types on the internet. (One I also liked is here.) The first circuit I tried used a 1:1 transformer, but I preferred to go with a simple inductor instead. I also liked Jim's circuit because it works with a range supply voltages and uses very little current from the battery. Originally, I wanted the Arduino to be the oscillator instead of the 555, however, later I decided that I preferred the Geiger to run independently, and use the Arduino only for counting and display purposes. For the audio output, I had a good time designing my own based on what I learned on-line.

OK, you've been patient, here's the schematic . . .

On the left is pretty much Jim's circuit without the extra HV shutdown transistor. The 555 is used in an unusual way - it varies the duty cycle based on the input voltage. I tested 4-9V on input. The oscillator (~4KHz) is used with the inductor as a charge pump.

Q2 and D2 are the only critical type components. Q2 must be a high voltage transistor - the MPSA42 is a common type and works nicely. D2 is a "high efficency" or "ultra fast" diode. A regular diode will not work. On the schematic, I have listed some substitutions I've tried that worked. You might find a diode of this type in a PC switching power supply. R7 adjusts the high voltage, and seems to be pretty touchy about it's value - too low or too high and no HV. I bought most of the parts at Electronic Goldmine including the inductor.
[Edit 4/2/11] Also note that I used the CMOS version of the 555 timer - TLC555CP. If you use the bipolor version (uses more current) LM555 or NE555 you will need to adjust some values.

I labeled a HV Test Point. You want about 500VDC through the tube. But here's the rub, it's only a few micro amps, so most DMM's will load the circuit too much to measure it. If you measure around 200VDC you're doing fine. Don't even bother trying to measure across the tube - the 5.7M will drop everything.

Another tip is that the Geiger tube won't work if you leave your DMM connected to the HV test point. In short, you need a very good DMM or faith.

Finally, I wouldn't advise soldering leads directly to the ends of the tube. You run the risk of loosing the vacuum or otherwise damaging the tube. Use some sort of clip, or wrap several turns of wire around the ends.

While waiting for my tube, I tested by touching the wires that would go to it. (Two fingers on the same hand.) It's 500V but just a tiny amount of current. I could not even feel the voltage, but heard the click and got the interrupt. For obvious reasons, I can not recommend this procedure, and I'm just describing what I did. 

You will probably need to tweak the click circuit based on what type of "click" you like, and the resonant frequency of your particular piezo. R14/C7 controls the length of the click and R15/C6 controls the frequency of the click. The phase inverter (IC2B and IC2C) is used to get the most deflection out of the piezo and hence the loudest sound. For the inverters, be sure to use a logic family that provides enough current at the outputs. I had bad luck with the "LS" family and used the "ACT" family (i.e. SN74ACT14N) but the "HC" family should  also work (i.e. 74HC14N).

Once the circuit is built it's fun to play around with. With mine, I get around 35 CPM (Counts / Minute) background - a basement in Colorado, probably with Radon gas. Of course you will likely tear open a smoke detector and get the Am241 pellet out of it (600 CPM) and buy some Uraninite on eBay (350 CPM). [Edit 11/2010: Just tested some lantern mantles (Thorium-238) I got from this guy - got up to 6000 CPM.] The entire circuit consumes less than 3mA @ 5V in normal background.

The interrupt (before D3) goes low for about 150uS for each event. I made a simple Arduino sketch to count the events and calculate CPM. You can download it here. Later, I'll involve the Arduino more - building it into the case, and running a little 8x2 LCD display. Note that the Geiger counter module is totally standalone, so you can stop with that if you want.

For Home Automation, I picture it sitting on my roof with a CM17A periodically transmitting the current background radiation to the Nex10 box in my house (similar to the Wireless Temperature Transmitter). Then, if the radiation exceeds a threshold, I can dim the lights in the living room!

See Part II post above with added MCU board, display, and finished enclosure. But here is an intermediate step with just the Geiger circuit in a case . . .

A quick movie in it's intermediate state . . .


  1. Very interesting project. Congrats!

  2. Nice, been wondering about making one for a while. Now I know I can use the SSBM-20 and still get background readings.

  3. Do you have a part number for the piezo that you used?

  4. I think this is the piezo I used . . .
    But it's not critical component - anything similar should work.

  5. What should I look for in the inductor to use? The inductance should be 4.7 - 10 mH, what about the maximum current? (I have no experience with inductors what so ever).

  6. I have found an inductor that will fit my enclosure, but is has 4 pins. Will this be useful?

  7. All I can be sure of is that the inductor I linked to works. As far as current, I'd guess (judging by the wire gauge) it's rated at more than you'd need. The HV circuit generates little current. But I don't have a lot of experience with inductors either. No idea about the 4 pin one.

    If it were me, I'd try to get the parts suggested - especially the diode, transistor, and inductor. Picture it not working when you first apply power. How many things would you have questions about? Keep these potential questions to a minimum. Once you have it working (on a breadboard) then you can experiment with different parts.

  8. Can you please show how to attach your PCB to the LCD display,in your schematic I could not find the LCD or it's circuitry in it and which LCD do you use in particular? Shure electronics has several LCD's. What is the part #? Have you thought to use other LCD's to add milisievert reading? Can I use other type of GM tube with mica screen?

  9. David,
    The project described here shows how to interface the Geiger counter circuit to a standalone Arduino. The LCD interfaces to the Arduino. Once in the Arduino world you have many options on what LCD to use. Easiest is any Hitachi HD44780 compatible LCD. I show the connections I used between the LCD and Arduino in the source code header.

    The output is in counts per minute. I think in order to convert that to mSv you need a calibration source and it depends on the GM chosen. I'm thinking about taking a guess at it, but without a calibration source I have no idea how close my guess is. If you have ideas on this let me know.

    I can't tell you if the tube you mention would work. If it's operating voltage is around 500V, it should.
    Hope this helps.

  10. hello BroHogan, i ve used your fine script to build my own counter. thank you!
    you can watch my project 'reichsgeiger' on my blog
    it works with a 20x4 lcd, bluetooth and some other features.

  11. Andreas,
    You're very welcome. Glad it helped. Very nice job on your Geiger. Major case, and features. I like the bluetooth for logging.

    I added a logging script to the Geiger Kit. In case it's helpful, you can get it here . . .

  12. Hello i have only NE555N timer what i must change in shematic to use this timer?
    And what difference beetwen NE555N and CMOS wersion TLC555CP?

  13. I haven't tried this myself so I don't know for sure. But look at the comments in Part 3. Someone says what they did - although it wasn't completely clear.

    The difference is that one uses CMOS types of semiconductors inside the chip and the NE555 uses bipolar. Best to Google if you want a better answer.

    I'd suggest getting a CMOS version though. Radioshack sell them if you live near one, but they are not that hard to find. There are several other part numbers for them.

  14. Hi!

    I've got tons of 8-pin PIC chips which would act very well as a dedicated PWM pulse generator, and probably remove a lot of the discrete components. Any way you could post a sketch of what the HV generator would look like with a MCU driving the pulse?


  15. Sorry, you'll have to do your own design work on that. Though it should work, I wanted to keep the MCU out of the picture of HV side.

  16. Nice article.

    I made a similar construction of a Geiger counter, I tried 555 timer (but without feedback of the output voltage), but the voltage drifted over time.

    Finally I've used MC34063 chip (DC/DC converter) and it was fine.

    Power consumption of your design is very nice, 3mA, that's a nice result, mine is 10x bigger at the same voltage.

    If anyone is interested, her's a link to my counter:

    1. Hi Robert,
      Interesting circuit. I have a few questions.

      Does the feedback just stabilize changes in battery voltage or does it also stabilize the HV during high counts?

      Why did you choose an op amp instead of a comparator?

      Does the noise come from the MC34063? On your scope shot it looks like it's almost the same amplitude as the pulse.Does the op amp remove it?

      Thanks for your post. Good luck with your counter.


  17. Nice build. I've already bought the parts in order to build this,but before I start, I want to clarify something. In your schematic, the input voltage written as 9V, but in your pictures, you use 3 AAAS for a total of 4.5V. So what is the input voltage?

  18. Input is 4-9V as shown on the schematic. Since there is no microprocessor involved it's not critical.
    Note this project is ancient.
    See for the current.

  19. Sorry to disturb you again, but I have a question concerning this "ancient" project. So I built the circuit and it works. (Yay!) However, the circuit emits a high pitched drone sound while in operation. Link to a video in operation:
    What could the problem be, and how could I fix it. Thanks in advance.

  20. Maybe you're using an "active" piezo? One that has it's own oscillator built in - so if you connect it to a battery it makes a tone.
    If so you need a "pure" piezo - without the osc.
    If not it could be lots of things.

  21. Maybe you're using an "active" piezo? One that has it's own oscillator built in - so if you connect it to a battery it makes a tone.
    If so you need a "pure" piezo - without the osc.
    If not it could be lots of things.

    1. Thanks for your quick reply. The piezo is an "active" piezo, which solves my problem. Thanks once again.

    2. Got it working:

    3. There you go. Aces!
      That's one interesting looking piezo!

    4. The piezo came with a crystal radio kit back when I was just getting started in electronics. Thanks once again.

    5. Also for anyone else attempting to make this, a regular speaker will also work if a piezo is not available.

  22. Hello, I am sorry to bother you, but I seem to have difficulty in getting the Geiger Counter Circuit to work. I've attempted to construct the circuit multiple times, but they all seem to fail to function properly. The only success I've had is with making the circuit on breadboard. The circuit worked flawlessly on breadboard, but when I attempt to construct the circuit on a more permanent layout such as perfboard, the circuit fails to work. In my attempts, the high voltage section opt the circuit works, with y DMM measuring ~200V across the GM tube's connectors. However the circuit fails to make clicks or flashes of light when a test source is brought near the GM tube. Additionally, connecting an MCU with an LCD and code from your DIY Geiger kit website displays 0 CPM. However shorting out the GM tube connectors triggers a click from the piezo and a flash of light from the LED. I have constructed the circuit multiple times, on various types of perfboard and even a DIY PCB. However the circuit fails. Would you be able to provide a potential solution based on the information I have given? Many thanks

    1. That's a weird one. By your own description it would seem that you have an error that you are repeating when you transfer from a breadboard to a perfboard.
      However you say it works when short the tube.
      First I would try making sure your perfboard / PCB is clean and that you have it on something really non-conductive. Then I'd try increasing the HV. With a low signal, you should see counts on the display even before the click and flash.
      Meter out all the pins 74ACT14N with what is expected in the schematic. If you have a scope use it.
      You may have some HV leakage or a wiring problem. The circuit works best with a CMOS version of the 555. Use your finger instead of a direct short. If you get counts, maybe your tube died between the breadboard and the perfboard.
      That's all I can think of.

  23. Thanks for your response. I'll implement the suggested actions and hopefully the circuit will work.

  24. The link for the Eagle files is not working.
    Is it still posible to get these files?

  25. This comment has been removed by the author.

  26. This comment has been removed by a blog administrator.