UNIQUE Mini High Voltage Module for 400V Geiger Tube with Pulse processing circuit
for laboratory usage, portable DIY Geiger Counters or building external Geiger probe with long cable



This is miniature specially designed power supply for Geiger tube with pulse processing circuit. The hardware will allow you to power 400V Geiger Tube and get ready digitized logic level pulses from the output. These ~10uS pulses can be counted by Arduino INT counter or any other microcontroller or ditigal counters. The module can be used for building portable DIY Geiger Counter, Dosimeter or external Geiger probe where you need to drive signal cable or make external probe. The module is ready-to-use unit to power Geiger tube. Can be integrated into battery operated portable equipment or used for laboratory setup.

The module has installed 10 Mega ohm load resistor that fit many 400V Geiger tubes.

Tube cathode is connected to ground GND. The circuit uses anode signal capture method with grounded cathode that's better for less noise. Keep red HV wire short length as possible to reduce parasitic capacitance on tube anode.

High voltage step-up converter has excellent regulation to
keep HV voltage within recommended plateau limits for correct operation of GM tube! Every module is professionally assembled and tested. Originally it was designed by me and used for industrial grade devices. Build with only high quality materials and certified components.


Every sample covered with insulation for environmental protection.  

Module Size: 22mm x 35mm
Input Voltage: 5.0V - 5.5V
Output Voltage: 390V - 420V
Maximum output current: 50uA
Installed load resistor: 10 Mega Ohm
Quiescent Current on Background: <1.5mA (may vary, depend on charge pump state)
GM Pulse Duration: ~10uS, VDD logic level

Pinout:
HV: tube anode(+) (400V)
GND: tube cathode(-)

VDD: 5.0V
GND: power supply ground
SIG: signal output, pulses ~10us

The module is compatible with following GM tubes: SBM-20, SBM-21, SBM-10, SI-8B, PM-1208, SI-29BG and more 400V models.


The circuit DO NOT HAVE reverse polarity protection, be careful to connect VDD and GND in correct way, see the diagram! Do not short-cut High Voltage output! Use heat shrink tube to protect the module from short-cut if your enclosure is metallic!


Arduino UNO example code to catch GM pulses during 1 minute:

// Arduino UNO Example code to count GM pulses during one minute from the detector
// if the INT is floating you may need to add 1K resistor to pull down to GND the INT port

#include <SPI.h>
unsigned long counts;            //variable for GM Tube events
unsigned long cpm;               //variable for CPM
unsigned long previousMillis;    //variable for time measurement

void tube_impulse(){             //procedure for capturing events from Geiger Kit
  counts++;
}

void setup(){                                //setup procedure
  counts = 0;
  cpm = 0;
  Serial.begin(9600);                        // start serial monitor

 // uncommennt if you have time-out problem to connect with Radiation Logger
 //  delay(2000);
 //  Serial.write('0');                      // sending zero to avoid connection time out with radiation logger
 //  delay(2000);
 //  Serial.write('0');                      // sending zero to avoid connection time out with radiation logger

  pinMode(2, INPUT);                         // set pin INT0 input for capturing GM Tube events
  digitalWrite(2, LOW);                      // turn off internal pullup resistors, you may need to add 1K resistor to pull down to GND the INT port (if INT pin is floating)

//---------------------Allow external interrupts on INT0-----------------------------//
  attachInterrupt(0, tube_impulse, RISING);  //define external interrupts low-high-low
//-----------------------------------------------------------------------------------//
}

void loop(){                                    //main cycle
  unsigned long currentMillis = millis();
  if(currentMillis - previousMillis > 60000){   // if 60 seconds are passed
    previousMillis = currentMillis;
    cpm = counts;

        Serial.print(cpm);     // send cpm data to Radiation Logger
        Serial.write(' ');     // send null character for "Radiation Logger" to separate next data, check your hardware for actual UART separate sing

    counts = 0;
  }
}