GK-B5 Software

This page provides links to downloading the software for the GK-B5 kit. and also describes uploading new software. 
DIY Geiger invests a lot time and resources, not only in providing this open source code, but in its documentation.
Please support it by considering the original DIY Geiger Kit on this site, rather than knock-off versions that link to this page.

Changing the Software If you're familiar with Arduino then you probably know all of this. 
The program ("sketch") that is pre-loaded on the Geiger kit's microprocessor has evolved to provide good functionality for most users. However, you may want to load the latest software on your kit, or even enhance or modify the default sketch. 

The software is based on the Arduino. This is a development environment for microprocessors. The Arduino environment makes it easy to program the Atmega328 microprocessor that is on the Geiger board. It includes an "IDE" that lets you write, compile and upload your code to the chip from your computer. Best of all, the whole thing is free, open source. You will find tons of information on this, but you should start here

I have made step by step instructions on installing the Arduino IDE and uploading new software on the GK-B5 kit. You can get it  here.

USB to Serial Adapter (aka FTDI adapter):
The connection between your computer and the Geiger kit is made through a USB to serial adapter (dongle). These are sometimes referred to as an "FTDI breakout, board, or cable". One end plugs into USB on your computer and the other end plugs into the FTDI connector on the kit. On the computer side it makes a virtual serial port, and on the kit side it is TTL level serial (not RS232 level serial). Drivers must be loaded for your OS. On Windows they are generally installed automatically.

These adapters allow you to do two things:
  • You can connect the kit to a PC and get real-time readings into the PC for logging, graphing, etc.
  • You can use the Arduino IDE to upload your program just like any other Arduino board. 
There are a lot places to get these. Sparkfun and Adafruit make popular FTDI boards. There are also many on eBay but you should be cautioned that many of the low priced boards that use the FTDI chip have a counterfeit chip. These may work on older Windows OS's but may not on newer machines. (A genuine FTDI chip costs ~$4 in quantity so it's unlikely the $3 FTDI breakouts on eBay are genuine.)

There are other low priced Serial Adaptors on eBay that use a CP2102 chip instead of an FTDI chip. These will work, but may have a different pinout so they won't plug into the kit directly. You will have to adapt the pin out.

Bottom line is that it's best to buy a USB to Serial Adaptor from a local supplier with a genuine FTDI chip or one from eBay with a CP2102 (or similar) chip. Searching eBay for genuine FTDI adaptors or writing the seller is also an option. If you are in doubt you can write me.

Note: When you use a USB to serial device it will usually supply 5V to the kit. It's not a good idea to also power the kit with batteries at the same time. However, I've done this often with no harm.

Download the latest GK-B5 Software (1)
The kit comes pre-loaded with the latest version of software. However you can use this section to upgrade your software to the most current version.

General Info:
  • The Geiger kit sketches below are supplied for Arduino IDE version 1.6.x and above.
  • The "optiboot" bootloader is installed on the ATmega328. Therefore the Tools / Board setting in the Arduino IDE should be  "Arduino Uno". 
  • The header and comments in the sketch will tell you more about the features of the program.
  • See the Archive page details on previous releases.
  • A User Guide provides a general description of the features in the current release - see the GK-B5 Downloads page.

Current Version: 
This version compiles with newer versions of the Arduino IDE. 
New in this version:
  • No longer need to set a #define to use an external tone pot.
  • No tone while in menu.
  • Enter while out of menu sets the null point for tone.
  • An asterisk shows on line 2 when muted.
  • Re-evaluated global dose averages used when setting beginning null point in Tone Mode.
  • Only the included NEC IR remote is now supported.
Geiger Kit Library package (
supplies all the libraries you need for the 
Geiger Kit

Last Previous Version: 
This version compiles with newer versions of the Arduino IDE. 
New in this version:
  • updated PROGMEM syntax - compiles with 1.6.x of the IDE
  • No counts accumulate while in menu mode (caused alerts on monitoring sites)
  • Fix to Use Radlogger if 8 char display
  • proper display of CPM in the millions
 Previous versions of the Geiger kit software may be found on the Archive Page. 
Geiger Kit Customers: If you want to upgrade to the v12.0 software and above, and you'd like to use the mini-remote supported by this version, you can get the remote hereIf you are in the US you can also get one faster through me. Just write for information.

Geiger Kit PC Setup Tool - loading this sketch will allow you to set the menu options using the serial monitor screen in the Arduino IDE instead of a TV Remote.

User Contributed Versions 
These are sketches that were created by some of the users of the Geiger Kit. They can be loaded as an alternative to the default sketch. I do not support them in any way. They are also based on older versions of the software and have less features. However they may contain good ideas.

Andrei Komarov's "ZX Counter" (3/10/13)
Among other features it provides:
  • Automatic and manual averaging interval
  • The automatic averaging interval depends on the current radiation level
  • Displays the total measuring time
  • Displays the total CPM and the accumulated equivalent radiation dose within the measuring time
  • Displays the maximal CPM and the maximal equivalent radiation dose reached within the measuring time
  • CPM, equivalent radiation dose, total measuring time auto-ranging
  • You can see a complete description and download the sketch here.
Kobayashi-san's  sketch (5/8/12):
Near the end of the Gallery page is a description of a sketch contributed by Kobayashi-san. He re-wrote most of the default sketch and has added 4 screens selected by a push button. He is happy to share his sketch and you can download the english version here. You may need to download the new MsTimer2 lib he mentions in the header. [6/6/12 Please note, I have changed some "ints" to "unsigned longs" so counts won't roll over at > 32767. I have also updated it for the Rel 1.0.1 IDE].

Frank's 2x8 changes (3/1/15):
2x8 format to show a bar graph instead of the dose reading. (It is based on v7 and not tested here.) It can be downloaded here.

This is about as far as I'd like to go regarding the subject of software. My sense is, that for some, the Geiger board may be an introduction into the whole world of microprocessors. I am truly happy about this, but if you need answers to questions about programming, adding new devices (WiFi, SD cards, etc.), and the like, your best bet is to use the Arduino forum.
Finally my apologies to the AVR Freaks out there, many of whom are sick about hearing about Arduino. (Although you're too smart to be reading this far anyway!) Just to say there are other ways to work with the Atmega328 on the Geiger board besides Arduino.

Here's a really old video that shows communication between the Geiger board and the computer . . .

Subpages (1): Version 9