baniere GeigerPC
V 4.2
Application for Geiger Muller Counter fr
Known bugs
Previous version


GeigerPC is an application to monitor the Geiger-Muller counter PC-GM2, PC-GM3, PC-GM4, PC-GM5, PC-GM6, PC-GM8, PC-GM9 and GAMMA-SCOUT. The software has been tested on Windows 7 and 10. It is available in English and French languages.

It can be used with:

image image image image image


Version 4.2(.1) for Windows 7 and 10 (2020/01/02): Download


Main functionalities

Main screen

Main screen

Main screen in "capture" mode. The received data are displayed in a character mode window and in a graph window, in CPM or µSv/h. Il is possible to adjust the treshold for an alarm. The alarm can be in visual mode only (the "Radioactivity Symbol flashes) or in visual mode with a sound signal.
The software displays the instantaneous CPM and the average of CPM on 24H as well as the associated values in µSv/h.

The "File" menu gives the access to the GM counter "Connection" functionnality and the "Preference" of the program. The "Counter" menu gives the access to the dialog functionnalities (commands/responses) with the GM counter. It is active only after a connection. The "Tools" menu gives the access to merge files in CSV format. The "Help" menu gives the access to the Help (this page) and to the dialog-box "About" (program version...).

Graphic sheet


This window diplays the graph of the data received (capture mode, see "source") or data contend in a file (file mode, see "source"). It is possible to set the dates between which the display must be done. It is possible to zoom in a portion of the graphic. The "Reset" button reset the dates to the original begin and end of the data.


Distribution sheet


This window displays the distribution for the selected data in graphic sheet.

Statistic sheet


This window displays the statistics for the selected data in graphic sheet.

Connection dialog box


Used to connect a GM counter connected via USB to GeigerPC. It proposes a list of available COM ports as well as the characteristics to be used for communication.

Once these informations have been selected, the program attempts to connect to the GM counter and detect the model. The trace area displays the commands issued and the responses received.

Note on the detection of the connected meter: the program proposes several fixed options with, in brackets, the models of meters concerned. It uses this choice to send relevant commands to the connected GM counter. In this version, 4 types of GM counters are managed:

Preference dialog box


Allows you to configure the program:

Parameters dialog box


Allows you to read and configure the GM counter.

Command dialog box


Used to send commands to the connected meter. Commands not available depending on the connected meter appear grayed out.

Technical documentation of the GeigerPC V4.2 Software

Environment and target platform


All files are in .txt format. The data files that contain the measurements are a CSV format.

Configuration file

Nom :cg_conf.txt. It is managed by the program. Contains its configuration.

Log file

Nom :cg_log.txt. Circular file which stores the content of the trace area of the main window. Maximum 10,000 records.

<GMC name>_<GMC serial number>.txt

Contains the data read from the GMC. "GMC name" is the name of the GMC, "Serial No." is its serial number. The format of each line in the file is as follows :

<Date and time>;<duration in seconds>;<Average of the value measured over time in CPM>

Example for one line :2019/11/30 16:47:00;3600;24

which means that on November 30, 2019, at 4:47 pm, 3600 seconds, the average measured in CPM is 24.

<GMC name>_<GMC serial number>_Conf.txt

Contains the configuration data of the GMC whose name is "GMC name" and the serial number is "Serial number". We find in particular the conversion factor to be used to display the measurements in µSv/h when the GMC is offline (processing of a measurement file without meter connected).

Language files

The files containing the texts in different languages of GeigerPC are in the installation directory, in the sub-directory \langages. Each file is named as follows :<LG1> <LG2>.txt where LG1 is the Windows language code (for example, FR for French, and LG2, the name of the country, for example, France. Two files are supplied by default:

Sound file for alarms

The files containing the sounds for the alarms are in the installation directory, in the sub-directory \Son. Each .wav file contains an alarm sound which can be selected in the GeigerPC preference menu.

Communication with the PC-GMx counters

serial link (COMx), PC-GM2 = 19200bps, PC-GM3/4/5/6/8 = 9600bps, 8 bits, 1 stop, Parity none.


Response Counter -> GeigerPC



GM Counter:

Response sent after the "V". command. Example : "VP=1.42,PCGM2,1".

<V> = Version of the embedded software. <V> is a real number.

<T> = <T>ype of the counter ("PCGM2", "PCGM3",...). <T> is a string.

<S> = Serial number of the counter. <S> is a integer.


GM Counter:

Conversion factor of the counter. <N> is a real. Sent after the "F" command. Example: "CF=0.00723". This number is used for the conversion CpM <-> µSv/h.


GM Counter:

Number of count per minute. Sent each minute by the counter. <N> is an integer. Example : "CM=20".


GM Counter:

ID is sent after a Get Internal Data command.

<POWER SUPPLY> = last power supply measured (in mV).


GM Counter:

ID is sent after a Get Internal Data command.

<ALIM> = last value in centivolts of the battery voltage.

<MEM> = number of values in CPM per hour that the counter can store.

<NB> = number of values in CPM per hour that the counter has stored.

<JR> = number of days the counter has been running since the last power-on.


GM Counter:

Parameters of the counter. This response is sent by the counter after a P command.

The first value (ON or OFF) enable or disable the visual alarm (LED).

The second value (ON or OFF) enable or disable the sound alarm (buzzer).

The third value, <UNIT> gives the unit used for the measure. PM pour CPM et SV pour µSV.

The fourth value, <THRESHOLD> is the threshold for the alarm (in CPM). THRESHOLD is an integer.


GM Counter:

Following a "Download" command, le counter responds:

DL=NODATA if there is no data to send (the counter has never been initialized with a "I" command).

DL= <YYYY/MM/DD HH:MN> if the counter received an initialization ("I") command. The date/time sends is the date/time sent at the time of the last initialization (YYYY=Year, MM=Month, DD=Day, HH=Hour, MN=Minute).

DL= <N°>: the counteur sends a serie of N° (integer), each N° representing an hour of counting. The first corresponds to the interval [YYYY/MM/DD HH:MN, YYYY/MM/DD HH+1:MN[, the second to the interval [YYYY/MM/DD HH+1:MN, YYYY/MM/DD HH+2:MN[, etc. The counter is able to stored about 490 hours of couting.

DL=END: it is the response sends by the counter when it has no other DL=<N°> to send.


GM Counter:

Following a "Download" command, le counter responds:

DL=NODATA if there is no data to send (the counter has never been initialized with a "I" command).

DL=P<Period>,O<Offset>,<Coding> :
Period indicates the measurement period (in decimal) in seconds (ex: P60 means that the measurement period is 60 seconds). Default value = 3600 if it is not transmitted.
Coding Indicates the coding used for each measurement. Default value = INT1 if it is not transmitted.

  • Coding = INT1 indicates that the value is an integer ranging from 0 to FFFE (FFFF means that there was an overflow of the measurement),
  • Coding = INT2 indicates that the value is expressed in the form of a power of 10. The mantissa is expressed on the 13 least significant bits, the exponent in power of 10 is expressed on the 2 bits following the mantissa. The most significant bit at 1 means that it is a command (reserved for future use). If the power is different from 0, the transmitted value is (Mantissa + 8191) * 10Exposant
    Thus, the value 0x20F3 gives a matissa = 0F3, an exponent = 1, so the value of the measurement is 8434 * 101 = 84340.
    However, 0x90F3 should not be interpreted as a measured value. It is a command (most significant bit) 1.

Offset Indicates (in decimal) how many seconds to remove from the current time to obtain the time of the first measurement sent. Default value = 0.

DL=<N°1> ... <N°n>: the counter returns a sequence of N° (whole numbers in hexadecimal), each N° representing a number of counts per period (in CPM, ie average of counts in CPM during one period).
The first corresponds to the current time, the following to the previous period. The total number of data returned depends on the size of the available memory. The number of <N°i> following each DL= varies from 1 to 16. The character "RC" (0x13) marks the end of a DL frame.

DL=END: it is the response sends by the counter when it has no other DL=<N°> to send.


> DL=P60,INT2,O32

The first response indicates that the measurement period is 60 seconds (P60), that 32 seconds (O32) must be removed from the current time to have the time of the first measurement transmitted (the other measurements being offset by 60 seconds) and that the coding is done in full without power of 10.

The second line is a series of measurement data, the first being 0x0020, the second 0x0022, the third 0x001A, etc.

If the first measurement is received on 2019/12/20 16:20:43, the time of this measurement is 2019/12/20 16:20:11. The next one is 2019/12/20 16:19:11, etc.

The value in decimal of the first measurement is 0x0020 for the mantissa, 0x00 for the exponent which gives 32 * 100 = 32.

If the first response had been DL=O32, this would have meant that the measurement period is 3600 seconds, the coding is INT1 and the offset of the first measurement transmitted relative to the current time is 32 seconds.


Commands GeigerPC -> Counter



GM Counter:

Counter Re-Boot (soft). Attention: data associated with the counting per minute (average) are deleted and the memorization in EEPROM of the couting per hour is stopped if it was active.


GM Counter:

Request for the Conversion Factor. The counter sends the CF command with the conversion factor (see response CF for details).


GM Counter:

Send a Conversion Factor to the counter. V is the new Conversion Factor of the counter.


GM Counter:

Request for the version number of the counter software. The counter sends the VP command with the program version number (see response VP for details).


GM Counter:

Request for download the hour measurement stored in the EEPROM. The counter sends a succession of DL responses (see response DL for details).


GM Counter:

Request for internal data (see response ID for more details).


GM Counter:

Initialization of the hour measurement. GeigerPC sends a date and an hour to GeigerPC. This date is stored in EEPROM and the hour measurements stored in EEPROM are erased (think to ask for these values (D command) before a reinitialization). The counter send the response "INOK" if the command has been performed without error.


GM Counter:

Send/ask parameters to the counter.

  • LED= 'ON' or 'OFF'
  • BUZ='ON' or 'OFF'
  • UNIT = 'PM' or 'SV'
  • THRESHOLD=integer < 999. Threshold for the alarm in CPM.

PM displays the counting in CPM. SV displays the counting in µSievert.

P=ON,OFF,SV,20: LED='ON', BUZ='OFF', display in µSievert, Threshold is 20 pulses per minute or more.

P=,OFF,,30: BUZ ='ON', Threshold is 30. Other parametres are not changed.

When the counter receives this command, it sends PC='ON'|'OFF','ON'|'OFF','PM'|'SV',<UNIT> (see response PC for more details).

Note: PC-GM8/9 does not display in µSv.


Known Bugs (see french Page)

You can report the bugs of the program by using the "contact" on the home page.