Skip to the content
PCBKitNew board
2 layers116 × 31 mmOpengeiger, the printed circuit board in 3D

IOT Geigercounter for workshop

Size
116 × 31 mm
Copper layers
2
Thickness
1.6 mm
Parts
96
Nets
89
Pads
310
Tracks, vias
842, 227
Pours
342
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
3 Nov 2022
Updated
11 Jan 2024

Overview

Opengeiger is an open-source printed circuit board by fredriknk, from the fredriknk/eikgeiger repository on GitHub, published under the MIT licence. It is a 2-layer board of 116 × 31 mm with 96 parts on 89 nets, routed with 842 tracks and 227 vias.

It is built around the ESP32-WROOM-32E-N16, FT231XS-R and TC1264-3.3VDBTR, with the LTST-C191KRKT, RS1J and CC0603KRX7R9BB104 among its other parts. Its parts include 34 resistors, 19 capacitors, 14 diodes, 5 connectors and 4 transistors. It belongs with the ESP32 boards of this library.

Main components

12

README

README.md

EIKGEIGER

Front

Eikgeiger opensource project for detection of background radiation in Norway. It is developed in cooperation with Eik Ideverksted. Use the design for anything you like comercially and privately, but i would love if you fork it so i can see what it is used for.

First Batch

Thanks to PCBway for providing assembled prototype units for this project. Its awesome that you support the opensource community like this! If you want one for yourself, i've made a pcbway project which you can make an assembly order quite easily.

REALBOT REALTOP

Description

It uses anESP32-WROOM-32E wifi module both communication and MCU, and is mostly based on surface mount components.

Thanks to the DIYgeiger radmon project for inspiration DIYGeiger RADMON + kit.

If you want to handsolder this, i really recommend to check out the awesome IBOM assembly utility (use it with a desktop as it sucks on mobile) Assembly IBOM

SCHEMATIC

Specifications

ParameterDescription
Input voltageUsb-C cable, Header 4-6v, Direct 3.3v
CurrentWifi: 150-250mA, Radio Off: 44mA, Only HV psup 4mA, Deep sleep 70uA
Communication2.4ghz WIFI, Uart TTL, Uart over USB
Baudrate115200
PCB size31x119mm
Case size30x35x121mm
Series Resistor4.51MOHM

Serial port controll comands

To reconfigure device settings you need to connect the eikgeiger to a computer with a serial terminal (I reccomend to just use the Arduino Program, but any serial terminal should work)

When you want to configure a value you use two characters plus a number. So to set the PWM frequency to 2000hz, you would write PF2000 in the terminal and send. Some commands need a specific number, eg to factory reset you must transmit FR9999. after you have verified that the configuraion works you use SA1 to save the config to the flash eeprom

CharactersUnitValueFactory ValueDescriptionExample
VOVOLT (value/4096 %)0-2000350Set pwm duty cycle, this is a value which controlls the duty cycle of HV power supply, it is a 12bit (4096) value, but you cant go over 50% or the coil field colapses. So keep it under 2046=50% duty cycle. (SBM-20 tubes like it best between 350-400)VO350
VFFREQUENCY (hz)0-180001001Set pwm frequency, from experimentation i have found ~1000hz to be most effective but it can make some coil whine, It is smart to not have this as a value divisible by log output, or it might generate some interferance with ADC readingsVF1001
SASAVE1-Saves parameters to eepromSA1
RERESTART1-Restarts deviceRE1
RFFACTORY RESET9999/1111-Resets all values to factory default and restarts device, 1111 will reset all settings except wifi and radmon credentials, 9999 resets everythingRF9999
BEBEEPER (activation)0/10Activate beeper output 0=Off 1=OnBE1
BD_BEEPER duty (val/255) _0-12750Beeper duty cycle, higher number is louderBD50
BFBEEPER FREQUENCY (hz)10-400006000Beeper frequency 6000hZ is a very nice and annoying frequencyBF6000
LELED (activation)0/11Activate LED output 0=Off 1=OnLE1
LFFLASHTIME (mS)1-50010How long the beeper beeps and led flashes in mS for every click. If value is higher than 60*1000/CPM, you will have counts without indicationLF10
LOLOG OUTPUT0/11Outputs raw_volt:(Voltage ADC reading, arbtrary number not directly related to volt) set_volt:(Duty cycle value) cpmM:(Running average CPM for one minute) cpmH:(Running average CPM for one hour) cpm:(CPM value for last detection)LO1
LSLOG SPEED0-100001000Number of milliseconds for every log output over serialLS1000
EVEVENTS (number)0-10000How many events for one flash, in practice it will divide by that number, so a value of 10, it will need 10 detections for every led and ticker flash.EV0

Description

The pcb has one pinheader (J5) which can be used for 1 x i2c or 2 x Onewire io, and one header (J10) with 1xGpio, and 1x mosfet open collector for eg a clicker. A piezo buzzer with 5mm pitch can be directly soldered in the header holes. It is allso possible to split out the 5v from the usb to insert an ebay generic lipo charger/powersuply to make it battery driven with usb charging.

It allso implements an integrated FTDI chip to get serial over USB, and a transistor based rts#/dtr# pulldown function for the boot pin on the ESP (shamelessly stolen from the weemos d1 mini design) so it allows for automatic programming over USB without pushing the boot pin.

Homeassistant Implementation

To add the sensor in home assistant, use the following YAML sensor, supplied by u/chillinorway

text
sensor:
  - platform: rest
    name: EIK_Geiger
    resource: http://<IP-Address>/cpm
    json_attributes:
      - "data"
    value_template: "OK"
  - platform: template
    sensors:
      cpm:
        value_template: "{{ state_attr('sensor.EIK_Geiger', 'data')['cpm'] }}"
        unit_of_measurement: "cpm"
      cpm_m:
        value_template: "{{ state_attr('sensor.EIK_Geiger', 'data')['cpm_M'] }}"
        unit_of_measurement: "cpm_avg_m"
      cpm_h:
        value_template: "{{ state_attr('sensor.EIK_Geiger', 'data')['cpm_H'] }}"
        unit_of_measurement: "cpm_avg_h"
      raw_volt:
        value_template: "{{ state_attr('sensor.EIK_Geiger', 'data')['raw_volt'] }}"
        unit_of_measurement: "raw_voltage"

BUCK BOOST CONVERTER

HV SOURCE

It is designed for SBM-20 GM tube integrated onto the PCB with 6.3mm fuse holders, but it can use any tube up to 1000v if you just solder on some leads. The power supply is a standard buck boost, but with a 4x voltage multiplier output. It seems reaonably of effective, and consumes about 4ma@3.3v delivering 350v out running at 1000hz pwm. It has a voltage feedback read by adc2 on the esp32 module, but from experimentation i found it more stable to just set a pwm level rather than actively regulating it

SBM DATASHEET

More Pictures

Renders

Front Back

SBM-20 Enclosure

SBM-20 SBM-20

SBM-19 Enclosure

SBM-20 SBM-20

Parts

96
QtyValueFootprintReferences
9330nFCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC2, C4, C10, C11, C12, C13, C14, C23, C24
7270RResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR9, R10, R11, R12, R13, R33, R34
7RED_LEDLED_SMD:LED_0603_1608MetricD2, D3, D4, D5, D6, D7, D14
7RS1JDiode_SMD:D_SMAD1, D8, D9, D10, D11, D12, D13
50.1uFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC6, C8, C9, C15, C16
510MResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR20, R22, R24, R26, R28
510kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR2, R8, R16, R17, R18
41MResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR19, R21, R23, R25
422uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC1, C3, C5, C17
347RResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR1, R31, R32
3510kResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR3, R4, R27
3Conn_01x04Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ1, J5, J10
3FiducialFiducial:Fiducial_1mm_Mask2mmFID1, FID2, FID3
2100kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR6, R29
25.1kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR14, R15
26.35mm Fuse holdereikgeiger:FC-102-22F1, F2
2MountingHole_PadMountingHole:MountingHole_2.5mm_Pad_ViaH1, H3
2MountingHole_PadMountingHole:MountingHole_2.5mmH2, H4
2TL3301NF160QG/TReikgeiger:SW_TL3301NF160QG_TRSW1, SW2
10RResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR30
11.5kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR5
122mHInductor_THT:L_Radial_D10.5mm_P5.00mm_Abacron_AISR-01L2
127kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR7
1330pFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC7
1Conn_01x06Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ3
1DMG2302UK-7Package_TO_SOT_SMD:SOT-23_HandsolderingQ3
1ESP32-WROOM-32Eeikgeiger:ESP32-WROOM-32U1
1FT231XSPackage_SO:SSOP-20_3.9x8.7mm_P0.635mmU3
1G***kibuzzard-6571CD20kibuzzard-6571CD20
1G***kibuzzard-637F3F6Bkibuzzard-637F3F6B
1G***kibuzzard-6571CD43kibuzzard-6571CD43
1GM_tube_HOLDERSeikgeiger:SBM-20G1
1LOGOLOGOG***
1PMBT2222A,215Package_TO_SOT_SMD:SOT-23_HandsolderingQ2
1STN0214Package_TO_SOT_SMD:SOT-223Q1
1TC1264-3.3VDBTRPackage_TO_SOT_SMD:SOT-223-3_TabPin2U2
1UMH3NPackage_TO_SOT_SMD:SOT-363_SC-70-6Q4
1USB_C_Receptacle_USB2.0Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12J8

Questions

How big is the Opengeiger PCB?

It measures 116 × 31 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Opengeiger use?

96 parts, built around the ESP32-WROOM-32E-N16, FT231XS-R, TC1264-3.3VDBTR and LTST-C191KRKT. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Opengeiger KiCad files?

From the fredriknk/eikgeiger repository on GitHub, at the commit this page was made from: the board is CAD/opengeiger.kicad_pcb and its schematic CAD/opengeiger.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Opengeiger design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers72 × 43 mmLag tester, the printed circuit board in 3D

    Lag tester

    citrus3000psi/Time-Sleuth

    Easy to build & cheap hdmi display lag tester

    56 parts92MIT
  • 4 layers94 × 54 mmTransportation Monitor PCB, the printed circuit board in 3D

    Transportation Monitor PCB

    giatats/Transportation_Monitor_PCB

    Transportation monitor device for PeakSat nanosatellite

    86 parts
  • 2 layers111.6 × 59.4 mmGotek, the printed circuit board in 3D

    Gotek

    liveboxandy/Gotek-SFRKC30.AT4.35

    Project to create an ibom for a SFRKC30.AT4.35 based Gotek

    78 partsCC0-1.0
  • 4 layers55 × 35 mmCommo, the printed circuit board in 3D

    Commo

    Stab-Rabbit-coding/Serenity-UAV

    A functional, security conscious, Unmanned Aerial Vehicle based on the Firefly Class spacecraft Serenity from the 2002 show..

    88 parts1CERN-OHL-W-2.0
  • 4 layers194 × 94 mmBottom board, the printed circuit board in 3D

    Bottom board

    mod-audio/hw-mod-dwarf

    Hardware project of MOD Dwarf

    319 parts6
  • 4 layers172 × 140.5 mmBottom board, the printed circuit board in 3D

    Bottom board

    mod-audio/mod-hw-duoX

    Hardware project of MOD Duo X

    403 parts1
  • 4 layers44.5 × 44.5 mmQUT Autopilot Pixracer, the printed circuit board in 3D

    QUT Autopilot Pixracer

    Heckus/QUT-OpenFCU

    The primary objective is to create an alternative to the difficult-to-source off-the-shelf Pixhawk 6. This work builds upon a edited pixracer version produced by KAI (Wesley) in 2022.

    145 parts