DIY Geiger invests a lot time and resources in circuit design, software, and documentation.
The current GK-B5 and GK-Plus schematics are shown below. The schematic for your version of the board is included in Build Instructions download.
Click on the schematics to open them in a new window.
Below is description of each section of the Geiger board.
For the HV circuit I owe thanks to Tom Napier who published the original circuit in Nuts & Volts in the January 2004 edition. Also thanks to Jim Remington who added his adaptations to it in this Pololu forum post. This is my attempt at describing it, but I am not an EE, so there could be minor misstatements. If you find a mistake, let me know.
This type of circuit is a kickback HV generator. An old idea from the tube days, updated with modern components, as I understand it.
The output of the 555 is on for between 30 - 200 uS - depending on the voltage set by R5, (~75uS at 500V). The off time (and therefore frequency) is controlled by R1 & C2. R1 will discharge C2 until a low is applied to the 555's TRIGGER which sets the OUTPUT high. The off time was selected for good HV output along with good battery life. In general the frequency is around 3.4kHz.
When the 555 OUTPUT goes high, C2 will quickly charge back up via R3 and D1. Q2 also turns on, which allows current to flow from L1. Current rises at a rate of about 1mA/mS. After about 25mS the drop across R5 will turn on Q1. This sets RESET low, and turns off the OUTPUT. The DISCHARGE pin will also go low which insures Q2 turns off quickly.
During the on pulse, the 1mA/mS creates a 1/2 sine wave about 25uS long and >400V high. This is passed by D2 to the storage capacitors C3 & C4. Note that the value of R5 determines when Q1 will turn on and thus the width of the pulse, and thus the voltage.
To summarize how the HV circuit self regulates . . .
"The output voltage is directly proportional to the peak inductor current and is independent of battery voltage. The peak current is stable, apart from a slight temperature coefficient, so the circuit maintains a constant output without feedback from the output" Tom Napier
I tested the regulation of the HV circuit by varying the input voltage from 3.0V to 6.0V while measuring the high voltage. The high voltage only varied by 5V throughout this range. More importantly, at a stable 4.5V, the high voltage only varies by a volt or two over time. All this without a single zener! Since GM tubes are not fussy about their exact supply voltage, the self regulation of the HV circuit is more than adequate.
I have experimented with different parts / values for Q2, D2, L1, and R1-R4. Changing Q2 and D2 to better specs then the original design gave increased HV, increasing L1 from the original 10mH to the current 15mH added about 100V to the maximum HV that can be produced by adjusting R5. The most recent circuit puts out about 1kV max.
(Note the CV pin on the CMOS 555 does not need tied to ground with a capacitor as the bipolar 555s do.)
[Jan 2012] I have experimented with adding a Villard cascade voltage multiplier to the HV circuit. The result was and increase in HV to over 1850V. If you need that higher voltage, I have a schematic here that should get you started. Please note that this mod has not been "field tested" so it's not supported so you're pretty much on your own. Using the the voltage multiplier may cause arcing on the Geiger board - especially when it is running without a load.
[Aug 2013] The STX13005 HV transistor (Q2) is hard to find. I've experimented with a substitute - the STN0214. It's a SOT-223 SMT package, so it takes some creative soldering. However it has better specs and will increase the max HV to > 1200V. I found that reducing the bias resistor (R2) to 330Ω helps achieve this maximum. Note that this transistor seems to increase the power consumption by ~9 mA over the STX3005 for a given voltage. This image shows how it is mounted.
GM Tube Section:
The high voltage is fed to the anode (+) of the GM tube through a 5.7M resistance from R6 & R7. The cathode of the tube is set to ground through a voltage divider R8 & R9. When a particle (beta) or a ray (gamma) passes into the tube the avalanche created causes a "short" inside the tube. The momentary conduction of the tube is felt across the voltage divider and turns on Q3. This causes C6 to create the pulse (~150uS/count) that is the interrupt that is sent to the ATmega. The program captures the falling edge of this interrupt to register the event. [4/4/14] In my tests, a 750mVpp pulse from the tube will trigger a count.
Interrupt at INT jumper
Note that the signal is picked up on the cathode side of the GM tube. This is called "cathode sensing". There are advantages to this method which are discussed in this document (~p19). However it means that the negative side of the tube is not at ground potential which is desirable in some cases.
I have tested a few circuits that convert the kit to "anode sensing" which allow the anode side of the tube to be at ground potential. A quick and dirty solution is this circuit. (Pulses are negative but it still works.) A better approach is this circuit which also works with some high resistance scintillation probes. Note that these circuits have not been field tested much, so no guarantees.
Click and Flash Section:
Note: Beginning with v5 of the PCB a speaker is used in place of the piezo. This provides a more classic Geiger 'click' sound. Those with previous versions of the board can do a relatively simple mod described on this page to support the speaker.
The output pulse from Q3 also goes to first inverter of the Schmitt trigger hex inverter (IC2). Another inverter is used to create a ~2kHz oscillator (a 3.5kHz oscillator was used for the resonant frequency of the piezo) using C8 and R14. A nand gate created by R13 and D5 combine the event pulse with the oscillator. For the speaker, two inverters are used in parallel to provide the highest drive. (For the piezo, one leg is sent through a second inverter. Inverting the other leg of the piezo as compared to simply connecting it to ground, causes the maximum deflection of the piezo and also increases the sound level.)
The ATmega is supported by a 16MHz crystal, a Reset button, and a reset signal (via C23) from the FTDI connector. The interrupt signal is sent to I/O pin "D2" through a jumper. The jumper allows the processor to be totally independent from the rest of the board if necessary.
The sketch counts these interrupts. The sketch has been designed not to miss any interrupts. Replacing the GM tube with a 1kHz signal generator displays counts of 60,012 CPM which is 99.98% accurate.
Maximum Counting Ability & Accuracy
The 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.)
The current drawn by the kit depends on several factors such as the HV setting, jumper settings, display type, CPM, and the version of the kit. The current measurements below were taken on the kit with PCB v5.1.