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 cable):
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 cable or board". 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's TTL 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 in order to 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 makes a popular FTDI board (my preference). If you want a very low cost board, this one on eBay works for me. Strangely, it uses uses a male header, and the pins are reversed so it must be connected upside down or with a 1:1 cable with a twist in it. However compared to others on ebay it uses an FTDI chip (instead of the CP2102) and there are Tx & Rx activity LEDS . I've made a connection diagram for that particular board here. [10/31/14] I just heard that there are counterfeit FTDI chips. The FTDI board on eBay linked here may have one. FTDI drivers newer than version 2.10 will not work with non-genuine FTDI chips.  If v2.12 is installed  non-genuine chips will no longer work - even if you version down to v2.10. FTDI drivers (old and new) can be downloaded here
Note: When you use a USB to serial device that also supplies power to the board, it's not a good idea to also power the board with batteries at the same time. I've made this mistake often with no apparent harm, but normally, I just plug the cable in with the battery disconnected and it powers the board.

Download the latest GK-B5 Software 
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.0.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.
Previous Version: 
Geiger Kit Version 11.0
New in this version:
  • Uses NEC IR protocol for supplied remote. Sony or Philips supported via #define
Current Version: 
This version compiles with newer versions of the Arduino IDE. 
New in this version:
  • updated PROGMEN 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

Geiger Kit Customers: If you want to upgrade to the v11.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.
Previous versions of the Geiger kit software may be found on the Archive Page. 

Geiger Kit Library package (
supplies all the libraries you need for the
Geiger Kit
sketch and
Geiger Shield

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 may also be 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