Geiger counter project using an A-Star 32U4

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:
The inside:
Close-up of the circuit board:

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:

Thanks for posting so many details about your Geiger counter! It is great that you were able to design your own circuit to filter the output. Are you going to use it to detect radiation from a specific source?


I like to give Tom Napier credit for the efficient, low current high voltage source, which he published in Circuit Cellar #184 (Nov. 2005). It was a bit noisy, so I modified the filter and output detection circuitry, and posted it on the Pololu forum some years ago: ATtiny26 Geiger counter schematic and code

The idea for that high voltage circuit seems to go back at least to 1975. Here’s a link: … f=12&t=426

Thanks for posting the link to that very interesting circuit! The two 555-based designs are quite different. Johnson’s (1975) uses a voltage feedback circuit, while the Napier’s uses current feedback. I suspect that Napier’s is much more efficient, because of the relatively large current drawn* by Johnson’s feedback circuit, but the latter is much better regulated.

Of course, the use of a single coil to generate high voltage goes back to the dawn of electrical circuits.

*If R1 = 1 Megohm, the feedback circuit alone dissipates about 62 mW at 250V.