Off-Grid Weather Station

I want to make a weather station using the SparkFun Weather Shield, DEV-13956 ROHS and SparkFun RedBoard Plus, DEV-18158 ROHS and Orange Pi Zero 2 without going through the cloud in case the internet is unavailable. How would I do that?

I am sure there are hundreds (if not thousands) of projects out there that are similar in nature.

Currently I have one implementation whose main purpose was to be outside and not connected to any power source inside the house, and transmit wirelessly the information to some smarter device inside the house. Therefore, the power source includes a LiPo battery, a solar panel, and a charger. It reports temperature, humidity, pressure, wind gusts, rain count, battery level, and solar panel level to a gateway that is sitting anywhere within the house and this gateway aggregates the data and publishes it to Adafruit IO cloud service in order to visualize the data. A local monitor is also in the works to capture the data real-time and display it within the house at any time. The main reason not to include the WiFi connectivity within the station itself was to reduce power consumption and also to allow for future use of the gateway for additional remote “stations” (e.g. mailbox, garage, etc). The main elements of my implementation are:

  • - Weather Sensing– The weather sensing is done by SFE’s Weather Shield connected to SFE’s Weather Kit. The combination of the two provides readings for temperature, humidity, pressure, wind gusts, rain count, battery level, and solar panel level. It also provides for Ambient light and Wind direction but, as previously stated, I removed those two measurements to accommodate the Solar Level measurement and the additional interrupt needed to support the RFM69HCW.
  • - Arduino – Brains of the station. A BlackBoard C is used as this had I/O translators, a Qwiic connector and some other features that make it slightly better to develop on than the original Uno. LED for power was ultimately removed to further optimize low power consumption during sleep modes.
  • - Wireless radio – Provides a lower power link to report all the sensor info to a gateway inside the house that does not need be restricted to low power (i.e. the gateway inside the house can be any power hungry WIFI module paired with another wireless radio). As mentioned above, the RFM69HCW breakout board is used as it provides a very good library and the ability to lower power to consume very small power during that time.
  • - (Renewable) Power Source – Based on analysis and measurements the battery capacity was estimated, a suitable LiPo battery selected, the power rating of the solar panel estimated, and a compatible charger selected.
  • - Enclosure – Some sort of weatherized box that can contain the electronics, allows air to push through for better temperature/humidity readings but keeps water out.
  • - Web-based Monitor - Puts the data received from the outside station on the AdafruitIO service. It uses an SFE's ESP8266 Thing Dev paired with an RFM69.
  • - Local Monitor - This is not completed yet but is a monitor inside the house that displays the outside station data using static pages within the house network. It uses a PicoW paired with another RMF69.
  • The wireless radio can be anything from 433MHz / 915MHz ISM device, to LORA, to BLE, to WiFi, etc.

    Some examples of other implementations :

    https://tinkerman.cat/post/low-power-we … 80-moteino

    https://www.hackster.io/markkomus/solar … -io-aac26b

    https://github.com/danjperron/PicoWSolar

    https://github.com/fractalxaos/weather

    You have a very interesting project, but: The problem I have is that the Red Board (Arduino Uno) does not talk to HTML directly at all. This is a SHTF project for when the internet goes down. So any Cloud involvement is a no-go.

    One solution I have found is to use NODE.js as a buffer. Set up sockets in NODE.js to accept the serial data then have HTML input the socket data for display. I was hoping that someone has done this before and could guide me through the prototyping.

    Maybe it was not too clear from my description. The weather station is comprised of the WeatherShielld, an Arduino (that can be a Redboard - but in my case it was the Blackboard - both are Sparkfun products), and a wireless (not WiFi, not ethernet) “modem” the send the information you collect at the station via a “wire” (an RF link) to another “modem” inside the house which is then paired, in my case, to Sparkfu’s ESP8266 Thing Dev so it can put the data on the “cloud”. But that ESP8266 can be anything, it can be a rPI that can host its own local website, it can be the be an PicoW that hosts its own local website, etc. This is not “my” concept, it is widely used when one is looking to minimize power consumption of the WeatherStation or any other “remote” sensor. The reason I mentioned Moteino is because they actually pair an Arduino core with a wireless transceiver (“modem”); and some implementations do use node.js.