Check out the video to see what I mean.
From a technical point of view this project has a few interesting aspects.
- Interfacing a custom circuit with an existing circuit board
- Capacitive touch controls
- 7-segment LED display
- Customising microcontroller software
It's only been roughly calibrated. But the circuit is robust enough to be pretty accurate with proper calibration and perhaps some tweaks to the software.
Step 1: Materials and Tools
- This DIY geiger counter. It's not cheating. There is no point reinventing the wheel! This is a great circuit, already tested and works very well. What is really useful is that it incorporates an ATMega328 microcontroller (it has an Arduino built in). I will be running my own customised code on it.
- A Geiger–Müller tube. This is the sensor that actually detects radioactive particles. These can bought on ebay. I recommend either an SBM-20 or SI-180G. They are especially sensitive to gamma rays and are relatively cheap. In fact, for this project I used one of each in parallel.
- Project box. A nice box to hold everything makes a big difference. I used the biggest size of this. It is the biggest one I could find at a reasonable price that looked alright. It was a wee bit small though and required a bit of creativity to fit everything in!
- 2mm clear acrylic sheet. Often known as perspex this is the "screen" of the geiger counter. The touch switches are hidden underneath.
- Overhead projector transparency sheets. The interface graphics are printed on this and then laminated to the acrylic. I also use these for the method I use to make the circuit board.
- Electronic components
- 5mm LEDs: 9x red, 4x white
- Resistors: 2x 82Ohm, 1x 100Ohm, 5x 220Ohm, 1x 6.8kOhm, 1x 22kOhm, and 4x 10MOhm
- 1x 10kOhm trimpot
- PCB single row headers (male and female)
- 1x Maxim MAX7219 LED display driver
- 2x 4 digit 7 segment LED display (common cathode, 0.36")
- 1x slide switch. This is the only mechanical switch used to turn the device on. I salvaged mine from an old digital photo frame as it had a nice cap on it.
- 1x 9v battery and holder
- thin single core wire to use as jumpers on the circuit board.
- general purpose wire for connecting geiger tube and battery to circuit
- 2x PCB mount screw terminals (for power)
- fuse holder (to attach to geiger tube terminals)
- dual-layer blank PCB for our circuit board
- single-layer blank PCB to make touch sensors
- 1x 0.1u capacitor
- 1x 24 pin IC socket
Step 2: How Capacitive Touch Sensing Works
How it works is there is an input and an output with a resistor and a conductive plate or foil between them. A voltage is applied to the input and the time taken for the output to reach the same voltage is measured. If a finger or other conductive material is close to the plate there is a capacitance which slows down the time taken for the output to change voltage.
The time taken is defined by this formula:
T = R x C
where T is the time, R is resistance and C is capacitance.
A particularly sensitive sensor can detect when a finger is several centimetres from the plate.
This is all well and good but there are issues that need to be taken into account when designing these sensors.
Stray capacitance can be generated by other parts of the circuit which can affect the sensor. This can be dealt with in the following ways:
- Make multiple measurements and average the results. The readings can vary enormously.
- Keep the distance between the input and outputs short.
- A very small capacitor (100pF) between the output and ground can stabilise readings
- Try adding ground layers between the sensor plate and circuit board or between plates. This will reduce the sensitivity of the sensor however.
Step 3: The Geiger Counter
What it detects depends on the type of Geiger-Müller tube used. The common Russian tubes SBM-20 or SI-180G are very good at detecting gamma rays and some beta particles. If you want to detect alpha particles you might use a LND712 tube for example.
Notice that the circuit has a bunch of headers. These correspond to the digital and analog pins on the ATMega. I will use these to interface my own circuit with this one.
Step 4: User Interface
There are three touch switches that toggle between the three units. When one is selected it will light up.
There is also a "mute" touch button that disables the click sound when a particle is detected.
And then there is a LED that lights up when a particle is detected and has a fade effect over a second or so.
Finally I used a number of additional LEDs that are lit when the machine is on. They are just for looks.
I wanted a modern or sci-fi style interface. This meant it definitely needed a touch screen rather than mechanical switches. After some serious research (time wasting on Google) I settled on a LCARS style. This is the style used in Star Trek. Geeky I know, but I'm not artistic enough to come up with something on my own from scratch!
The graphics were drawn using Inkscape and laser printed onto an OHP transparency. I ran the transparency through the printer twice to ensure the black parts were completely opaque. You might need to play with the transparency settings in Inkscape for the colourful parts as LEDs are meant to shine through them. The SVG file is attached to this step.
I cut out a piece of 2mm clear acrylic sheet the same size as the graphic Using progressively finer sandpaper (800 grit was the finest used) the edge was sanded very smooth. Then using a butane pencil torch I flame polished it further. Be very careful! There is a fine line between polishing and burning the acrylic!
The final step was to laminate the transparency graphic to the acrylic. I took it to a sign maker for this. I figured a professional would do the best job. I was wrong. It wasn't how they would usually do something like this and it turned out less than perfect. If you want something done right, do it yourself! It's good enough for now but I'll have a go at fixing it at a later time.
Step 5: The Case
After designing the interface I had to cut holes in the case. I used a dremel with a milling bit in a drill press and fixed the case in a cross-slide vice. Its not as good as a genuine mill but it wasn't a bad job.
On the bottom of the case I cut another hole as a 'window' for the geiger tubes. Its not strictly necessary as most gamma rays will pass right through plastic but I found the sensitivity increased enough to make it worthwhile. If you use an alpha particle tube then this is definitely necessary.
I hot glued a piece of plastic gutter-guard grille over the window.
Step 6: Custom Circuit Board
It is very important to take your time to ensure your circuit board design is right. Even though I did I made a couple of minor mistakes. Luckily I could work around them and didn't have to remake the board! I have fixed these mistakes in the Fritzing file.
You can use whatever method you prefer for etching the PCB. I prefer the dry film photo-polymer method over the toner transfer method (I never got good results with it).
I use hydrochloric acid + hydrogen peroxide + copper chloride as my etchant.
Once etched, check the traces for bad connections and drill the holes using a very small bit.
Step 7: Soldering
First, start with the vias. These are connections from one side of the board to another. There are a number of ways to do this. Commercial boards have the holes plated through to the other side of the board, there are also small rivets available that can be used. I used the simple method of poking wire through the hole and soldering on both sides.
Next do the resistors, trimpot, and capacitor.
Solder the LEDs with long legs. They can be adjusted to give the best effect.
Then do the headers and sockets. There are some headers that go on the bottom of the board (so they are soldered on the top side). These are for connecting to the geiger PCB.
Finally, the jumper wires. I tried to minimise the number of these but even using a double sided PCB some were needed.
Step 8: Geiger–Müller Tubes
I connected two tubes in parallel to increase sensitivity.
To do this I soldered an anode resistor to each tube and installed the RL_JMP jumper on the geiger PCB.
Step 9: Making Capacitive Touch Sensors
Each sensor plate then had a male header pin soldered to it and a hole cut in the middle for the switch LED to light through.
The sensor plates were fixed to the case cover using hot glue.
Step 10: Microcontroller Code
I used the Arduino IDE to write my own sketch.
To load it you either need to install the microcontroller in an Arduino or program it directly on the geiger PCB using a FTDI breakout board.
Two libraries are needed: LedControl for the LED 7-segment display and CapacitiveSensor for the touch sensors.
The other interesting feature is the LED radiation symbol throbber. It lights up when a particle is detected and then slowly fades over a second or so. It's a cool effect.
Step 11: Putting It Altogether
I made a gasket from a neoprene mouse pad which increased the height of the case enough to fit everything in.
The LEDs didn't look right and required diffusing. I cut a white plastic folder to fit over the LEDs. The light passing through was diffused enough to give an even glow.
The digit display appeared obviously as two separate modules. I used some black semi-transparent plastic from another folder to cover them. Now only the glow of the LEDs is visible and it looks much better.
Once assembled the interface screen was stuck to the case using double sided tape.
When testing you may find that the touch plates are overly sensitive and change settings without any human input at all. This is especially likely when taking readings on highly radioactive items due to noise in the circuit. To change the sensitivity adjust the trimpot on the circuit board. The value of this is measured only at start up to so if you change it you must reboot the device.
One more thing... for an interesting infographic on radiation doses see: http://xkcd.com/radiation/