I recently finished building a Geiger counter, and near the end of the project I discovered Pololu's A-Star 32U4 microcontroller, which I used to replace the Arduino Micro that I originally used in the circuit. (Thanks to Claire in Pololu technical support for suggesting I post this here.) I found that the A-Star uses about 15 milliamps less than the Arduino Micro, and that's important because I power the circuit with a 4.5 volt battery pack consisting of three 1.5 volt AA cells. Not only that, but the A-Star is about half the price of an Arduino Micro. The switch from the Arduino Micro to the A-Star was very easy -- I simply uploaded my Arduino program, totally unchanged, onto the A-Star, and switched the positions of the connections to the microcontroller.
Here are links to pictures of the finished Geiger counter:
The outside: https://dl.dropboxusercontent.com/u/97098121/The%20outside.jpg
The inside: https://dl.dropboxusercontent.com/u/97098121/The%20inside.jpg
Close-up of the circuit board: https://dl.dropboxusercontent.com/u/97098121/Close-up.jpg
Here is a link to the circuit schematic:
For the power supply, I'm using three 1.5 volt AA batteries in series connected to a Pololu S7V8A step-up/step-down voltage regulator to stabilize the supply voltage at 4.5 volts. 4.5 volts powers everything -- the circuit, the LCD display, and the A-Star via its USB micro connector. (Note: the display I'm using is a SparkFun 20x4 serial LCD, and to run correctly at 4.5 volts its brightness must be turned off (set to zero).)
Instead of the LND 712 Geiger tube pictured in the schematic, I'm using an LND 7313 tube (which is the same as the more common LND 7317 tube, but has a different form factor). The 712 and the 7313 run at the same voltage, 550 volts. For the 7313, R7 should be 4.7 megohms.
The circuit has two main sections, a high voltage section and an output section. The high voltage section I adapted from various sources on the internet. The main change I made was to use an STX0560 transistor, which increases the maximum voltage the circuit can generate to over 1100 volts (some Geiger tubes require 900 volts or more). The voltage is set by adjusting the variable potentiometer, R5.
When the Geiger tube detects radiation (in the form of an alpha particle, beta particle or gamma ray), a very brief and very low resistance ionized path (basically a wire) is created between its anode and cathode in the gas in the tube. Much of the output side of the circuit is my own design, and it shapes pulses coming from the tube into clean, very narrow (about four microseconds wide) rectangular pulses that it sends to an interrupt line (pin 3) on the A-star. Here is a link to a picture of the pulse it sends:
To display the count results, the A-Star is connected to a SparkFun 20x4 serial LCD display, via pin 2 of the A-Star. Each minute, the A-Star displays the number of Geiger tube counts for that minute, a running average of the counts per minute, and the maximum and minimum number of counts per minute that have occurred. It also converts these average, maximum, and minimum counts to microSieverts per hour and displays those. Here is a link to the Arduino Micro/A-Star Arduino program: