This page provides links to downloading the software for the GK-B5 kit., and describes certain properties of the software in general.
Changing the Software If you're familiar with Arduino then you probably know all of this.
The program ("sketch") that is pre-loaded on the Geiger kit's microprocessor has evolved to provide good functionality for most users. However, you may want to load the latest software on your kit, or even enhance or modify the default sketch.
The software is based on the Arduino. This is a development environment for microprocessors. The Arduino environment makes it easy to program the Atmega328 microprocessor that is on the Geiger board. It includes an "IDE" that lets you write, compile and upload your code to the chip from your computer. Best of all, the whole thing is free, open source. You will find tons of information on this, but you should start here.
I have made step by step instructions on installing the Arduino IDE and uploading new software. You can get it here.
USB to Serial adapter (aka FTDI cable):
The connection between your computer and the Geiger kit is made through a USB to serial adapter (dongle). These are sometimes referred to as an "FTDI cable or board". One end plugs into USB on your computer and the other end plugs into the FTDI connector on the Geiger board. On the computer side it makes a virtual serial port, and on the Geiger board side, a TTL level serial. Drivers must be loaded for your OS. On Windows they are generally installed automatically.
These adapters allow you to do two things:
There are a lot places to get these. Sparkfun makes a popular FTDI board (my preference). If you want a very low cost board, this one on eBay works for me. Rather than a chip made by FTDI it uses a CP2102 and requires different drivers. There are no Tx & Rx activity LEDS and you have to modify the pin outs a bit if you want to use it to upload programs, but it works with the Arduino and Geiger Kit. (Be sure to get one that supports the RTS line if you are going to use it for programming.) Here is a connection diagram for that particular board.
Note: When you use a USB to serial device that also supplies power to the board, it's not a good idea to also power the board with batteries at the same time. I've made this mistake with no apparent harm, but normally, I just plug the cable in with the battery disconnected and it powers the whole board.
About Conversion Rates:
Regarding the conversion from CPM to uSV/hr, information on the web varies widely on the ratio between the two. In addition, the rate varies with the tube. To handle two of the most common tubes, the SBM-20 and the LND712, I allow for 2 conversion ratios. Jumpering I/O pin 9 selects the second rate (for the LND712).
As for the ratios themselves, I have used the most widely accepted ratios for each tube. There is alternative ratios that come from here and here. These sites show how they are derived from the datasheets for the tubes. These ratios are simply listed in the comments in the code as an alternative - for those who wish to modify the sketch to use them.
Personally I feel that comparison between users is more important than an absolute value. Since the first set of ratios seems to be the most most widely used, I used them. I also feel that the difference between the two is probably smaller than the amount of error inherent in any conversion between CPM and a dose unit. For any conversion, I make no claims
[5/23/12] Something that makes sense about calculating conversion rates. Thanks to Mike M. . . .
[10/25/12] Someone found a good piece of information (thanks Rick!). In the process of actually calibrating an SBM-20 with a lab sample of Cs-137, the conversion ratio turned out to be 65% to high based on the expected dose-rate. It turned out that this is related to the fact that ratio is derived from Ra-266 and Co-60 which are the only only two isotopes specified for most Russian tubes.From several sources, he found that "The energy response for a GM tube will always be different for Cs-137 compared to Co-60, so an instrument will always show a higher reading at Co-60 energies compared with Cs-137 energies for a given dose rate." and also found that the value for this difference is 65.5%. (I don't have his sources at this writing.)
So, using Co-60 only for the SBM-20, rather than averaging Co-60 and Ra-226 as above, we have 22 cps X 60 / 8.77 = 150.51 CPM/uSv/hr
To calibrate for Cs-137 multiply this Co-60 ratio by 65.5% - 150.51 x .655 = 98.58 CPM/uSv/hr. This would be the ratio to use for Cs-137 samples.
(Plugging in this ratio reportedly gave him readings of within <1% of measurements expected in his lab test.)
Note that since 2 ratios are selectable in the SW, you could use the 174.46 ratio for Co-60 and Ra-226 samples and the 98.58 ratio for Cs-137. I would also expect the 65.5 difference would also apply to other Russian tubes that are only spec'd for Co-60 and Ra-226. Nice finding!
[3/25/13] The version 10 software with optional IR remote menus now give you the ability to change the ratio without recompiling. You can also set the ration to correspond with uR/h or mR/h dose units if you wish.
Maximum Counting Ability & AccuracyThe maximum CPM reading is partly dependent on the software's ability to handle the interrupts coming from the Geiger tube. (The tube's specs, and capacitance in the circuit are other factors.) In practice, I've seen counts over 300k CPM with good pancake GM tubes and just over 1 million CPM with a scintillation probe attached. However, I wanted to run some tests to simulate much higher counts without becoming a crispy critter.
For the test, a signal generator (made with an Arduino sketch) was attached to the cathode side of the GM tube terminal block. This seemed to be the best place to simulate counts since it's the same place where the cathode of the tube would be. (Remember, the kit uses "cathode sensing".) The sketch for the signal generator outputs a square wave with a 10% duty cycle at various frequencies.
The end result is that the Geiger kit displayed accurate counts at 100 kHz and no counts at 125kHz, so the maximum is somewhere in between.
100 kHz gave readings around 6,000,954 CPM (100,016 CPS). This is much faster than the fastest GM tubes (about 40kHz). So 6 million CPM with very good accuracy is pretty impressive for ability to count. That's about 34,207 uSv/h, or 34 mSv/h if it came from an SBM-20 tube! Nothing I'd like to see for real.
A caution however, is that results using an actual GM tube will be far lower than this result.
The current sketch was also tested for counting accuracy. Replacing the GM tube with a 1kHz signal generator displays counts of 60,012 CPM which is 99.98% accurate. (Assuming the signal generator was 100% accurate.)
This is about as far as I'd like to go regarding the subject of software. My sense is, that for some, the Geiger board may be an introduction into the whole world of microprocessors. I am truly happy about this, but if you need answers to questions about programming, adding new devices (WiFi, SD cards, etc.), and the like, your best bet is to use the Arduino forum.
Finally my apologies to the AVR Freaks out there, many of whom are sick about hearing about Arduino. (Although you're too smart to be reading this far anyway!) Just to say there are other ways to work with the Atmega328 on the Geiger board besides Arduino.
Here's a really old video that shows communication between the Geiger board and the computer . . .