Tutorial: Part 1 -Building a Solar Powered Raspberry Pi Weather Station – GroveWeatherPi
The Raspberry Pi is a fabulous device to on which to build your projects. The GroveWeatherPi project is designed to show the capabilities of this computer while remaining accessible to a diverse Maker community.
The key to keeping this project accessible to many people is to minimize the need for complex wiring and soldering. In this tutorial, we are showing how to build Raspberry Pi based Weather Station in two parts (actually 14 postings!).
The first part is building the GroveWeatherPi station itself. This can be done with no soldering. The second part of the tutorial is outfitting your GroveWeatherPi with Solar panels. This can be done with a very minimal amount of soldering to produce a fully solar powered Raspberry Pi based weather station.
What is GroveWeatherPi?
GroveWeatherPi is a Solar Powered Raspberry Pi WiFi connected weather station designed for Makers by SwitchDoc Labs ( www.switchdoc.com). This is a great system to build and tinker with. All of it is modifiable and all source code is included.
This tutorial for building your own Solar Powered Weather Station based on the Raspberry Pi consists of 14 parts.
Want to download a PDF of all the steps? Download it here.
- – Part 1 – Introduction to the GroveWeatherPi
- – Part 2 – What is the I2C Bus on the GroveWeatherPi
- – Part 3 – Sizing Your Solar Powered Weather Station
- – Part 4 – Turning your Raspberry On and Off Safely
- – Part 5 – The Parts List for GroveWeatherPi
- – Part 6 – The Wiring List
- – Part 7 – Building the Box
- – Part 8 – The Dual WatchDog Timer
- – Part 9 – The 3D Printed Parts
- – Part 10 – Mounting the Outside Parts
- – Part 11 – The GroveWeatherPi Software for the Raspberry Pi
- – Part 12 – Starting the GroveWeatherPi Software
- – Part 13 – The Final Assembly Step and the Control Panel
- – Part 14 – Results and Conclusion
(Posting continues after the Related articles)
The most important functions are:
- – Detects Lightning!
- – Senses 20 different environmental values
- – Optionally Solar Powered
- – Has a full database containing history of the environment (MySQL)
- – Monitors and reports lots of data on the solar powered system – great for education!
- – Self-contained and monitored for brownouts and power issues
- – Can be modified remotely
- – Download your data to crunch it on your PC or Mac
- – Can be modified to do CWOP, SMS (Text) messaging, Twitters, web pages and more
- – Has an iPad Based Control Panel
- – Easy to connect to Twitter, WeatherUnderground, etc
This posting series will show you how to build a WiFi Solar Powered Raspberry Pi Weather Station. This project grew out of a number of other projects, including the massive Project Curacao ( www.switchdoc.com/project-curacao-introduction-part-1/), a solar powered environmental monitoring system deployed on the Caribbean tropical island of Curacao. Project Curacao was written up in an extensive set of articles in MagPi magazine (starting in Issue 18 and continuing through Issue 22) as well as issues of Raspberry Pi Geek Magazine.
The GroveWeatherPi Solar Powered Weather Station is an excellent education project. There are many aspects of this project that can be looked at and analyzed for educational purposes:
- – How do solar power systems behave? Limitations and advantages
- – Temperature, Wind and Humidity data analysis.
- – Shutting down and starting up small computers on solar power
- – Add your own sensors for UV, dust and pollen count and light color
- – Follow along on updates to the GroveWeatherPi story on www.switchdoc.com
What You Will Be Building
You will be building a Raspberry Pi based Weather Station using the new standard for easy prototyping and building electronics and software projects, the Grove Connection System. Then you will be adding a solar power to the Weather Pi.
What is the Grove Prototyping System?
Grove is a modular, standardized connector prototyping system. Grove takes a building block approach to assembling electronics. Compared to the jumper or solder based system, it is easier to connect, experiment and build and simplifies the learning system, but not to the point where it becomes dumbed down. Some of the other prototype systems out there take the level down to building blocks. Good stuff to be learned that way, but the Grove system allows you to build real systems. It requires some learning and expertise to hook things up.
The Grove system consists of a base unit (stem) and various modules (twigs) with standardized connectors. The people originating the Grove system (Seeedstudio) have tried to use “stems” and “twigs” as part of the Grove lexicon. After a short period of consideration, We are dropping those names. They just aren’t needed and just confuse the issue.
The Base unit, generally a microprocessor, allows for easy connection of any input or output from the Grove modules. and every Grove module typically addresses a single function, such as a simple button or a more complex heart rate sensor.
You don’t need a Base unit to connect up to Grove modules. You can use a cable (Grove to Pin Header Converter) to run from the pins on the Raspberry Pi or Arduino to the Grove connectors. We use the Pi2Grover Grove to Raspberry Pi Interface in the GroveWeatherPi project.
So what is a Grove Connector?
A Grove connector is a four pin standardized size connector used to plug into base units and Grove modules. The picture above shows the male Grove Connector. The male connectors come in flat 90 degree versions and vertical versions as in Figure 2. Seeedstudio has the exact dimensions in this specification ( https://www.seeedstudio.com/https://www.seeedstudio.com/wiki/images/6/69/3470130P1.pdf). These standardized connectors (common to all types of Grove Connectors) are the key to making this system work. They are keyed to prevent plugging them in backward, and the four types of connectors (see below) are all designed so that if you plug the wrong type of device into the wrong type of base unit, there is no problem. They just won’t work. This is a good thing.
The one exception would be if you plugged in a 3.3V I2C Grove module that is non-5V tolerant into a 5V I2C Grove connector you could fry the device.
Description of the Weather Pi Project
The GroveWeatherPi Block Diagram looks a lot more complicated than it actually is.
The first thing to notice that the dashed lines are individual boards (Weather Board and SunAirPlus) which contain a lot of the block diagram and the second thing is that all of the sensors to the left of the diagram plug into the Weather Board board which simplifies the wiring. Don’t be intimidated!
Virtually all of these wires are based on Grove Connectors
The Solar Power Subsystem of GroveWeatherPi uses a SunAirPlus Solar Power Controller which handles the solar panels, charging of the battery and then supplies the 5V to the Raspberry Pi and the rest of the system. It also contains sensors that will tell you the current and voltage produced by the Solar Panels and consumed by the batteries and the Raspberry Pi. Gather that Data! More Cowbell! It also contains the hardware watchdog timer and the USB PowerControl that actually shuts off the power to the Raspberry Pi during a brownout event (after the Pi shuts gracefully down under software control).
If you are not building the optional Solar Power system, then you can just plug in a normal Raspberry Pi power supply and then you have a fully functional powered weather station.
The Sensor Subsystem of GroveWeatherPi uses a WeatherBoard as the base unit and then plugs in a bunch of optional sensors such as wind speed, direction and rain and lightning detection (how cool is that!), inside and outside temperature and humidity as well as barometric pressure.
The Software Subsystem of GroveWeatherPi runs in Python on the Raspberry Pi. It collects the data, stores in a MySQL database, builds graphs and does housekeeping and power monitoring.
The GroveWeatherPi Sensor Suite
The GroveWeatherPi Sensor Suite senses the following environmental values:
- – Wind Speed
- – Wind Direction
- – Rain
- – Outside Temperature
- – Outside Humidity
- – Lightning Detection
- – Barometric Pressure (and Altitude)
- – Inside Box Temperature
- – Inside Box Humidity
You can add more to the I2C bus and Analog to Digital Converter such as UV, dust counts, light color (sensing some types of pollution) and more! It’s a great platform for expansion.
The sensor suite is built on the Weather Board board but there are several similar boards out there on the market.
Looking For A Specific Topic?
Recent Blog Posts
- Guest Blog – Tutorial: Repairing an Anemometer in the WeatherRack
- Guest Blog – Smart Garden System 3D Printed Top for Sensors
- Tutorial – Part 4 – Experiments! Using an Analog to Digital Converter with your Raspberry Pi
- Tutorial – Part 3 – Using an Analog to Digital Converter with your Raspberry Pi
- Tutorial – Part 2 – Using an Analog to Digital Converter with your Raspberry Pi