# Weather station with ModBus over RS-485
## Abstract
A weather station build around a SparkFun Weather Meter Kit (SEN-15901). The temperature, humidity and pressure are measured with I2C sensors housed in an RS1 Passive Radiation Shield from Garni. The data is available via an RS485 ModBus RTU interface. The main processor is an Arduino Pro Mini (ATmega328P 5V@16MHz)
![Block diagram of weather station ](./build-doc/images/block_diagram.svg "Block diagram of weather station" )
## Documentation
An apprehensive description of the project can be found here: https://meezenest.nl/mees/weather_station/weather_station.html
## Sensors
- SparkFun SEN-15901 Weather Station (wind speed, wind direction and rain fall)
- Silicon Labs Si7021 (humidity and temperature)
- Bosch BMP280 (pressure)
## Measurements
- Wind direction
- Wind speed (average of last 10 minutes)
- Wind gust (last 10 minutes)
- Rain fall (last hour)
- Rain fall (last 24 hours)
- Temperature
- Humidity
- Atmospheric pressure
## ModBus
- RS485 transceiver
- ModBus address: 14 (fixed in software)
## Dependencies
- Arduino IDE
### Arduino libraries
- https://github.com/sparkfun/SparkFun_Weather_Meter_Kit_Arduino_Library
- https://github.com/orgua/iLib
- https://github.com/epsilonrt/modbus-arduino
- https://github.com/epsilonrt/modbus-serial
Libraries are included with the source code of this project
## License
Copyright (C) 2023, 2024 M.T. Konstapel
### Software
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
### Hardware and documentation
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.