Description: The Weather Shield is an easy to use Arduino shield that grants you access to barometric pressure, relative humidity, luminosity and temperature. There are also connections on this shield to optional sensors such as wind speed, direction, rain gauge and GPS for location and super accurate timing.
These Weather Shields utilize the HTU21D humidity, MPL3115A2 barometric pressure, and ALS-PT19 light sensors and relies on the HTU21D and MPL3115A2 Arduino libraries. Each shield comes with two unpopulated RJ11 connector spaces (for optional hook up of rain and wind sensors) and a 6-pin GPS connector (for optional hook up of a GP635T GPS module). Finally, each Weather Shield can operate from 3.3V up to 16V and has built in voltage regulators and signal translators.
Note: The Weather Shield comes as a stand-alone board. Headers, connectors, and additional sensors will need to be purchased separately, check the related items or wish list below!
Note: This shield was designed for the SparkFun Redboard and Arduino Uno and will not work with other boards (like the Arduino Yun, for example) without modification.
Based on 16 ratings:
3 of 3 found this helpful:
Nice board. Easy to use. Bug in example code calls “get_wind_speed()” twice per 1 second loop - should only call once, as it needs the 1 second period to calc the wind speed. Called from both main loop and calcWeather.
1 of 1 found this helpful:
The first part I ordered had a defective humidity sensor. Sparkfun promptly sent me a replacement weather shield, and it works great! I am amazed at the resolution and accuracy of the pressure, temperature, and humidity sensor. Be aware, though, that heat generated from other Arduino boards/shields can cause false temperature readings. Using the software I2C sensor libraries, I was able to get the weather shield working with an Arduino Yun board. However, mounting the shield directly to the Yun resulted in false temperature readings due to the heat generated by the Yun board. The Yun will not be in my solar powered, wireless weather station due to the Yun’s excessive power draw.
1 of 1 found this helpful:
Building a weather station is my first foray into building products. I am amazed at how consuming the process has become. I am using a Raspberry Pi 2 B as the front end and developing off the Windows 10 Weather Station project. So much to learn and experience.
7 of 7 found this helpful:
Note that if you plan to use this in conjunction with the XBee Shield there are some pin conflicts. The XBee Shield uses pins 2 and 3 for serial communication and the Weather Shield uses pins 2 and 3 for the rain and wind gauges. If you don’t plan to use the rain and wind gauges then it “just works”, but if you install the rain or wind gauges then you’ll have to move the serial communication of the XBee to different unused pins.
There is no way to mount the shield properly on the Mega or UNO since the USB shield gets in the way. Secondly, in order to be useful, you have to mount the entire shield in such a way that it is exposed to the raw elements all the time.That becomes problematic with the mega underneath it. So use it to make sure you can interface all the sensors and use the sensors themselves outdoors.
HI, The best way to mount these outdoors would be in a weather meter box like these. http://www.weatherforschools.me.uk/html/weatherboxes.html They protect the sensors from the elements while still allowing access to air for sensor readings.
Not sure I see the win with having a GPS module designed in: when is this thing going to be environments that move about? A much more practical add-on would be a header for the ESP8266 Wifi, which would make this cloud-connected out of the gate. Especially with Wunderground which requires only a simple HTTP POST.
I’m considering my options on bolting one on myself. I could either tap into the JST connector, which brings out the UART, or I could stack a simple shield. Would like to avoid the latter as it seems overkill and thickens an otherwise svelt device (esp if you just use male header pins between an Arduino Pro and this shield).
The problem with using the JST connector is it brings out the UART (soft or hard) directly without level-shifting. The GPS module might be ok with that, but not so sure about the ESP8266. One option is to use a 3.3V Arduino Pro, but I happen to have only 5V units in the bin. I could add level-shifting myself on the piggyback board, but then I need access to 5V, where the JST only brings up VBATT in addition to VCC. I suppose I could jumper VBATT to 5V and I’d have what I need.
Or I could just sandwich another shield in there and have 5V accessible directly. Decisions, decisions.
But again, I’m not sure who would bother adding GPS to this. I’d think that adding cheap and easy Wifi would be quite popular.
I bought one of these for use in an outdoor weather station uploading to Wunderground.com (as described in the tutorial). I am currently operating and uploading to wunderground using the 6Ah Lipo battery pack, a Sparkfun Arduino redboard, an Electric Imp, and the Sparkfun ‘huge’ solar cell as described in the tutorial. As a bonus, I also upload the data to data.sparkfun.com as you might also be able to figure out from the code. So far, it has been operating flawlessly inside a protected enclosure buried in a solar radiation shield. I liked this board so much, I bought another to monitor the ‘weather’ inside my house, or wherever else I want to place it. I even used this information to tweak my winter furnace settings to perfection using the output uploaded to the Sparkfun Phant server and plotting the results in excel.
As far as accuracy, I compared the outside temperature, humidity and pressure readings to the nearest official readings and they are amazingly close. Much better than I even hoped for (don’t forget to correct the pressure for your local altitude, by the way, as you should see in the code).
I suspect you will learn a lot if you buy this board and make your own wunderground station. I know I did. I also expect to apply this learning on my own (future) IoT projects. Bravo, Sparkfun!
EDIT: I’m still having a lot of fun with this board, and it’s been online and uploading to Wunderground for a couple of months now. A couple of improvements I made: I was not getting good feedback on the battery level with the example code so I added a “fuel guage” battery charge status board and upload the data to my data.sparkfun.com stream so I have good feedback on current battery status. It is pretty interesting to monitor the solar powered charge level given variation in sunshine and interfacing with the “Sunny Buddy” solar charge circuit.
I decided to package all the electronics in a weather proof box, which means I needed to have remote temperature sense capability (since reading temperature inside the housing would not be correct). To accomplish that, I added a DS18B20 temperature chip that I mount remotely in my solar radiation shield. That has also been working really well. This is much easier than trying to stuff all the electronics inside the solar radiation shield.
I have two of these, in two different locations, mounted on Arduinos with Ethernet Shields. By remixing code from SFE and code from Xively, I have them uploading all the data to the Xively service. From there, I access the data in a custom iOS App (but the same info is available in a browser). The set up has been working over a year now.
I have just completed interfacing the WS to a chipKIT Pro MX7 mostly because I wanted to look at the sensor performance. The pressure sensor requires some tuning of the I2C register read function in that there is a delay between when the pressure sensor is commended to take a measurement and when the data is available. The Hold mode doesn’t appear to work at all. To use the No Hold mode, I needed to inset a 50 ms delay between writing the command and reading the measurement. The barometer reads about 2.56 in Hg low. The humidity sensor reads about 3% RH low The temperature measurements between the pressure sensor and the humidity sensor differ by 1 degree F and both read about 6 degrees F high. This may be due to my hardware configuration. These sensor measurements were compared to a General Eastern Model 900 Thermal-Hygrometer.
The light sensor doesn’t appear to have much functionality since the WS circuit board cannot be exposed to the outside environment.
The bottom line is that I believe I will bet better results using sensors packaged individually but it was fun to play with.
Hi, Thanks for the feedback. We have used these in long term outdoor projects (https://learn.sparkfun.com/tutorials/weather-station-wirelessly-connected-to-wunderground?_ga=1.22051570.833401513.1365169143) however, you do need to take specific consideration to how the device is housed outdoors. You could certainly build a system using individual components as well if that’s feels more user friendly. Happy hacking!
I recently bought this shield and weather meters to build my own weather station due to damage to my old system. Setup and programming was easy thanks to Nate’s tutorial. Recommend this product for those weather enthusiasts that want to build their own station,
A number of reports of bad data from the Temperature/Humidity sensor reported on the Github site. I experienced this problem, so I installed a DHT22 on it.
Example code is not so great either. Took a lot to clean up.
Still, it’s been running outside for six months.
I bought this along with the weather sensors (wind speed, direction and rainfall). Got them all mounted to my roof and this shield attaches to an Uno which reports serially to a raspi, which it turn posts data to weather underground.
Pressure seems to read about 5 inhg low (after converting the raw pascal measurement using: reading / 1000 * 0.29529980164712). Perhaps my conversion is flawed?
Other measurements seem to be close to reality, but I’m not currently conducting a controlled experiment to find out.
I am using the example firmware code provided in the product description page.
Works fine! Easy to install and use.
It’s a great starter for a weather station having a collection of basic environmental sensors and interfaces.
It can be challenging to get the code needed to handle all the sensors, GPS, and connect to the cloud on an Arduino Uno (Redboard). I did!, but resorted to streaming NMEA 0183 standard sentences to another board providing cloud gateway functions.
Some improvements would be to allow remoting of the light/temp/humidity sensors to allow the main board to be protected from the weather and just the essential sensors exposed.
Not sure if it will interface directly with 3.3V powered Arduino’s such as the Due, but with the Photon version I will likely build my next solar powered, cloud connected weather station on the Photon just due to code space.
Easy to assemble and code for. Also tastes delicious. 10/10, would eat another one.
Great little shield
I have it running on Arduino MEGA, logging to and SD card… Power comes form a couple of 6000Mah Lipos
I may build in WIFI connectivity to Wundergound…
As member #6619 mentioned, theres a bug in the sample code. Simple enough to fix!!