Professional Documents
Culture Documents
Arduino Geiger Counter
Arduino Geiger Counter
Arduino Geiger Counter
Section TOP Features Design PSU Build Summary Geiger Module PCB Arduino USB Prgmr Remote Ctrl LCD Menu Geiger PC Setup Tool 7 Segment Disp GK
WiFi Kit ESP8266 Prgmr ESP8266 IDE Add On IOT Setup DHT22 Rain Sensor OLED Schematic ThingSpeak IOT Monitor Widget Code/Code Mods
WiFi enabled Background Radiation & Environment Monitoring Station with built in logging for Radmon, ThingSpeak and Sparkfun.
0.15
125
Dose
CPM
100
0.1
15:15 15:30 15:45 16:00 16:15 16:30 15:15 15:30 15:45 16:00 16:15 16:30
Date Date
ThingSpeak.com ThingSpeak.com
Uploaded data can be viewed as live graphs charts and gauges. See further examples here Kenley Radiation Monitor.
Thanks to BroHogan @ DIYGeigerCounter.com for the design/supply of most of the hardware, software and documentation for this project
Document Download from One Drive
Home Kenley Weather Radmon World Radiation Map Kenley Radiation Monitor
Word PDF
Section TOP Features Design PSU Build Summary Geiger Module PCB Arduino USB Prgmr Remote Ctrl LCD Menu Geiger PC Setup Tool 7 Segment Disp GK
WiFi Kit ESP8266 Prgmr ESP8266 IDE Add On IOT Setup DHT22 Rain Sensor OLED Schematic ThingSpeak IOT Monitor Widget Code/Code Mods
Features/Functions
Dual processors Arduino 328 for Geiger Counter and ESP8266 (Arduino core) for WIFI logging
Dual 8 digit 7 segment displays to show current CPM, Dose, Ave Dose and PK CPM
PIR activated 7 segment displays to keep running costs down. Note from GK WIFI v2.3 the PIR also controls the OLED
Design
The Geiger Counter & WIFI GK Kit that this project is based on are available from the DIYGeigerCounter web site.
There may be other copies of this kit available on the internet but both the code and hardware were designed at DIYGeigerCounter so you know it will
work.
There is a great little section on the site showing how to upgrade older kit so if you buy the original hardware you know there is a great chance your
hardware will be supported in the future.
below my original Geiger Counter built into a wooden box and using a SMB-20 GM Tube
Home Kenley Weather Radmon World Radiation Map Kenley Radiation Monitor
Section TOP Features Design PSU Build Summary Geiger Module PCB Arduino USB Prgmr Remote Ctrl LCD Menu Geiger PC Setup Tool 7 Segment Disp GK
WiFi Kit ESP8266 Prgmr ESP8266 IDE Add On IOT Setup DHT22 Rain Sensor OLED Schematic ThingSpeak IOT Monitor Widget Code/Code Mods
The new Geiger counter is housed in a clear Perspex enclosure on an Oak base and will be enclosed in a large wood and glass display cabinet.
All the modules, displays and wiring are on display as I like the "Industrial" or "Art-Techno" look.
The case is large enough to house an SBM-20 GM Tube, an SBM-19 tube will require an external housing.
The Geiger counter module is programmed using a USB to serial module with DTR via the Arduino IDE
The ESP8266 WIFI module is programmed using a USB to serial module without DTR again via the Arduino IDE
below the large but very sensitive SBM-19 Geiger Muller tube is mounted in an external housing via 6.3mm cartridge fuse clips
below the Geiger Counter & ESP8266 WIFI modules are programmed by removing the existing connectors
Section TOP Features Design PSU Build Summary Geiger Module PCB Arduino USB Prgmr Remote Ctrl LCD Menu Geiger PC Setup Tool 7 Segment Disp GK
WiFi Kit ESP8266 Prgmr ESP8266 IDE Add On IOT Setup DHT22 Rain Sensor OLED Schematic ThingSpeak IOT Monitor Widget Code/Code Mods
Power Supply
5volt power is supplied by my common power supply non battery backed output.
The circuit with 7 segment LEDs, LCD with backlight and OLED draws the following current
which rises as the 7 segment display brightness is turned up see the table below.
The PIR turns the 7 segment display off when no one is in the room.
7 Segment
Disp Current mA
Brightness
Off (PIR) 90
0 110
1 120
2 140
3 150
4 160
5 180
Home Kenley Weather Radmon 6World Radiation
190 Map Kenley Radiation Monitor
Section TOP Features Design PSU Build Summary Geiger Module PCB 7 Arduino USB210
Prgmr Remote Ctrl LCD Menu Geiger PC Setup Tool 7 Segment Disp GK
WiFi Kit ESP8266 Prgmr ESP8266 IDE Add On IOT Setup DHT22 Rain Sensor OLED Schematic ThingSpeak IOT Monitor Widget Code/Code Mods
8 220
9 230
Modify the Geiger Counter Module for the 7 Segment LED display and LED radiation detected repeater
Download my modified version software version for the Geiger Counter and install it using the Arduino IDE (tested IDE 1_6_9)
Download the GK WiFi software from the link in the manual. Enter your setup details using the Arduino Generic ESP8266 Module note IDE version
1_6_5 recommended
Tip: If you're installing on Windows and you have older versions of the IDE that you want to keep, choose the "Windows zip" file install.
Upper PCB
Section TOP Features Design PSU Build Summary Geiger Module PCB Arduino USB Prgmr Remote Ctrl LCD Menu Geiger PC Setup Tool 7 Segment Disp GK
WiFi Kit ESP8266 Prgmr ESP8266 IDE Add On IOT Setup DHT22 Rain Sensor OLED Schematic ThingSpeak IOT Monitor Widget Code/Code Mods
Lower PCB Bottom View showing mods to bring the kit up to DIYGeigerCounter v5.1 to use software v11 software.
If you purchased your kit from DIYGeigerCounter then simply follow this guide if not you will need to trace the PCB
and work out from the guide where to connect the extra wires and components.
To program the Arduino on the Lower PCB disconnect the plug to the WiFi Kit and plug the USB Programmer in.
I have labelled the plug "UP" to ensure I connect it the correct way round.
Home Kenley Weather Radmon World Radiation Map Kenley Radiation Monitor
Section TOP Features Design PSU Build Summary Geiger Module PCB Arduino USB Prgmr Remote Ctrl LCD Menu Geiger PC Setup Tool 7 Segment Disp GK
WiFi Kit ESP8266 Prgmr ESP8266 IDE Add On IOT Setup DHT22 Rain Sensor OLED Schematic ThingSpeak IOT Monitor Widget Code/Code Mods
IR Remote Control
I had this control from a remote operated relay switch and it works fine.
The IR functions are mapped out below just hover your mouse over to show the mapped functions.
Note When not in a menu the 7 segment display brightness uses the numbers 0 to 9.
LCD Display
Startup
Home Kenley Weather Radmon World Radiation Map Kenley Radiation Monitor
Section TOP Features Design PSU Build Summary Geiger Module PCB Arduino USB Prgmr Remote Ctrl LCD Menu Geiger PC Setup Tool 7 Segment Disp GK
WiFi Kit ESP8266 Prgmr ESP8266 IDE Add On IOT Setup DHT22 Rain Sensor OLED Schematic ThingSpeak IOT Monitor Widget Code/Code Mods
When you first power on the kit it will run through the startup screens.
The first screen will show the software version that is running in the format
11.1.19 Brett.
11.1 is the official version written by BroHogan email him here (brohoganX10
(at) gmail (dot) ) com see DIYGeigerCounter.com and .19 Brett is my
modified version.
The next screen will show the current settings for your dose rate, and the
battery voltage.
The third screen will show the current setting for the alarm threshold and ask
if you would like to change it.
Pressing the Select button during this prompt will take you to another screen
where repeated presses of the Select button will change the alarm threshold.
Menu Settings
Press the menu button on the remote then use the up/dowm buttons to step
through the menus
Initially, the menu options are set to defaults. Settings made will be stored in
EEPROM on the ATmega328, so they will be in effect when you power back
on.
Pressing and holding the physical Select button at power on will reset all
menu settings back to their default settings.
Here's a brief description of each menu option along with its default setting:
CPM->[DOSE] RATIO - Sets that ratio for the type of GM tube used.
Default = 175.43 CPM and 100 CPM to dose unit (uSv)
Note this ratio will depend on the dose unit being displayed - see DOSE
UNIT. Also note that 2 ratios can be stored. The second ratio can be
selected by the Tube Switch. Depending on the position of the switch this
menu option will set the value for either the 1st or 2nd ratio.
175.43 is the common default for the SBM-20 and 100 for the LDN 712.
The “C” key on the remote can be used to enter a decimal point
SCALER PER (MIN) - Sets the period for the second scaler. Default = 10
minutes
If scaler period set to "Infinite" (setting below 2) , the
accumulated dose rate is displayed on the scaler screen.
Note that each menu setting has a minimum and a maximum setting. Entries
that are out of bounds will revert to the minimum or maximum.
When MUTE is pressed the display will show the word MUTE over the LED
brightness indicator and will then revert to a " * " to show the sound is
muted.
If you don't have the remote you can edit the settings with the Geiger Kit PC Setup Tool available from the DIYGeigerCounter web site software page.
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.
To use download the sketch from the page above and open it with your Arduino IDE.
Upload it to your Geiger Counter module and then open the Serial Monitor and set it to 9600 baud.
The Sketch will run, and you just follow the onscreen prompts to setup your module see animation below.
When setup is completed load your Geiger Sketch back to your module and it will use the uploaded settings.
Home Kenley Weather Radmon World Radiation Map Kenley Radiation Monitor
Section TOP Features Design PSU Build Summary Geiger Module PCB Arduino USB Prgmr Remote Ctrl LCD Menu Geiger PC Setup Tool 7 Segment Disp GK
WiFi Kit ESP8266 Prgmr ESP8266 IDE Add On IOT Setup DHT22 Rain Sensor OLED Schematic ThingSpeak IOT Monitor Widget Code/Code Mods
The displays only require 3 control wires and power to work. The 5 wires are looped in and out of the modules by built in connectors.
On the final module the 2 power wires are fed back to the start of the loop.
MAX7219CNG IC
8 digit 7 segment display module. Wiring goes in on the left and out to the next module from the right
Display Construction
Construction is very simple. Neutral density Perspex sheet is bolted to two brass strips.
The modules are then mounted to the Perspex again with bolts.
The whole display is then fixed to the Oak base use small screws via a couple of tiny copper brackets.
Section TOP Features Design PSU Build Summary Geiger Module PCB Arduino USB Prgmr Remote Ctrl LCD Menu Geiger PC Setup Tool 7 Segment Disp GK
WiFi Kit ESP8266 Prgmr ESP8266 IDE Add On IOT Setup DHT22 Rain Sensor OLED Schematic ThingSpeak IOT Monitor Widget Code/Code Mods
Mouse over the image below to show the difference between clear Perspex and Grey Neutral Density Perspex on the display
Rear of the LED display showing the extra capacitors and wiring looping in and out of the modules.
Note the return power wires from the top left to bottom right display.
Home Kenley Weather Radmon World Radiation Map Kenley Radiation Monitor
Section TOP Features Design PSU Build Summary Geiger Module PCB Arduino USB Prgmr Remote Ctrl LCD Menu Geiger PC Setup Tool 7 Segment Disp GK
WiFi Kit ESP8266 Prgmr ESP8266 IDE Add On IOT Setup DHT22 Rain Sensor OLED Schematic ThingSpeak IOT Monitor Widget Code/Code Mods
When not in a setup menu pressing number buttons 0 to 9 sets the display brightness.
As soon a number from 0 to 9 is pressed the secondary count LED illuminates and the CPM Pk display is blanked and replaced by the brightness
number pressed on the remote.
Once the button is released the display is set to that brightness value and CPM Pk is displayed again. The current value is then displayed on the LCD
display.
See looped animation below showing brightness being set from 6 to 1 and back to 6 again.
Home Kenley Weather Radmon World Radiation Map Kenley Radiation Monitor
Section TOP Features Design PSU Build Summary Geiger Module PCB Arduino USB Prgmr Remote Ctrl LCD Menu Geiger PC Setup Tool 7 Segment Disp GK
WiFi Kit ESP8266 Prgmr ESP8266 IDE Add On IOT Setup DHT22 Rain Sensor OLED Schematic ThingSpeak IOT Monitor Widget Code/Code Mods
GK-WiFi Kit
from DIYGeigerCounter
This kit allow you to send your Geiger kit readings to radiation monitoring sites, and IOT sites, on the internet.
Section TOP Features Design PSU Build Summary Geiger Module PCB Arduino USB Prgmr Remote Ctrl LCD Menu Geiger PC Setup Tool 7 Segment Disp GK
WiFi Kit ESP8266 Prgmr ESP8266 IDE Add On IOT Setup DHT22 Rain Sensor OLED Schematic ThingSpeak IOT Monitor Widget Code/Code Mods
Wifi Kit with OLED Display from DIYGeigerCounter
The kit comes with 2 PCBs the main ESP8266 board and the interface board.
The components will need to be soldered to the boards but this just takes a few minutes.
Full construction details on the DIYGeigerCounter site under Add On Loggin Kits.
Home Kenley Weather Radmon World Radiation Map Kenley Radiation Monitor
Section TOP Features Design PSU Build Summary Geiger Module PCB Arduino USB Prgmr Remote Ctrl LCD Menu Geiger PC Setup Tool 7 Segment Disp GK
WiFi Kit ESP8266 Prgmr ESP8266 IDE Add On IOT Setup DHT22 Rain Sensor OLED Schematic ThingSpeak IOT Monitor Widget Code/Code Mods
ESP8266 WIFI Board Schematci showing connections for DHT22,DCF77 monitor and PIR sensor
Section TOP Features Design PSU Build Summary Geiger Module PCB Arduino USB Prgmr Remote Ctrl LCD Menu Geiger PC Setup Tool 7 Segment Disp GK
WiFi Kit ESP8266 Prgmr ESP8266 IDE Add On IOT Setup DHT22 Rain Sensor OLED Schematic ThingSpeak IOT Monitor Widget Code/Code Mods
ESP8266 Programmer
Tx, Rx, 5v & 0v are connected to the WiFi kit to program it via the Arduino IDE Currently version 1.6.5-R2 is suggested (Tested OK on IDE 1.8.5)
Tip: If you're installing on Windows and you have older versions of the IDE that you want to keep, choose the "Windows zip" file install.
Disconnect the power connector from the control board and replace with this connector to program.
Home Kenley Weather Radmon World Radiation Map Kenley Radiation Monitor
Section TOP Features Design PSU Build Summary Geiger Module PCB Arduino USB Prgmr Remote Ctrl LCD Menu Geiger PC Setup Tool 7 Segment Disp GK
WiFi Kit ESP8266 Prgmr ESP8266 IDE Add On IOT Setup DHT22 Rain Sensor OLED Schematic ThingSpeak IOT Monitor Widget Code/Code Mods
Programming
Press PGM & RST buttons, release the RST button and then release the PGM button.
It may seem a little daunting at first, but if you follow the steps below you will get through it alive. There are also many guides online for this - for
example, this one from Adafruit and this one from Sparkfun. These can provide additional details. Please note that I can provide only limited help with
this setup. ... OK, let's take this one step at a time.
1. Get the IDE. Currently version 1.6.5-R2 is suggested - available here. At this writing, newer versions of the IDE have issues with the
ESP8266 core, or other issues. Tip: If you're installing on Windows and you have older versions of the IDE that you want to keep, choose the
"Windows zip" file install. Otherwise your older IDE will be removed. Follow the guidelines for installing the new IDE.
2. Open the IDE and go to File > Preferences. Add this line in the "Additional Board Manager URLs:" field;
http://arduino.esp8266.com/stable/package_esp8266com_index.json Press OK.
3. Now go to Tools > Boards > Boards Manager. You should see a list of all the installed boards. At the bottom you will see and entry for
esp8266 ... Click the Install button in that panel.
It will take a few minutes to download and install. Once it's complete, INSTALLED will appear next to the entry.
Home Kenley Weather Radmon World Radiation Map Kenley Radiation Monitor
Section TOP Features Design PSU Build Summary Geiger Module PCB Arduino USB Prgmr Remote Ctrl LCD Menu Geiger PC Setup Tool 7 Segment Disp GK
WiFi Kit ESP8266 Prgmr ESP8266 IDE Add On IOT Setup DHT22 Rain Sensor OLED Schematic ThingSpeak IOT Monitor Widget Code/Code Mods
4. Now open Tools > Boards again. You should see Generic ESP8266 Module. Select it. Open Tools > Boards again and you should see
settings similar to this:
Generally there is no need to change these other settings - except for your
Port:.
(Later you can try increasing the Upload Speed from 115200 to a faster speed but it's best to start with the default speed. Faster upload
speeds can cause upload problems. Speed may change back to the default when you change board types.)
5. You can test out your setup by going to File > Examples and scroll down till you see esp8266, then pick Blink. Then click the Verify button
on the toolbar (check mark). You should see the Blink sketch compile. (No need to load it.) Now you can use the Arduino to program the
ESP8266 chip on the GK-WiFi board. More on that later. Note that you must disconnect the GK-WiFi board from the Geiger kit before you can
upload any sketch.
Create Accounts:
The software supports connecting to the three sites listed below. Use the steps below to create accounts for the sites you will be connecting to. Each
will give you account credentials that are entered in the Credentials.h file of the sketch.
Radmon.org:
§ Open an account with Radmon.org - here. Note the Username and Password you choose.
§ You will use the username and password in setting up your sketch.
§ You may also wish to download RadLog program for the PC. It’s not required for directly connecting but it has some handy features. It’s in the
Home Kenley Weather Radmon World Radiation Map Kenley Radiation Monitor
“Downloads” section of the Radmon.org site.
Section TOP Features Design PSU Build Summary Geiger Module PCB Arduino USB Prgmr Remote Ctrl LCD Menu Geiger PC Setup Tool 7 Segment Disp GK
WiFi Kit ESP8266 Prgmr ESP8266 IDE Add On IOT Setup DHT22 Rain Sensor OLED Schematic ThingSpeak IOT Monitor Widget Code/Code Mods
data.sparkfun.com:
§ Create a free datastream - here. During this process you will list the Field Types that you want. In order to use the sketch "as is" you must use
the same Field Types that the sketch is providing data for. These are:
cpm, dose, vcc, maxcpm Fields must be lowercase. (see image left)
§ It's best to start with just those 4 fields. If you add the DHT22 for temperature and humidity later, you can add the additional fields which are:
temp, and humidity.
§ You will be given a set of keys - a public key, a private key, and a delete key. You will also be provided with the URL for your feed. (It contains
the public key.) You have the option of emailing this info to yourself which is suggested.
§ You will use the public key and private key in setting up your sketch. You can use your delete key to remove a datastream by going to this page.
§ You may find the CSV export to be a handy feature.
ThingSpeak:
§ Create a ThingSpeak account - here. Click New Channel where you will list the fields that you want. Unlike Sparkfun, the field names are
predefined as field1, field2, field3, etc. So you can assign any descriptor to each field. However, in order to use the sketch "as is" the order of
the fields is important. In other words, field1 = CPM, field2 = Dose, field3 = Vcc, field4 = MaxCPM. (see image below)
§ Again, it's best to start with just those 4 fields. If you add the DHT22 for temperature and humidity later, you can add the additional fields which
are: field5 = temperature and field6 = humidity.
§ You will be given a Write API Key. You will use this key in setting up your sketch. § You may find the MATLAB feature handy, but I haven't
messed with it.
Home Kenley Weather Radmon World Radiation Map Kenley Radiation Monitor
Section TOP Features Design PSU Build Summary Geiger Module PCB Arduino USB Prgmr Remote Ctrl LCD Menu Geiger PC Setup Tool 7 Segment Disp GK
WiFi Kit ESP8266 Prgmr ESP8266 IDE Add On IOT Setup DHT22 Rain Sensor OLED Schematic ThingSpeak IOT Monitor Widget Code/Code Mods
§ Open
Section the sketch
TOP Features in the PSU
Design Arduino IDE.
Build On the Geiger
Summary main tab near PCB
Module the top, you USB
Arduino will see a section
Prgmr Remote called Other
Ctrl LCD User
Menu Settings
Geiger with Tool
PC Setup #defines for various
7 Segment Disp GK
functions.
WiFi Kit ESP8266 Prgmr They are IDE
ESP8266 described
Add On inIOT
theSetup
comments
DHT22 and
Rainbelow.
Sensor However it's best toThingSpeak
OLED Schematic keep the defaults in the
IOT Monitor beginning.
Widget Code/Code Mods
§ Open the Credentials.h tab. Here you will add your network credentials, use the #defines to select the accounts you wish to send to, and add
the credentials for those accounts. The comments should give you the details you need. Save your sketch.
§ Be sure your IDE is set for the Generic ESP8266 Module and run a Verify to make sure all is well. You will see compile red warnings, this is
normal. In the end you should see a "Done compiling".
§ Now, finally, it's time to upload the sketch. Plug the ESP8266 carrier board into the main board, but do not plug the GK-WiFi into the Geiger kit.
(The ESP8266 uses lots of power at startup and some USB ports can barely handle it.) Plug in your FTDI into the pins on the bottom. You
should see the red led on the ESP8266 light up.
§ Press and hold the PGM button on the GK-WiFi you should see the RDY led light up brightly. While holding that switch, press and release the
RST button, then release the PGM button. You should see the RDY led light up dimly. If you do, the ESP8266 is ready to accept a program.
§ Click Upload on the IDE. Compile time is a lot slower for the ESP8266. Eventually you will see a row of red dots across the bottom screen and
finally the message "Done uploading". Have a beer.
§ If you get errors, disconnect your serial cable to the USB to Serial adaptor, reconnect it, go back into program mode, and try again. After any
upload fail, make sure you put the board back in program mode as described above.
Run it:
First, a little menu work on your Geiger kit . . .
• Go into the Setup menu and set the LOGGING PERIOD for the period that you want to send data at. For radmon.org no less than 30
seconds is recommended, but you're impatient right now, so set it at 15 seconds.
• On the GK-B5, or GK-Mini make sure you have the “USE RADLOGGER” option turned off. On the GK-Plus, set the SERIAL OUTPUT
MODE to the “GK-B5” option.
Power off the Geiger kit, disconnect the FTDI, and plug the 6 pin female header (serial input) of the GK-WiFi into the FTDI connector of your Geiger
kit. Now power on the Geiger kit. You should see . . .
• The red led go on - connecting to WiFi, and then off - connected!
• The yellow led go on - waiting for data from the Geiger kit, and then go off - got data!
• The green led will flash when sending data to each site - data sent!
Now you can go to the IOT sites you signed up for and check your results there.
The charts below show live data from my Radiation Monitor in Kenley.
The Radiation Monitor sends its data to my ThingSpeak channel where it is collected and stored by the ThingSpeak servers.
Three methods are described below which show how to get the ThingSpeak data to display on this Google Sites page.
Here on this original version of Google Sites we are using the "Iframe Wrapper" gadget. Get it at Insert / ... More Gadgets on Google Sites.
To get the data for the "Document / page URL" field of that gadget, do the following:
At the top of the graph, click on the box with the arrow sticking out.
Go to the new page that opened and copy the URL from that page.
Find
Section TOP Features Design PSU Build where you want
Summary to place
Geiger ModuleyourPCB
graph, double USB
Arduino click Prgmr
to open the content
Remote creation
Ctrl LCD menu.
Menu Geiger PC Setup Tool 7 Segment Disp GK
WiFi Kit ESP8266 Prgmr ESP8266 IDE Add On IOT Setup DHT22 Rain Sensor OLED Schematic ThingSpeak IOT Monitor Widget Code/Code Mods
Click the "Insert" option and use the Embed by URL Tab.
Enter the URL from the ThingSpeak chart that you got from Step 4 above.
You can also insert an iFrame instead of embedding. In that case you use the "callout / speech bubble" icon at the top of the chart.
Temperature and Humidity sensing/logging can simply be added by connecting a DHT22 sensor
to GPIO5. Don't forget to enable it in the GK WiFi Sketch and on ThingSpeak.
The data lead is tied to 3.3v via a 10K resistor.
below DHT22, Rain Sensor/Intrusion Detection and DCF77 Signal match wiring
Note only 1 sensor can be used at a time either DCF77 or Rain/Intrusion if more sensors are requied use another GPIO pin.
The connections for power, PIR, DCF77 Sync or Rain/Switch sensor, Geiger Muller Tube and the DHT22 sensor itself connect onto
a length of Vero board fixed to the back of the case.
Home Kenley Weather Radmon World Radiation Map Kenley Radiation Monitor
Section TOP Features Design PSU Build Summary Geiger Module PCB Arduino USB Prgmr Remote Ctrl LCD Menu Geiger PC Setup Tool 7 Segment Disp GK
WiFi Kit ESP8266 Prgmr ESP8266 IDE Add On IOT Setup DHT22 Rain Sensor OLED Schematic ThingSpeak IOT Monitor Widget Code/Code Mods
Temperature and Humidity readings show on the OLED display after sending.
Section TOP Features Design PSU Build Summary Geiger Module PCB Arduino USB Prgmr Remote Ctrl LCD Menu Geiger PC Setup Tool 7 Segment Disp GK
WiFi Kit ESP8266 Prgmr ESP8266 IDE Add On IOT Setup DHT22 Rain Sensor OLED Schematic ThingSpeak IOT Monitor Widget Code/Code Mods
Temperature and Humidity and DCF77 signal match monitor readings show on the OLED display after sending.
When the reading is 1 the DCF77 signal has been received for a full minute with no errors.
Any errors in a single minute then the reading will be 0.
Section TOP Features Design PSU Build Summary Geiger Module PCB Arduino USB Prgmr Remote Ctrl LCD Menu Geiger PC Setup Tool 7 Segment Disp GK
WiFi Kit ESP8266 Prgmr ESP8266 IDE Add On IOT Setup DHT22 Rain Sensor OLED Schematic ThingSpeak IOT Monitor Widget Code/Code Mods
Section TOP Features Design PSU Build Summary Geiger Module PCB Arduino USB Prgmr Remote Ctrl LCD Menu Geiger PC Setup Tool 7 Segment Disp GK
WiFi Kit ESP8266 Prgmr ESP8266 IDE Add On IOT Setup DHT22 Rain Sensor OLED Schematic ThingSpeak IOT Monitor Widget Code/Code Mods
Using the Kemo Rain Sensor connected to GPIO4 and logged with ThingSpeak you can set up alerts or just monitor when it is raining.
The device simply closes a relay contact when rain is sensed and raises GPIO4(tied via a 10K resistor to 0v) to 3.3v.
This could be used for any other purpose where a simple switch contact is used.
eg fit a micro switch to your external Geiger Muller tube enclosure to warn if the case is being tampered with.
See schematic above under DHT22 for connections.
The OLED if used shows Rain 0 no rain and Rain 1 if it's raining
Note the OLED format change. I have set all data in columns.
Product details
Kemo Rain Sensor DC 12V
Technical Data
Section TOP
Duty cycle Features
of the relay Design PSU Build Summary Geiger Module PCB Arduino USB Prgmr Remote Ctrl LCD Menu Geiger PCasSetup
long asTool 7 Segment
the sensor is wetDisp GK
WiFi Kit ESP8266 Prgmr ESP8266 IDE Add On IOT Setup DHT22 Rain Sensor OLED Schematic ThingSpeak IOT Monitor Widget Code/Code Mods
The module is encapsulated waterproof.
Dimensions ca. 65 x 45 x 36 mm
In order to use this add-on a few small changes are made to the GK-WiFi sketch details below
Code Line
Number in Function Name Details
Function
129 or 131 GK-WiFi_vX_XBrett setup rain sensor input or DCF77 sensor on pin 4
208 or 213 GK-WiFi_vX_XBrett read the rain sensor or DCF77 input pin
217 to 225 GK-WiFi_vX_XBrett check analog value of PIR pin and switch on OLED display if above 500
315 GK-WiFi_vX_XBrett send heading "Rain" or "DCF77"and reading 0 or 1 to the OLED display
Credentials.h No Changes
OLED No Changes
Sensors No Changes
37 or 40 gk_wifi.h create integer for rain sense raining or PIR sense 1 not raining 0
I have changed the version number to vX_XBrett so you can easily see it has been modified by myself.
All changes are commented thus //Brett to show where code has been added.
Download modified GK-WiFi Sketch just add your details in the credentials function before uploading to your ESP8266
At the top of the board you'll find a 4 pin I2C header. You can use it (with programming) to add I2C devices. However, it's also setup to accept a
little OLED display. All you need to do there is set #define USE_OLED to true and plug in the display to show the data received and who it was
sent to. It's pretty cool!
There are two sizes of I2C OLED that I've tried that work - .96" and the 1.3" (both monochrome). You can search eBay for these. Please note that
given the remarkable variability of Chinese products, I can't be responsible if you get the wrong type. (I have heard that some have different
pinouts, so check this.)
Finally note that the I2C header is the same height as the carrier board headers so if you want to just plug the OLED in to see it, you must extend
the pins on the display. A 4 pin female header with long pins has been included for that purpose.
OLED Startup
Section TOP Features Design PSU Build Summary Geiger Module PCB Arduino USB Prgmr Remote Ctrl LCD Menu Geiger PC Setup Tool 7 Segment Disp GK
WiFi Kit ESP8266 Prgmr ESP8266 IDE Add On IOT Setup DHT22 Rain Sensor OLED Schematic ThingSpeak IOT Monitor Widget Code/Code Mods
Schematic
Wiring & interconnections of modules
Home Kenley Weather Radmon World Radiation Map Kenley Radiation Monitor
Section TOP Features Design PSU Build Summary Geiger Module PCB Arduino USB Prgmr Remote Ctrl LCD Menu Geiger PC Setup Tool 7 Segment Disp GK
WiFi Kit ESP8266 Prgmr ESP8266 IDE Add On IOT Setup DHT22 Rain Sensor OLED Schematic ThingSpeak IOT Monitor Widget Code/Code Mods
Section TOP Features Design PSU Build Summary Geiger Module PCB Arduino USB Prgmr Remote Ctrl LCD Menu Geiger PC Setup Tool 7 Segment Disp GK
WiFi Kit ESP8266 Prgmr ESP8266 IDE Add On IOT Setup DHT22 Rain Sensor OLED Schematic ThingSpeak IOT Monitor Widget Code/Code Mods
Tap on a chart icon in a widget to view charts for every monitored field
for various periods.
Tap on a Field value in a widget to refresh manually.
Tap on a menu icon in a widget to configure and customize it.
Configure needed refresh time for every widget.
Customize widget UI, value rounding and font size, background color
and background transparency.
Usage examples:
As an example of IoT ThingSpeak Monitor Widget usage is monitoring
of your own weather station.
Actually it is so easy and cheap to create it with Arduino or ESP8266.
There are lots of blogs where you can find related step-by-step
manuals.
Here are some of them:
1. Low cost WIFI temperature (DS18B20) data logger based on
ESP8266 with connectivity to thingspeak.com
(http://www.instructables.com/id/Low-cost-WIFI-temperature-data-
logger-based-on-ESP/)
2. Send sensor data (DHT11 & BMP180) to ThingSpeak with an
Arduino, using cable or WiFi (ESP8266)
(http://www.instructables.com/id/Send-sensor-data-DHT11-BMP180-to-
ThingSpeak-with-a/)
3. ESP8266 Weather Station with Arduino
#1 Hardware (http://www.instructables.com/id/ESP8266-Weather-
Station-with-Arduino-1-Hardware/)
#2 Software (http://www.instructables.com/id/ESP8266-Weather-
Station-with-Arduino-2-Software/)
I used the existing TONE_POT and ALARM_PIN as these functions were not required in my setup and also pins A4 & A5 as they were spare.
Code Line
Number in Function Name Details
Function
85 GeigerKit_v11_1 Function MAX2719 for 7segment display added to pins 14,18 & 19
213 GeigerKit_v11_1 Function Mod to LCD display version number so my version of the original code is added to original code version
e.g. v11.1.20 Brett shows I have changed v11.1 code by adding my code v20
326 GeigerKit_v11_1 Function static boolean scalerDispUsed = true; change from "false" to enable scaler from start
331 GeigerKit_v11_1 Function PIR control of 7 segment and LCD display (not backlight)
355 GeigerKit_v11_1 Function Set value of 7 segment display brightness to value of Intesity
Set value of peekDisp to value of omeMinCnt x6 this is the CPM Pk display & display it on the top row
366 GeigerKit_v11_1 Function
digits 1 to 4 with 3 digit 0 and zeroe blanking on digit 4
Bottom LED Row 1st 4 digits CPM display setup and show CPM on 7 seg display inc 3 digit 0 and zero
567 GeigerKit_v11_1 Function
blanking on 4 th digit
666 GeigerKit_v11_1 Function Put "*" in the corner of the display if MUTE is on
672 GeigerKit_v11_1 Function Show 7 seg intensity on 1st row of LCD display
692 GeigerKit_v11_1 Function uSvDisp LED display Bottom right digits 5 to 8 Dose display inc decimal point with digit 5 always blank
768 GeigerKit_v11_1 Function LED display Top left digits 5 to 8 Average Dose inc decimal point with digit 5 always blank
1059 GeigerKit_v11_1 Function LED logging indication commented out as this LED now flashes on every count
1070 GeigerKit_v11_1 Function Serial print LED indication commented out as this LED now flashes on every count
Add variables for 7 digit displays 01 to 08 bottom row CPMdigit01 to CPMdigit08 and top row CPMdigit201
to CPMdigit208, infraredSw to A1, cpmuDispLED (CPM display) , uSvDisp; interger for dose in uSv ,
151 GeigerKit.h Function uSvInstant; //interger for Instant dose in uSv, peekDisp; interger to show CPM Pk, Intensity = 2; 7 segment
display intensity (2 on startup)
IR Function No changes
20 Menu Function 7 segment display brightness set directly when digits 0 to 9 are pressed "TEST" button now spare
Atemega 328 Pinout
Home Kenley Weather Radmon World Radiation Map Kenley Radiation Monitor
IDE in Green
Section TOP Features Design PSU Build Summary Geiger Module PCB Arduino USB Prgmr Remote Ctrl LCD Menu Geiger PC Setup Tool 7 Segment Disp GK
WiFi Kit ESP8266 Prgmr ESP8266 IDE Add On IOT Setup DHT22 Rain Sensor OLED Schematic ThingSpeak IOT Monitor Widget Code/Code Mods
Code
This now has code to PIR control to the OLED display to prevent screen burnout
I am not very good at coding and I am sure there are many better ways of modifying the code to add 7 segment displays so I have commented my
code thus //Brett
at the beginning and end of any mods or additions. This along with the tables above should make it quicker to see what mess I have made of the
code and allow you to enter your own pretty code instead!