Updated the probe for the DHT22 / MPL3115A2, the holes coming up through the base were enlarged and sensor mounting areas were tinkered with after my first print showed some issues. The DHT22 / MPL3115A2 probe was made with Tinkercad. Edit it online if you need any tweaking for your sensors. https://www.tinkercad.com/things/2neqPEmkfyT
This is a project that marries 3d printed Items (Base and Mount) with already available items (Pie Tins) to create a Stevenson Screen. To a purist, since all the pieces can be printed they should be. I do not have a 3d Printer yet, so to lower costs I used some readily available ready made items, the pie tins lower the over cost of the project.
I initially started searching for a 3d project and found several suitable candidates, but the cost was to high. So I search for a way to lower the cost and found two:
a Paper by the USDA - Forestry service titled "An inexpensive meteorological radiation shield for thermistors and thermocouples" it is available on many sites including: https://archive.org/details/inexpensivemeteo190barn
- A website called "Weather for Schools" it is a UK site that discusses how to use Plant Pot saucers as the Stevenson shield for for the Temperature and Humidity measurement.
I selected pieces of several remixes to work in tandem with the pie tins or plant saucers.
I Used the following Electronic and off the shelf pieces for this project:
Adafruit Feather M0 WiFi - ATSAMD21 + ATWINC1500
https://www.adafruit.com/product/3061 - uses external Antenna
Also available with a built in antenna - https://www.adafruit.com/product/3010
Terminal Block Breakout FeatherWing (The larger half size prototype board could be used)
USB / DC / Solar Lithium Ion/Polymer charger - v2
I used a Schottky Diode10SQ045
Medium 6V 2W Solar panel - 2.0 Watt
Small Solar Panel Bracket
Solar Extension with Exposed Leads to go into the electronics box
Battery - Lithium Ion Polymer Battery - 3.7v 2500mAh
Thermistor to measure temp of battery
3k 1/4w Resistor to limit current draw based on 6V 2W Solar panel
Barometric Pressure & Altitude Sensor MPL3115A2
Temperature / Humidity Sensor DH22
5" Steel Pie Tins or 6" Plastic Flower Pot saucers
M/F pair 4 wire Black Pigtail Plastics Waterproof IP65 cable assembles. There are other brands but I used some from.
Small Waterproof Nylon Cable Glands PG7 / M12 size suitable for wire 3mm-6.5mm Dia
Waterproof box to house the electronics. The one I used was 125mm x 175mm x 75mm
There are several on Thingiverse that can be printed.
or I choose to purchase one
Arcylic sheet (for mounting the circuit boards) Available in hardware stores, Lowes, Home Depot, Etc...
M2.5 or M3 x 6mm Standoffs I found these on Amazon
M2.5 or M3 x 5mm Screws I found these on Amazon
pole 1" (Bird feeder pole) to 1 3/4 (TV anntenna Mast) to mount the Stevenson Shield, the electronic enclosure, and Sloar panel
U Bolts or clamps sized for the pole. Available in hardware stores, Lowes, Home Depot, Etc...
Follow On project: https://www.thingiverse.com/thing:3529776 This allows the SparkFun & Misol Wind Speed, Wind Direction and Rain Fall Measurement to talk to a Master Station via I2C.
Step 1 - after printing clean-up the probe
Both the DHT22 and the MPL3115A2 vary in size a bit from sensor to sensor.
After printing I cleaned up any lose threads from printing.
To get the sensors to snap-in I carefully sanded the sides and a bit of the top on the DHT22 sensor. The MPL3115A2 had a bit of fiberglass lump on the side, this was also cleaned up and the sensor snapped-in.
Before mounting the sensor paint the Probe white with a paint suitable for plastic.
Attach the wires, a third hand device is very helpful in holding the wire together.
I used 4 wire water proof cable connector sets
After the wires attached clean the soldered connections with alcohol.(I used isopropyl) Allow them to dry completely.
- Coat the connections to prevent corrosion. A acrylic spray could be used, but you need to be carful to not coat the presure sensor. (I used silicone modified conformal coating by MG Chemicalsit has a little brush in the bottle so it is easy to control where it goes. This should not be used inside or around an open flame)
Step 2 Prepare the Stevenson Screen (Pie Tins or Flower Pot Saucers)
Using the base make a template for the three holes
Mark each of the Pie Tins or Flower Pot Saucers, then drill 1/16" starter holes and follow up with 3/16" (4.5 - 5 mm) holes for the All thread.
In the center pre drill a starter hole in all but one Tin or Saucer and then drill a 1" (25 mm) hole in them
Remove any burrs. if non stick Pie Tins were purchased the surface of the pie tins will need to be sanded.
If Pie Tins were used spray all the tin with a good metal primer. (I used Rustoleum Red Primer)
paint all the Tins or Saucers for the project White. ( I used Rustoleum flat White, Makes sure you use the proper paint for the surface.
Paint the Base and probe support White with paint suitable for Plastic.
Tap the hole in the base for a set screw ( I used a 10-24 tap and set screw or 5mm)
Test size the length of all thread for the assembly. I use 10-24 all thread. If using pony beads for spacers, use 3mm or 4mm all thread depending on the hole size of the beads.
Cut the all thread to length and fix the damaged thread either with a die set or a file. See the picture below.
Assemble the base by attaching the All thread and then attaching the probe support
- Next put the screen together. ( I used nuts every 3/4" 19mm) 2) 6x9mm Pony bead on each all thread could also be used. Topping it off with the solid tin / saucer.
The Steven Screen is ready to install the probe, but this will be done later.
Pictures are coming
Run the Die about to where you are cutting the all-thread, Cut the all-thread. next run the die accross the cut threads to clean them. Do this for the three pieces.
Step 3 Prepare the enclosure
a. Either print or purchase enclosure. The examples and pictures are with the AdaFruit large project box.
b. If you have an external antenna drill a 1/4" hole off to left of where the Arduino is located.
c. Depending on the number of sensors you have you will need at least 3 holes on the bottom. I used 4 1/2" (13mm) holes along the bottom edge. I centered the first hole and left about 1/4" and then spaced them out about every 3/4". Map it out on paper first and think of where everything will be located inside the enclosure
d. after mapping out the holes drill pilot holes first in the center of each location on the bottom. Then using a 1/2" drill bit carfully drill out the holes.
Step 4 prepare the Electronics.
These instruction are specifically for the Adafruit Feather M0 WiFi - ATSAMD21 + ATWINC1500 but could be modified for any Adafruit Feather and possibly any Arduino.
- Install the Pins on the Adafruit Feather M0 WiFi see the Adafruit learn article at: on how to solder them. It also has instructions on to install the Arduino IDE and down load needed libraries. https://learn.adafruit.com/adafruit-feather-m0-wifi-atwinc1500?view=all
Step 4-2 install pull-up Resistors on terminal block
Install the 10K pull- up resisters between the SDA & 3.3v and the SLC & 3.3v on the Terminal Block Breakout. Cover long exposed leads with heat shrink or the striped insulation from wires to prevent shorting out.
Terminal Block Breakout with SDA & SLC pullup resistors installed
Step 4-3 Install Arduino
Mount Adafruit Feather M0 Wifi on the Terminal Block Breakout.
Step 4-4 Setup Solar LiPo charger
a. I installed the capacitor sideways with a bit of heat shrink around the wires. I also used silicone caulk to keep the capacitor from moving around.
Note the caulk needs to be the type that does not out gas acetic-acid. Acid will eat the metal in the circuit boards.
b. Install a female 2-pin JST receptacle or a female 2-pin JST cable to DCIN on the LiPo charger board.
Note: Make sure that Red wire is to + and the Black wire to -. I used a receptacle that is straight up and the Key way is out.
Step 4-5 Build mounting plate
a. I measured the inside of my project box and created a paper template. I then placed the electronics on it and marked where the screw holes were located.
Note: Keep in mind that you may need to plug into the USB and allow enough room to insert the stiff cable. When you are locating where to place the boards think on where the sensor wires will be coming in to the water proof enclosure.
b. I used an acrylic panel and carefully cut out the outline from the template and sanded the edges.
c. Drill the holes from where the boards are to be placed and mount stand offs.
Electronics mounting plate
Step 4-6 wire terminal blocks for sensor wires
a. on a 1/4 proto board install the terminal blocks. I used 4 position (Black in picture) for the SDA signals(small Brown and Blue wires) and SLC signals (Small Orange and Yellow wires). I used 5 postion (Green in Picture) for 3.3v (blue wire) and Ground (green wire).
b. For the DHT22 sensor there is a blue wire at 12 J (To Sensor) and 12 I (to terminal block next to SLC)
c. 10k Resistor between 12 F and the 3.3v run on the proto board
d. mount this and the Arduino terminal block to the mounting plate.
e. Run the 3.3v, gnd, SDA, SLC and DHT22 wires to the Arduino Terminal block. Use the picture as a guide.
Note: I had a soil sensor that uses the SDA, SLC, 3.3v and GND so this board was needed. If you only have the two sensors in the Stevenson Screen then this may not be needed. but the resistor step b would then need to be mounted on the Feather Terminal block.
Step 4-7 build blocking diode cable
a. take two 2-pin JST cables slip some heat shrink over one black wire and both red wires and push it away from the bare wires. ( I used large diode,)
b. take a Schottky Diode trim it down and trim down red wires
c. tin the ends of the wires and the ends of the diode.
d. solder the black wires togeather
e. Solder the red wire to the diode. Make sure you know the end with the band.
f: push the heat shrink over the exposed wire and leads of the diode and shrink it. Being careful to ensure that the bare wire and leads are covered
g. plug the end with the band in to the Battery connector on the Feather M0
h. mount the Solar Charger on the base plate
I. plug the other end of the wire in to the load connector.
Step 4-8 install mounting plate and cable glands
a. install mounting plate in the bottom of the box
b. install size pg7 cable glands in the bottom holes, first making sure the outside is smooth and the o-ring or gasket is installed on the outside piece of the gland.
c. install external antenna connector. The connector does not come with a water proof gasket, so I installed a 1/4" neoprene gasket on the inside and outside. (So far it has not leaked. If the gasket is real thick then use only one. I think the outside one is more important.)
d. Insert the wires and tighten down the cable glands. If you followed my build placement the solar wire is on the right. the other wire are basically the same.
Note: If you question the water tightness of the assembly. Take out the electronics and test.
Step 4-9 finish Wiring the Sensors and boards
In the picture below the top wire is from the solar cell, The two middle wires are for the I2C bus(SDA, SLC, 3.3v, &Gnd), the bottom wire is from the DHT22 (Temprature, Humidity sensor)
a. Solder a 2-pin JST cable matching red to red and black to black to solar cable. Put heat shrink over the wires before you solder the connections. Then connect it to DCIN on the solar charger.
b. hook the red wires from the 2 or 3 sensor cables to the 3.3v terminal block. In the picture below it is the upper green terminal block.
c. Hook the green wires from the 2 or 3 sensor cables to the Gnd terminal block. In the picture below it is the lower green terminal block.
d. hook the yellow wires from the two center cables to the upper black terminal block this is for the SLC signal. The lower cables does not use the yellow wire. I clipped it and put a bit of heat shrink around it.
e. hook the blue wires from the two center cables to the lower black terminal block this is for the SDA signal. Hook the blue wire from the lower cable to 12 J on the quarter proto board.
f. The battery needs to be secured. you can use a bit hook and loop tape putting a bit on the enclosure and a bit on the battery. You will also want to attach the thermister to the battery I used a bit duct/duck tape.
g. plug the battery into the Batt connector on the solar charger. If the battery is charged The Feather M0 Arduino with start.
Step 5 Edit and load the Arduino Sketch
a. down load the sketch you prefer WiFiWebserver_XML.ino or WiFiWebClient_postData.ino and Arduino_Secrets.h to a folder of the name of the ino file.
b. If you have the ide installed you should be able to doubleclick on the ino file.
for the sketch WiFiWebClient_postData.ino lines 220 and 222 will need to be updated with the server that it is to post the data.
both Sketches need the Arduino_Secrets.h updated with your WPA2 SSID and Password for your WiFI network.
Save your work.
c. Hook a usb able to your Arduino and put your Arduino in bootloader mode by clicking the rst button.
d. Make sure you double check the comm port used in the IDE and then click the upload button. It will load the program and reset the Arduino. If you have issues loading the program make sure you go through the Adafruit learn article.
Step 6 Mount sensor assumbly to pole
a. The mounting pole should be placed away from buildings, trees, or objects that might cast a shadow on the sensors in the Stevenson Shield or cast shadows on the solar panel. to figure the best direction for the solar panel you may want to talk with someone who works with solar in your area or observe other solar placements.
b. The Stevenson shield should be mounted above but not directly above the solar panel.
c. The solar panel should be on the opposite side of the pole from Stevenson Shield.
d. mount Electronic box below the solar panel but it should be accessible.
e. Tie down the cables to the pole to keep them from blowing around in the wind.
My installation is on the end of a former swing set. I used a bird feeder pole. The poles on it can freely turn so I used a stainless steel band clamp to keep them from rotating.
Requierements and Performance
My requirement were:
- Solar powered
- Use WI-FI to talk to a web data collector
- Measure Temperature, Humidity, Barometric pressure. every 5 Minutes
- Have the ability to add additional pieces (Anemometer, Wind direction, rain sensor, Soil Moisture Sensor - This is possible because of I2C bus that the Bkarometer and Soil Moisture Sensor use)
- So Far The 2000 mAH battery has shown the ability to power the devices during the summer night. We will see how well it works during the winter months.
- If the battery is near discharged the 2W panel is having difficulty powering the devices and charging the battery. I will be seeing if I can reduce the power usage by putting the Wi-Fi chip in low power when not transmitting
- We had a heavy down pour and because of the battery performance issues I did not get the cover on tightly. The electronics are fine but after drying out I am adding a weather proof power switch. You must connect any cables with it powered down. Closing the unit up tightly on top of an 8 foot (2.5 Meter) ladder is a challenge. The power switch will allow the unit to be powered up/down safely and it can be closed up on the ground making sure the water seal is correct. I will be updating the instructions once the parts are in.
With the shorter days, longer Nights, gray days and colder weather the Lipo cells are having issues maintaining power. Wifi uses a lot of power, even in lower power mode. I looked at using Bluetooth but it did not have the range I needed. LoRa is a low power radio communication that can go over significant distances.
I am looking to replace the Adafruit Feather M0 WiFi - ATSAMD21 + ATWINC1500 with a Adafruit Feather M0 LoRa 900MHz (Note: the frequency is location dependent. The U.S.A.. uses 900MHz). If you are in a location that has an open LoRaWAN you can use that to get on the network. That is not available in my local so I am waiting for a LoRa-GPS for my Raspberry Pi by Dragino. I will update this once the LoRa is up and running with the weather station.
- I was finally able to get a LoRaWAN gateway up and running to test with. I am using a LoRaGo Port LoRaWAN Gateway by Sandbox electronics. See my project at: https://www.thingiverse.com/thing:3381766 or https://www.thingiverse.com/thing:3464821
- I was able to get the Feather M0 LoRa talking to the gateway and to The Things Network sending temperature and humidity readings.
- During transmission the current used is 1 to 2mA between transmission current is less than 1 mA.
- if I caught the power usage correctly my battery should last a month on a charge.
- I still have some programming to complete and get my gateways antenna outside.
- I swapped in a 6000mAh battery for the 2500mAh battery this should help carry the station through a few Gray days. If you are in the Southern U.S. or location that does have a lot of clouds the power system should not be an issue.
- I have the programing Pretty much complete
- please See My follow On project: https://www.thingiverse.com/thing:3529776 This allows the SparkFun & Misol Wind Speed, Wind Direction and Rain Fall Measurement to talk to a Master Station via I2C.
- The code that works with LoRa and talks to the Slave I2C are called "ttn-otaa-feather-us915-weather-OLED_Mstr2Slv_Thingiverse" and are uploaded.
This Project is pretty much complete. I will be taking some updated photos of the completed station. I also expect a few tweaks as I find thing do not behave.
Please comment if this is helpful to anyone directly as a built project or help design your own. This has been a fun year long journey. I expect to use the data from this and intelligent probes to build and operate intelligent sprinkler controllers. Watch my things for further development on that front.