Note: This kit requires soldering of some surface mount components and is considered a kit for experienced builders. (In some cases I will solder on the SMD parts on request.) There are also some configuration parameters that are set in code. If you want to change these, you must be familiar with how to upload a new sketch to the chip using Arduino IDE. You must set one of these parameters if you plan to use the GPS.
Kits are available for purchase on the "Buy the Kit" page.
Simply put, the "Geiger Shield" is a daughterboard that plugs into the Geiger Kit that provides additional functionality. It's main goal is to provide logging. You can get an idea of what it does from the videos below. I have also posted my final build on the Galery Page (near the bottom).
Taken by Jeremy with his description - "Geiger Kit with logging shield flying at 40,000+ feet on a private jet somewhere over Texas. The GM tubes being used are the LND 5979 and LND 5980 tubes, both originally from a Navy PDR-27 type counter. They are housed in their original probe housings, and the beta shield is in place during this test. Normal ground level background count for this tube combination ranges between 30 and 50CPM, depending on the location."
On the right is an image of a map of the flight. It was created by exporting the CSV file written to the SD card into Google Maps. On the actual map, clicking on the dots will give the CPM readings.
What's needed to use the it:
In order to use the Geiger Shield you will need:
GPS Modules Supported:
If you want to add a GPS to the shield it's best to get one that is known to work (unless you don't mind doing the programming to get it to work). Even though the NMEA output of GPS modules is standardized, the commands that need to be sent to the module vary from one manufacturer to another. I can only support GPS modules that I have on hand. If you want to get xyz module running, and it's not listed below, you are on your own.
Here is a list of GPS modules that are known to work or reported to work with the current software. There is more information for the GPS in the Build Instructions.
Other GPS modules may work, but many will require you to make code changes.
It started when I added a GPS module to the Adafruit Data Logging Shield described on this page. This added location in addition to logging CPM, uSv/hr, date-time, and battery voltage to the CSV file written on a microSD card. The file is then easily converted to a Google Map/Earth KMZ file with a nice tool on the web. (Credit to Darin for doing it first.)
Of course it was a mass of wires and gizmos, and because of the cost (then ~$60), I wanted the GPS to be optional while still logging by date-time. I also wanted menus that would allow for adjusting parameters in real time, and other goodies. So a PCB was created to fit over the Geiger Kit.
I took the logger on a few trips - a 1500 mile jaunt to Yellowstone and one to Steamboat Springs. Using the GPS I was able to make maps like this . . .
(click for larger image)
Each marker is a one minute waypoint, and the color changes with the CPM.
On the actual map, clicking on the marker shows the CPM value for that spot.
I've written up instructions on how to convert the log file to Google Maps.
They are available here.
What it does:
This is what the Geiger Shield provides in terms of hardware:
The current V4 PCB looks like this . . .
(Note: The most current information on the stuff below will be found in your Build Instructions.)
Shield kits with a processor are shipped with the "optiboot" bootloader installed. This means that they are recognized by the Arduino IDE as an "Arduino Uno".
To support the new hardware, a new sketch is needed. Nothing will display unless the new sketch is loaded! If you got the shield kit that comes with the pre-programmed ATmega328 (GS-B) you simply swap out the original chip with the one with the yellow dot. If not, you will have to download the shield sketch to the original chip.The current source code is available in the Downloads section at the bottom of this page.
There is not enough memory in the ATmega328 to support both GPS and non-GPS logging at the same time. Note that when a GPS is used, the time and date (in UTC) comes from the GPS output. When it is not used, a real time clock chip must provide it (along with the menu options to set the date-time). The solution to the memory problem was to use "precompiler statements" (#defines) so that only the functions being used will take up memory. All this means that without changing anything, the software will default to the non-GPS mode, and it will use the real time clock chip. For those who want to use the GPS, one line of code is changed and the program is reloaded to the chip.
To make the hardware for navigation as simple as possible, an IR receiver is used so that navigation is done with a universal TV remote rather than adding a set of buttons to the board. The menus selections somewhat different between the GPS and non-GPS modes.
Initially, many of the options are set to defaults. The settings made are stored in EEPROM on the ATmega328, so they are retained after power off. Here is a brief description of each menu option: (A more up to date version may be provided in the Build Instructions.)
I'm sure there might be good suggestions for additional options. Some might be able to be added, but understand that memory is already very close to the bitter edge.
Using the 4 DIP Switches:
All four switches are used by the default sketch however some #defines can be set to your the switch for your purposes. The switches are all "active low" which means that they are ON when the uC sees a ground. Switches are tested at each display refresh.
DIP switch 1 - Used for Dose Mode display. As described above, it shows the running average of CPM & uSv/h on an alternate display that comes up after 4 display periods have passed. Note that Dose Mode will only begin to display once 1 minute has passed. For that switch, you can use a pushbutton so the dose display will come on only as long as the button is held, (it will display immediately when the button is pushed), or you can use a switch so that the display continuously alternates between the two displays. It can also be activated through the menu.
DIP switch 2 - Used to turn the backlight on the display on and off. This can also be done using the INFO key on the remote.
DIP switch 3 – Beginning in version 5 a manual “Log Button” can be added to the shield. When pressed, it will log whatever values are on the display to the SD card. If a GPS is used, the coordinates will also be logged. This is handy for marking hot spots when surveying. Note that the logged entry will include "**" to show it was a manual entry. To use this feature simply connect a push button between ground and I/O pin 6. (This ability is optional and can be turned off by setting “#define LOG_BUTTON” to false – in this case the switch may be used for something else. However most will want to use it.)
DIP switch 4 – Beginning in version 7 this switch is used for power saving mode. When ON power is removed from the LCD, backlight, piezo (with board mod), and IR. (This ability is optional and can be turned off by setting “#define L_ MODE” to false – in this case the switch may be used for something else.)
Building and using it / Downloads:
Note: There are three SMD (surface mount) parts - IC1 & IC2 and the MicroSD card socket (left), which is probably the most challenging. These are not super fine pitch components, but soldering SMD uses a little different technique. There are lots of tutorials on this subject on the web (http://www.sparkfun.com/tutorials/36 is a good one). If the picture on the left doesn't scare you, you're good to go. :-) Personally, I've found that a flux pen (water soluble) makes the solder flow nicely, and avoids bridging. The assembly instructions also provide a few tips.
I suggest you power the kit with REG jumper installed. This means either 3 alkaline or 4 NiMH batteries, or a 5V power cube. The max current for the regulator is only 100ma, and with a GPS and an microSD card this can be exceeded.