KEMBAR78
RadMon+ Kit Assembly Guide | PDF | Battery Charger | Electrical Impedance
0% found this document useful (0 votes)
251 views13 pages

RadMon+ Kit Assembly Guide

This document provides instructions for building the RadMon+ hardware monitoring kit. It includes a parts list and step-by-step directions for assembling the main circuit board and carrier board that holds the ESP8266 WiFi module. Tips are provided for soldering techniques and ensuring proper orientation of polarized components. Building the kit takes several hours and care should be taken to solder parts correctly on the first attempt.

Uploaded by

agira37
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
251 views13 pages

RadMon+ Kit Assembly Guide

This document provides instructions for building the RadMon+ hardware monitoring kit. It includes a parts list and step-by-step directions for assembling the main circuit board and carrier board that holds the ESP8266 WiFi module. Tips are provided for soldering techniques and ensuring proper orientation of polarized components. Building the kit takes several hours and care should be taken to solder parts correctly on the first attempt.

Uploaded by

agira37
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

Build Instructions and User Guide for the RadMon+ Kit

Hardware version v2.2 / Software versions v2.8+ / Doc Rev. 1

Getting Started
Congratulations! This kit is a great way to get your Geiger readings on the web with a dedicated monitoring station. The
RadMon+ kit has been designed so that no programming experience is required to use it. I hope you enjoy building it as
well as using it.

General tips:
 "Sometimes just hours of trial and error debugging can save minutes of reading instructions."
Even if you’re experienced, you run the risk of wishing you had considered something beforehand.
 Use the Build Sequence (below). It describes the part orientation and options as you go.
 Use the Assembly Images and schematic (below) to help you.
 Missing parts / extra parts – You are more likely to get an extra part, but if something is missing, let me know.
 Take your time! It usually takes a few hours to build this kit. Solder the right part, the right way, the first time.
Parts are hard to unsolder.

Soldering:
Solder the joint so that you have a nice round dot. Do not use too much solder, and add enough heat for a good flow. The
holes are plated through, so don’t worry about getting solder up to the top of the board.
rd
A “3 hand” with a piece of solder in one of the alligator clips can be handy when tacking in headers, etc.

Careful with flux pens! Some may leave a residue that is slightly conductive and can cause wacky problems. It's best to
clean the board after using them, or simply use only the rosin core solder. Never use a flux paste - you're not a plumber!

I do not recommend using lead free solder for the kit. In my experience, it makes parts even harder to unsolder, and more
heat is needed which may damage the pads. However this is your choice.

Step 1 - Building the Kit:


Build the Carrier Board
Here you will solder the pre-programmed ESP8266 to the little carrier board. Be sure the ESP8266 is facing the right way
(see pic). The technique I use is as follows.

 Center the ESP8266 on the pads, hold it down with your finger and tack in a few pads. There is usually a bit of
solder already on the pads, but put a some on the iron's tip if it helps. Check that everything aligns.

 Now solder all the pads. Place the iron on the pad away from the half hole ("castellated hole"). Add a bit of solder
and slide the iron until it touches the half hole. Heat until the solder flows up the hole. A flux pen may come in
handy for this, but it's usually not necessary.

 After all pins are soldered, clean the top of the board with alcohol if needed - especially if a flux pen was used.

Finally, install the two 8 pin male headers. It's a good idea to the put the headers in a breadboard first. Then place the
carrier board on top, and solder. This ensures the headers will be square to the board.

The carrier board will mount on the main board as shown below.
(your ESP8266 may look slightly different)
Build the Main Board
Use the table below as your guide to building the kit. Its approach is to build the board by height – starting with the
shortest components. It's easier to work on a board that lays flat and holds the parts in place when you flip it over to
solder. While working, refer to images on the next page to double check orientations of parts, etc.

Build Sequence and Parts List


Qty Y
Ref # Value Description Notes polarized? -> N
PCB 1 ~3" x 4" (~7.6 x 10.2 cm) Orientation: BATT terminal is at top of board. --
R1 1 1kΩ ▐▐▐ BN,BK, RD Be sure last band is red – not orange N
R2 1 10kΩ ▐▐▐ BN,BK,OR Be sure last band is orange – not red N
R3 1 2.2kΩ ▐▐▐ RD,RD,RD N
R4 1 100Ω ▐▐▐ BN,BK, BN Be sure to use the R4 pads - not the R14 pads N
R5 1 47Ω ▐▐▐ YL,VT, BK N
R6 1 1MΩ ▐▐▐ BN,BK,GN N
R7 1 4.7MΩ ▐▐▐ YL,VT,GN N
R8 1 1.5kΩ ▐▐▐ BN,GN, RD N
R9 1 100kΩ ▐▐▐ BN,BK,YL N
R10 1 27kΩ ▐▐▐ RD,VT,OR N
R14 1 220kΩ ▐▐▐ RD,RD,YL N
D1 1 1N4148 polarity: banded side (cathode) towards the top. Y
3.3V REG 1 MCP1825 3.3V 500mA LDO Tip - Put a bit of solder on one pad, position, and solder that pad first. Y
push button 2 SMD reset & program sw Tip - Put a bit of solder on one pad, position, and solder that pad first. N
C7 1 330pF #331 ceramic capacitor N
C2 1 1uF #105 ceramic capacitor N
C3 1 .1uF #104 ceramic capacitor blue N
C4 1 2.2uF #225 ceramic capacitor N
COUNT and PGM polarity: Small flat on side, or shorter lead, goes up on COUNT LED and
LED 2 RED Y
down on PGM LED (near PGM button).
1000V 1A Ultra Fast diode polarity: Bend over the lead on the banded side (cathode) The body
D2 1 UF4007 (anode) goes into larger silkscreen circle, and the cathode goes into the hole Y
on the right. See pictures below.
C5, C6 2 .01uF #103 HV ceramic cap larger blue caps N
NPN HV transistor polarity: flat side towards left
Q1 1 STX13005 Y
(formed leads) Don’t try to push in all the way to PCB.
NPN BJT transistor polarity: flat side towards left
Q2 1 2N4401 Y
(straight leads) Bend the center lead back – don’t try to push in all the way to PCB.
C1 1 4.7uF 50V electrolytic capacitor polarity: "-" stripe to the right Y
carrier board headers Place both headers on the male pins of the assembled carrier board. Then
headers 2 8 pin female place on the two inside rows of the main board. Flip over and solder or tack N
in. Remove the carrier board for now.
headers 2 8 pin female I/O breakout headers Solder to the pads outside of the carrier board headers. (space in between) N
header 1 2x4 pin fem. OLED connectors Solder to the 2 sets of pads marked OLED1 and OLED2 N
header 1 1x4 pin fem. BME280 / AUX I2C conn Solder to the set of pads marked BME280 N
header 1 2 pin fem. AUX power Supplies 3.3V and Gnd. for user devices - not intended for powering the kit. N
header 1 6 pin 90° male FTDI connector Used for serial output and programming. (requires serial to USB adaptor) N
5 mm pitch polarity: open towards edge of board.
screw term 2 2 pin Y
Suggestion: If you trim the leads, don't use your precision cutters for this.
L1 1 13R156C 15mH 80mA 31.0 ohms Orientation shouldn’t matter but install as pictured N
HV Pot 1 100K blue 25 turn HV pot polarity: screw is up Note: pot is preset for ~400V (~26kΩ wiper to ground) Y

Solder Jumpers
There are 2 solder jumpers on the top of the board in most cases they are set correctly so you don't need to change them.
Cutting the LED jumper will disable the COUNT LED.
Shorting the RL-JMP removes the 4.7MΩ anode resistor from the circuit. Do this only if an anode resistor will be
installed directly at the GM tube. This is sometimes helpful if the tube is connected to the counter with long wires.
Do not run the tube without having an anode resistor somewhere.

Mount the OLED


One of 2 types of OLED may be supplied. It is important that you plug it into
the right OLED connector! If your OLED has the GND pin on the left, plug it
into the OLED1 header. If your OLED has the VCC pin on the left (most
likely), plug it into the OLED2 header. You may want to put tape over the
unused header so you don't accidently use it in the future.
M2 standoffs and screws are supplied to support the bottom half of the
OLED. Insert the screws from the back in the set of lower holes that match
your display position, and screw in the standoffs. Add the display, and
screw it into the standoffs.
Assembly Images:
Completed board . . . PCB layout . . .

Background:
Before we go on, it's a good idea to give an overview of how the RadMon kit works. This will help you with any decisions
that have to make in Step 2.

To save power, the kit counts for a period and sleeps for a period. The periods are set in "AP Config mode" with your
browser. After the count period, the data collected, is sent to the IOT sites that you configured. The kit will then sleep to
save power. When the sleep period is over the kit will reboot and begin counting again. (If the sleep period is set to zero
there is no sleep or reboot and the kit will send at the end of each count period.)

At a minimum, cpm, dose (in uSv), and rssi (WiFi signal strength) are collected.

If an optional BME280 sensor is added and configured, temp, humidity, and pressure from the sensor is also collected.
You can also configure the kit to collect the status of 2 user I/O pins which are intended to show the charge status if a
solar charging circuit is used. (see Appendix IV for details on these two options.)

You will select the IOT sites that you wish to connect to in the AP Config mode. The data sent to these sites depends
somewhat on what site it's sending to. The Radmon.org IOT site only accepts cpm, and that is all that will be sent, while
the ThingSpeak site and MQTT brokers can accept all the data collected.

The ThingSpeak site must be setup to expect the data that you are about to send. This is explained in the next step when
you create the accounts for these sites. Note that whether or not you send BME280 data, and the charge status, they will
affect the number of fields that you will setup in these sites.

For a start you can simply setup these sites for cpm, dose, and rssi and configure the kit with the BME280 and charge
status off. You can always go back to these sites and add the additional fields when you turn these parameters on.

OK, you're ready to continue!


Step 2 – Create Accounts:
The software supports connecting to any or all of the 3 sites listed below. Use these steps to create accounts for the sites
you want to connect to. Each will give you account credentials that you will enter in Step 3.

You can choose one or all of them. You can always go back and add more. You may want to investigate each to get an
idea of how the data is presented to help you decide.

Radmon.org: (no relation)


This site only displays CPM and calculates uSv. However it allows you to compare that value with sites all over the world.

 Open an account with Radmon.org - here. Note the Username and Password you choose.
 No other setup is required.
 You will use the username and password in Step 3.
 Note that the webmaster must activate your account. This could take a few days.

For ThingSpeak:
This IOT site has a lot of features such as graphing. (i.e. See Appendix IV - "Get Tweeted if CPM exceeds a set value".)

 Create a free ThingSpeak account - here. Click New Channel where you will list the fields that you want. The
field names are predefined as field1, field2, field3, etc. So you can assign any descriptor to each field. However,
they must be defined in the order they are sent. In other words,
field1 = CPM, field2 = Dose, field3 = RSSI, field4 is not used - skip this.
 If you add the BME280 sensor, you can add additional fields which are: field5 = temperature, field6 = humidity
and field7 = pressure. If you configure the RadMon to send the charge status, you can add a field8 for charge.
(the image below has all fields set)
 You will be given a Write API Key. You will use this key in Step 3.

For MQTT:
This is not an actual IOT site, but rather it's a "lightweight messaging protocol for small sensors and mobile devices"
(mqtt.org). With it, RadMon will send its data ('publish') to a MQTT 'broker' that you define. That data can be read
('subscribed to') by another device. Some MQTT brokers also have a web interface that will allow you to see the data that
you are publishing. Adafruit IO is one of these, and it will be used here as an example.
 Start by following the Adafruit tutorial here. Do "Step 0" to setup an account and get a key.
 When you get to the part about making feeds, make the following feeds - cpm, dose and rssi. Note Case!
 If you will be using the BME280 sensor, also make temp, humid, and pressure feeds. If you configure the
RadMon to send the charge status, also make a charge feed. It is best not to use "Groups" when making feeds.
 Note the path to the feeds you have created. It will be <username>/feeds/.
 Continue in the tutorial on making a dashboard and adding 'blocks' to it
using the feeds that you have created. (This step is not strictly required but it will
allow you to see your data.) Example on left has 2 gauge blocks and a graph block.

Assuming this example, the following setup info will be used in Step 3:
User - Adafruit user name you used to signup.
Password - called 'Key' in Adafruit. (see tutorial)
Server - "io.adafruit.com".
Port - generally use "1883".
Topic Path - "<username>/feeds/"
When it's understood, you'll find MQTT to be simple and powerful. You may wind up using another broker. See Appendix
IV for more on MQTT. Note however, that you are on your own beyond this example.
Step 3 – Start AP Config mode and configure the parameters:
Parameters that configure RadMon for your WiFi network, IOT sites, and software features, are configured by the browser
on your cell phone or notebook. To do this you must set the RadMon in "AP Config" mode. In this mode "RadMon" will
show up as an access point in your list of available WiFi connections and will serve the pages shown below.

The first step is to power on your kit. See Appendix II for info on powering your kit. It is best not to connect the GM tube
at this time.

To enter AP Config mode you will press the PGM button 2 times at startup. The best
way to do this is to press the RST button to restart, and then be ready to press the PGM
button when you see the prompt on the OLED. The first time you press the PGM button
you will be in "HV adjust mode" (top right). Pressing the PGM button again while in this
mode will set AP Config mode. It could take several attempts to get into this mode, just
hit RST button and try again. When you see "AP Config Mode" (bottom right), you've
made it. The count LED will light steadily to indicate you are in this mode.

Now go to your phone or laptop and look at available WiFi connections. You should see "RadMon" listed.
Connect to that. It may take a while to finalize the connection. There is no password required.

Finally, open your browser and go to 192.168.4.1. You should see the screen on the left.
(The screen may show without graphics the first few times.)

Pressing NETWORK CONFIGURATION from the main screen will open the screen on the left.
(The first time you use AP Config you may not see the default values until you go back and forth to main
menu a few times.)

Enter the SSID of your WiFi network (writing over the defaults) and its password, and press SAVE. After a bit
you should see CONNECTED in the Connection Status box. Then you're in good shape.

If you're patient, you will see the available networks at the bottom of the screen. Touching those links will
enter the SSID in its field. Use the REFRESH button to refresh this listing.

Use the red back arrow button to return to the main menu. If you go back to this screen you should see that
your settings are saved. (You will only need AP Config mode if you change parameters in the future.)

Pressing IOT CONFIGURATION from the main screen will open the screen on the left.

Now it's time to select the IOT sites you want to connect to, and enter their credentials.

Check each box for the sites you want to use, and enter the information you gathered in Step 2 in the fields.
Then press SAVE. (Tip: lowercase 'L' and '1" can look the same in some fonts.)

RadMon will only connect to the IOT sites that you checked - regardless of what is in the other fields.
Therefore you can enter your credentials but uncheck the box to save them for the future.

The final configuration screen is GEIGER CONFIGURATION.

Enter the number of seconds to count (60 recommended) and to sleep between counts (240 recommended).
If you run the kit on solar power you will definitely want the 4 minute sleep period to save power. You can set
the sleep period to zero for continuous operation if desired.

Enter the CPM to uSv ratio for your GM tube. Only the whole number is saved. 175 is typical for the SBM-20.

Elevation (in meters) is only used for the optional BME280 sensor to convert to sea level pressure. Note that
you must have considered using the BME280 during Step 2. There are 2 different I2C address Check the
Adafruit box in addition if using one from there or Sparkfun (addr. 0x77). Don't check it if your BME280 came
from eBay (addr. 0x76). Check millibars or else pressure will be in inHg, and check Celsius or else
temperature will be in Fahrenheit. See Appendix IV - Adding Peripherals for info on the Charge Status
parameter.
The DEBUG parameter prints messages to serial and also leaves the data on the OLED during sleep.

You might run through the screens again to check your input. Press the RST button to exit AP Config mode.
See Appendix III - Troubleshooting for help with AP Config mode.
Step 5 - Running the kit:
Finally! But first look at Appendix I to check and adjust the HV.
Also see Appendix IV - Adding Peripherals if you want to connect the BME280 sensor at this time.

Now you can add your GM tube. 1/4" Fuse clips are provided to connect to the many common GM tubes. A heavy wire is
not necessary for the connection. Observe polarity for the tube. The + on the screw terminals goes to the anode (+).

Power it up and you should see the Count LED at the top of the board flashing. You will see CPM and uSv on the OLED,
and optionally, the BME280 readings. These readings will refresh every 5 seconds.

After the count period is over (default is 1 minute ), it will send to the IOT sites that you configured. RSSI will be displayed
at the top. RSSI is a measure of the signal strength of your WiFi connection. It is a negative number from -1 to -100. The
closer to zero the better the signal. Generally, anything above -85 is OK. You will also see the values being sent and to
whom they are sent. (The OK after the site name only means that the site connected. The site could still reject the data.)

After sending, the RadMon will sleep for the sleep period (default is 4 minutes). If you have DEBUG on, the last readings
will stay on the screen. With DEBUG off the screen will blank to save power. After sleep, RadMon will reboot and begin
the process all over again.

You can go to the IOT sites you signed up for and check your results there. If you don't see any data, take a look at the
troubleshooting section in Appendix III. Generally the most common problem is a mismatch between what is sent and
what the site expects.

If all went well - have a beer! (or whatever)

I hope you enjoy your kit!


John
Appendix I - HV Adjust:
The HV adjust pot should come pre-set for a GM tube voltage of about 400V. So if you're using an SBM-20 or the like you
should be fine right out of the box. But hey, you got to tweak it, right?

Rather than torture you with helpful background information, let's go right into the HV adjust procedure.

1. Disconnect the GM tube and power the kit with a good 5V source.
2. Press the RST button. You will see something like the screen on the right. You will see
your current HV. and "Press PGM now to Config", and then later "Counting...".
3. Now that you know what to expect, hit the RST button and try again. This time, press
the PGM button before you see the "Counting..." line. You have about 5 seconds to
do this. If the PGM button press isn't recognized, hit RST and try again.
4. When you get into the voltage set mode you will see something like the screen on the
right. Notice that this screen also shows the current RSSI. This may be handy when
positioning the RadMon outside.
5. Now you can adjust the multi-turn HV pot to your desired voltage - clockwise to
increase and counter-clockwise to decrease. The range is about 100-875V with the
current software. Most tubes operate at between 400-500V.
6. Some things to note:
a. Voltage is re-checked once a second during the adjustment mode. So adjust slowly.
b. There is play in the pot when reversing the direction.
c. You will get old trying to make adjustments down to the volt - you're not tuning a violin.
d. Displayed voltage is an estimate of what it should be. It is fairly accurate, (a few % between 300-700V in
my tests). If you need higher voltages, it's best to actually measure them - see the section below.
e. Note that if your HV circuit is not working you will still see a displayed voltage since it's a calculation.
7. When you're done, press the RST button.

Helpful Background:
GM tubes typically have a large operating range. You can get a better idea
of this by looking at its “plateau” as shown to the right. Within this plateau
the tube will have about the same sensitivity regardless of the voltage. Put
another way, once the tube is in its operating range, the HV you run
at is not critical, and has very little effect on counts.

One thing to keep in mind though, is that the HV will tend to sag during
counts in the thousands of CPM. Though this is unlikely for a background
monitor, it is recommended that the voltage be set near the high end of the
tubes range. Doing this will keep the tube running in its operating range
during high counts.

If you want to measure the HV directly, keep in mind it's a bit tricky. The GM tube needs a lot of voltage but only a tiny
amount of current. The HV circuit only needs to provide this very tiny current, and that's what it does. This is
good because the battery will last longer - and it won’t kill you. However, it makes measuring the high voltage a bit more
complicated.

When measuring voltage, a typical DVM will put a load on the circuit it's measuring of about 10MΩ. This load is far too
much for the tiny amount of current available, and the DVM will read much lower than the actual voltage. A meter with a
10MΩ input impedance will read about 133V when the voltage is at 400V. You need about a gig-ohm (1000MΩ) of
input impedance to get accurate values of the HV for most Geiger circuits.

One way to increase the input impedance of your DVM is to put large resistors in series with the probe and multiply the
reading you get. Adding 9 10MΩ resistors in series adds 90MΩ. If you want a full gig-ohm of input impedance, it's best to
just buy a single 1GΩ resistor (example). Once you have the resistors added in series with the meter, you have to
multiply the reading by some factor. The formula for this is:
Vactual voltage = Vreading X (Rprobe + Rmeter) / Rmeter
So for example, if you built a 90MΩ “probe” for a typical 10MΩ meter, you’d have 90 + 10 / 10 = 10 so you’d multiply your
reading by 10. If you used a 1 GΩ resistor (1000MΩ) with the same meter it would be 1000 + 10 / 10 = 101 so you’d
multiply your reading by 101.

The HV is best measured between ground and the lead coming from the top (band side) of D2, but using the +
GM_Tube terminal for the positive is about as good. (Do not use the "-" GM_Tube terminal for ground.)
Appendix II - Power:
Initially it's best to power the RadMon with a good 5V USB power adaptor (6V maximum). The ESP8266 can use a lot of
power - over 180mA when transmitting, and over 70mA when running. A power adaptor with at least 500mA is
recommended. Attach it to the "BATT" screw terminals noting the polarity. Powering only with a "FTDI adaptor" may
not provide enough power - especially during transmit.

Since this kit is intended for long term monitoring, you will probably want to eventually run it with a constant supply such
as the USB power adaptor mentioned above, or a solar charged battery described below. However, running directly from
a battery is an option. The 3.3V MCP1825 voltage regulator used in the kit has a very low dropout rating (typ. 210mV) and
the kit itself can run at 3V. Do not go below 3V, or let your batteries run down below that, as this could cause problems
with the ESP8266.

On the other hand, the maximum input for MCP1825 is 6V. All this puts you in a battery voltage range of 3.2V to 6V. So
4x AA NiMH would work, and this is also LiPO territory. I have run it a few days on a single cell 18650 LiPO. It's just that
running without a constant supply may not be practical for long term monitoring.

If your anxious to fire up the kit, you can skip the rest for now!

Since the kit connects with WiFi, you may eventually want to run the kit on solar power. This will give you a truly portable
system. At this writing I have been running the v1 kit on solar power for several years. The solar charger I used, charges
a LiPO and provides a steady 5V to the kit. See Appendix VI for a description of that build, but here are some general
notes regarding battery power saving:

 The default configuration settings (1 minute counting, 4 minutes sleeping) will update the servers every 5 minutes.
Sleep mode saves a lot of battery power, and I find that a 5 minute update is fast enough to catch the trends in
background radiation. Given the solar power budget below, I doubt if sleep period should be shorter. The fact is,
the ESP8266 is just too power hungry to be run constantly.

 The HV circuit powers down along with the ESP8266 in sleep mode and there should be no LEDs lit during sleep.
You could save a tiny bit of power by opening up the LED solder jumper on the board to disable the count LED
but it's only used during counting mode. Likewise you could remove the LED from the ESP8266 module which
flashes with I2C activity during count mode, but the savings would also be very small.

 With DEBUG off, the OLED is off during sleep. You can run with the OLED removed and the kit will still operate.
This will save a little power. In my tests it saved 5mA during counting and .01mA during sleep.

Power budget:
Lets discuss the power budget needed to run RadMon on solar power to see what is feasible.

Based on my tests (normal background radiation, DEBUG off, 3.7V battery) I have measured the following:
Counting: 84mA
Transmitting: 180mA
Sleeping: 160uA

Let's disregard transmitting for now since it only lasts a few seconds. Using the default setting of 1 minute count and 4
minutes sleep . . .
 The average power consumption is 16.92mA (1 x 84mA + 4 x .160mA / 5 minutes)
 Now assume a 2700mAH LiPO. It would last ~160 hours (2700 / 16.92) or ~6.6 days without a charge.
 For this power budget we'll use this Adafruit solar cell and this Adafruit charger
NOTE
. This 2W cell will theoretically
provide 330mA in perfect sun. The solar charger has inefficiencies. Let's say the whole system is 75% efficient.
 So 247.5 mA (330 x .75) to the battery during full sun.
 Given a 2700mAH LiPO, a flat battery would fully charge in about 11 hours. (2700 / 247.5)
 So in theory, the system has 6.6 days to catch 11 hours of solar charging.

In reality, the actual performance will not be this good due to several variables, but sustaining the system on solar power
with good gear is possible. To see how this actually worked out, see Appendix VI.

If you want to power the RadMon with solar power, I recommend that you do not skimp on the solar panel and on the
solar charger. If a smaller panel is used, an option would be to increase the sleep time. For example, using the above with
a sleep time of 9 minutes the system would need 13.2 days instead of 6.6 days to catch 11 hours of solar charging.
NOTE
Adafruit has a great article on their charger and solar charging in general - here.
Appendix III - Troubleshooting:
It's been a long road and there were many ducks to get in a row. Here you find the latest troubleshooting hints I've come
up with based on my own experience and what I've learned from customers. It will be updated with experience gained, so
check for the latest revision of this guide shown at the top of the first page.

If your still having problems contact me. Note however, that I tend to respond with the same level of detail as was given to
me. So please provide a good description of the problem, and tell me what you tried. If I respond with questions and you
ignore them and then flood me with new details, it can make me cranky . I'm a step by step guy. Please include the
software version displayed at the top of the first screen.

Hardware problems
 The best thing to do first, is to go through the build table again and make sure you have the right part in the right
place with the right orientation. Also check that you haven't forgotten any solder joints.

 Double check your connections between the ESP8266 and the carrier board. Check continuity if unsure.

 If you are not getting counts during the counting phase, check your HV. With a DVM between ground ("-" on the 2
pin header) and the + of the tube you should see ~130V when the HV is set for 400V. Also check connection and
polarity of the tube. A quick test for HV is to short the tube wires with your finger tip. You should see counts
during the counting phase.

 Use the schematic in Appendix V to run continuity and voltage checks. Look for 3.3V at the points expected. On
the ESP8266 you should see 3.3V on Vcc, CH_PD, Reset, GPIO0, and GPIO2. You should see a very small
voltage on the ADC pin - like 0.044V. This the HV pot adjustment. If you have a scope, you should see a nice
2.5kHz PWM signal on GPIO5 during the counting phase.

AP Config mode problems


There are a wide variety networks, routers, phones and browsers in the field. I have done my best in testing but there are
many possibilities. Therefore, you are probably in the best position to troubleshoot most problems with the AP Config.
However, here are a few tips:
 Be sure you are using an adequate power supply. powering from an FTDI may not provide WiFi.
 If you have trouble getting into AP Config mode, keep trying by using various delays between prompts.
 If you don't see "RadMon" listed in available connections, reset and go into AP Config mode again. Try
"forgetting" the WiFi connection you usually use. It may take a while to fully connect to the RadMon SSID.
 The first time AP Config Mode is run, the setup may not go as smoothly as subsequent setups. You may see
incomplete pages and no defaults. Cycle through the pages.
 If you can connect, but cannot browse to 192.168.4.1, make sure you are still connected. Also try another
browser, or another device such as a phone, tablet, or computer.
 Check your WiFi and firewall settings.
 Contact me.

Problems connecting to monitoring sites


 If you're seeing an endless "Connecting ..." at the end of the count period make sure your SSID and password
have been setup correctly in AP Config mode.

 SSIDs which have special characters may have problems, although the underscore is said to be OK.

 Once after several months of stable operation the ESP would no longer connect to WiFi. Restarting the router
solved the problem.

 Looking at the serial output (115200 baud) with Debug on is a good way to diagnose connection problems. It
shows what is being sent to each site and the response from that site. The response can be very informative. For
example, it may tell you that field names sent do not match the field names set up on the site. This may be the
most common connection problem, so check that the field names match. If you need help with serial output
contact me.

 Constant Restart - If you have been loading other sketches they may have messed with the watchdog timer. If
you see "wdt reset" in the serial output constantly, Google "ESP8266 wdt reset". You will find articles to help
you.
Appendix IV - Adding Peripherals and More:
Adding a BME280 Temperature / Humidity / Pressure Sensor
You can purchase this sensor from Adafruit or on eBay (example). The choice is yours. The eBay version is quite a bit
cheaper than the Adafruit sensor but it's a knockoff.

The BME280 is generally connected to the BME280 I2C header on the board. Sensors with only 4 BME280 RadMon
pins from eBay will likely be a 1:1 connection but make sure it is. --------------------------
3.3v -> 3.3v
The BME280 from Adafruit has 6 outputs labeled: Vin, 3.3v, GND, SDK, SDO, SDI. Connect 4 of GND -> GND
the pins as shown on the right. (Skip the SDO pin on the BME280.) SCK -> SCL
SDI -> SDA
The Adafruit version has a different I2C address is different between them and described in Step 3.

(An alternate connection for I2C is to use the I/O headers - GPIO0 is SDA, and GPIO2 is SCL and 3.3V and ground from
there or the Aux power header.) You may want to extend the connection to the sensor so it can be placed under a small
hole in the case. On the 115x90x55MM Waterproof case suggested below you can mount it in one of the corner spaces
that are actually outside the waterproof area and drill some vent holes to the outside.

About barometric pressure:


Barometric pressure can be output in millibars (i.e. 1004.14mb ) or in inches of mercury (i.e. 29.63 inHg) depending on
how you configured it. In either case, the reading is adjusted to sea level. The formula used for this conversion is here.
Note that the altitude (in meters) that you entered in AP Config Mode is involved. So is the current temperature. If you
don't want to adjust the pressure for sea level, enter zero for your altitude.

Using the charge status pins


If you are using a solar battery charger, or perhaps another device, it may be useful to send the charging status to the
ThingSpeak site so you can monitor the charging status online.

For example this Adafruit charger has 2 open collector outputs that indicate "charging" and "done charging" when they go
low. If you set the parameter for xmit Charge Status and connect the "charging" output to GPIO14 on the I/O headers
and the "done charging" output to GPIO4, RadMon will send this status as 0 (not charging), 1 (charging), 2 (done
charging), and possibly 3 (charging + done charging). Again, these pins are assumed to be "open collector" and low
active. They are pulled HIGH in the code but in some cases a stronger pullup (10kΩ) might be required. This is especially
true for GPIO14.

Casing the Board


The RadMon PCB board was designed to fit a 115x90x55MM Waterproof case available on eBay (examples). This case
has room for a LiPo battery and a SBM-20 GM tube just fits. (You may have to modify the fuse clips.) You will probably
want to use metal standoffs to mount the PCB high with the other components underneath. M2 metal standoffs with a
male end will self tap into the holes in the bottom of this case.

If you'd like to go with a bigger case you can mount the RadMon on a substrate that fits your particular case.

PGM switch on the case


You may want to extend the PGM switch so you can enter AP Config mode without opening the case. You can do this by
connecting and external pushbutton to the (GPIO) 0 pin on the left header. Connect the other side of the pushbutton to
ground. You will likely have a power switch, so press the PGM pushbutton after powering on.

Get Tweeted if CPM exceeds a set value


If you're sending to ThingSpeak, you can combine two of their 'apps' to receive a Tweet when CPM (and/or temperature,
etc.) reaches a threshold that you set. It's pretty simple to setup and requires no changes to RadMon. You will find step
by step instructions to set this up here.

TIP: When you set up the Tweet message, you can also add the current CPM with a line like ...
"CPM = %%channel_xxxxxx_field_1%%"
(Where xxxxxx is your channel number. and 1%% is the CPM field number.)
Using Google Charts to Display Your Data
I've written some HTML to use Google Charts. (I'm not the best HTML guy though.) The
idea is to read the data from the ThingSpeak site and display it with Charts on a local
page living on your own site. (I was hosting that HTML on Dropbox but they have quit
allowing the running HTML from their site. However pCloud will allow this.)

If you're interested in doing this, you can contact me and I'll be happy to send you the
code. You can also get the code for ThingSpeak by viewing the source with your browser
on this page. The comments in the code should be all you need.

Going further with MQTT


 You may wish to use other brokers besides Adafruit IO. I have experimented with only a few, but cannot say for
certain that all brokers will work. When using a broker that does not have a "dashboard" or interface, you must
use some other application to "subscribe" to your feed.

 For brokers that do not use usernames and passwords, (example) set the User in the configuration to null - i.e. "".

 I have made a "subscriber" ESP8266 sketch that subscribes to everything that RadMon+ sends to the broker. It
outputs the values to serial, and optionally on an OLED. Please contact me for that sketch if you are interested.

MQTT subscribed to "subscriber"


cpm=
RadMon+ cpm = 22 ... sketch
broker cpm
22

 .There are tools for publishing and subscribing that may be helpful when debugging a connection. Downloads for
the popular mosquitto _sub and _pub are here. I found this a bit tricky to install on Windows and I
used MQTTlens, a Google Chrome application instead. It will connect to your MQTT broker and is able to
subscribe and publish to MQTT topics.
Appendix V - Schematic:

Pin Map:
Appendix VI - Example using Solar Power:
It is hoped that documenting this project will help you with your own.

Notes on the build:


 This project used this Adafruit solar cell . This is a 6V 2W cell that is said to provide 330mA in perfect sun. As a
cheaper alternative you could try something like one of these.
 It also used this Adafruit charger . One of the nice features of this charger is that it provides "status" pins to
indicate when it is charging, and when the battery is fully charged. There is a parameter in AP Config to read
these status pins and send this information to the IOT sites. This gives a good indication of what's going power-
wise. Without a battery status it will take awhile before you know that your system is self sustaining.
 A 2000mAH LiPO was used. Several 18650 LiPO batteries in parallel may also work.
 A 115x90x55MM weather-proof enclosure (eBay examples) was used to provide plenty of room for kit, SBM-20
GM tube, charger and battery. The tube, charger and battery were mounted on the bottom of the case. Four
25mm M2 brass standoffs were self-tapped into the case to hold the RadMon+ PCB. The solar panel was
attached to the enclosure with strong magnets.
 An I2C cable was run outside the enclosure to connect to the BME280 fitted in a plastic tube. (If you don't want to
have your OLED in the case, it can also be temporally attached to this I2C connection. Gotta love that I2C.)
 A power switch, PRG button, and socket for the solar cell were mounted on the box.
 If you have trouble with WiFi signal strength you could try using a WiFi range extender. (example only)

Reception:
 The unit was located outside ~30 feet (10M) from the house in the sunniest spot. The WiFi router is in the center
of the house.
 The average RSSI at this location with the ESP-12F is -82.

Typical Results:
 Day 1: "charging" status on for 7 hours. The "charged" status never comes on.
 Day 2: "charging" most of the day. The "charged" status comes on briefly at the end of the day.
 Day 3+: after ~3 hours of charging, the battery status shows fully charged and remains so until the sun was lost.
The system is self sustaining. See below.

Build Pictures:

You might also like