Skip to content

bitrot-alpha/lora-weather-esp32

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lora-weather-esp32

Weather station with ESP32 and LoRa

This weather station is capable of measuring wind speed and direction, total rainfall, and current environmental conditions. Conditions include temperature, humidity, and barometric pressure. I put this together because I got interested in microclimate weather. Many rural areas in the United States do not have a weather station nearby, so the conditions you experience may not match what is shown on https://www.weather.gov/ or AccuWeather since the weather station may be over 20 miles away from you. A popular commercially available version of this project is the Ambient Weather WS-2902 (retail: $200 US). However, Ambient Weather does not publish what specific sensors they use in their product, so accuracy is questionable. The wireless range of the sensing unit to the "console" is also on the low end, about 300ft line of sight. On the higher end, there is the KestrelMet 6000 series (starting at $800 US) of stations which is more in line with the capabilities of this project with the option for LTE connectivity (overkill for my purposes).

The system consists of a base station outside where all the sensors are mounted, and a receiver unit that displays the current reading on an LCD. The receiver also connects to wifi and serves a basic webpage with current readings. Webpage (local network only) at http://weather-station.local/

Current Features

  • Atmospheric conditions
    • Temperature - +/-0.5C (BME280)
    • Relative Humidity - +/-2% (SHT31-D)
    • Barometric Pressure - +/- 1.5Pa/K (BME280)
  • Wind Speed & Direction (cup-type anemometer, 16 direction weather vane)
  • Accumulated Rainfall (tipping bucket type) - seems to be highly accurate. I am getting comparable data to my local weather station. The mounting is susceptible to vibration, so the mast needs to be solidly anchored.
  • Self-powered base station
    • 2 watt solar "array"
    • 3000mAh/11Wh battery
    • The only outages I have gotten with this configuration are from user error (forgetting to plug back in the solar panel wires). Have not gotten a dead battery from overcast/rainy days yet.
  • Long range wireless connection (untested for "max range" but since this is Arduino, we can configure for more power/signal robustness if needed)
  • NEW view current weather data from web browser (November 2025)

Planned Additions (Wishlist)

  • Add SHT31 sensor for more accurate humidity data. The BME280 is not designed for "condensing" environments (don't get it wet..) SHT31-D installed
    • Document waterproofing methods for the electronics
  • Historical data with LittleFS storage. Store a week or more of data.
  • Graph the data via web browser. Possible with a library like Chart.js
  • Add more configuration capability over LoRa
    • Send calibration commands from indoor receiver
    • Set the time with NTP. Have the data reset at 3AM instead of whenever system reset + 48hrs have passed.

Hardware

Tools

Photos

These are a bit old, so they don't reflect the most current setup. I have since modified the system with a larger 3000mAh lithium cell and added another solar panel for increased runtime. I think the charge should last for more than a couple overcast days now. station1 station2 receiver1 receiver2 bstation1 bstation2

About

my weather station with ESP32 and LoRa

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published