I'm presenting my project of a Field Weather Station containing anemometers and wind direction sensors, also ambient temp., humidity and pressure sensors with LoRa transmission from the field to a home ESP32 receiver that uploads data to ThingSpeak cloud.
I live in the countryside and my family has large fruit plantations. By the microclimate of my area strong frosts in the spring time are common, that quite often hurts the fruits. We solve this issue by turning on our watering systems(the ground water keeps around 12 degrees Celsius at all times), but also by using air heaters to warm the area. So instead of waking up every 30 minutes to check the temps and having to go outside this idea was born. Main goal is that the weather station sends me phone notifications via ThingSpeak alerts. The weather station is located atleast 500m away from the house so the trick was getting reliable power, which I solved using a solar panel and a Lead Acid battery.
Using an Arduino Nano I read the data from the sensors (BME280 for temp/humidity/pressure, DS18B20 for soil/surface temps, RS485 anemometers) and log to SD card locally. The data is transmitted via SX1278 LoRa module at 433MHz to the home receiver. At home, an ESP32 with another SX1278 LoRa module receives the data and uploads it to ThingSpeak cloud for visualization and alerts.
[Field Station - Arduino Nano]
├── BME280 (temperature, humidity, pressure)
├── DS18B20 x2 (soil/surface temperature)
├── RS485 Anemometer + Wind Direction
├── SD Card (local logging backup)
└── SX1278 LoRa TX (433MHz)
│
└──── 500m+ range ────┐
│
[Home Receiver - ESP32] │
├── SX1278 LoRa RX ◄───────────┘
├── WiFi
└── ThingSpeak Cloud Upload
Using ThingSpeak's MATLAB analysis to recognize patterns and predict frost conditions.
| Reference | Qty | Value | Price | Link | Info | Datasheet |
|---|---|---|---|---|---|---|
| A1 | 1 | Arduino Nano | € 5.16 | Link | Field Controller | Link |
| A2 | 1 | ESP32 DevKit V1 | € 4.50 | Link | Home Receiver + WiFi | ~ |
| BT1 | 1 | 12V 5Ah Lead Acid | € 11.84 | Link | Alternative capacity | ~ |
| C1 | 1 | 470uF | € 0.00 | Link | I already have | ~ |
| C2 | 1 | 100uF | € 0.00 | Link | I already have | ~ |
| C3 | 1 | 2pF | - | ~ | ||
| C4 | 1 | 2.2pF | - | ~ | ||
| C5 | 1 | 10pF | - | ~ | ||
| C6 | 1 | 470pF | - | ~ | ||
| D1 | 1 | LED_R | € 0.00 | Link | I already have | ~ |
| J1, J2 | 1 | RS485 ANEMOMETER | € 26.53 | Link | RS485 type | ~ |
| J4 | 1 | RS485 WIND DIRECTION | € 23.82 | Link | RS485 type | ~ |
| U4 | 1 | SDLA12TA | € 6.86 | Link | Link | |
| R1 | 1 | 2k1 | € 0.00 | Link | I already have | ~ |
| R2 | 1 | 220 | - | ~ | ||
| R3, R6 | 2 | 10K | - | ~ | ||
| R5 | 1 | 47K | - | ~ | ||
| R7 | 1 | 120 | - | ~ | ||
| SC1 | 1 | Solar cell | € 23.00 | Link | 15W 12V | ~ |
| U1 | 1 | DC-DC Buck Converter PTN78000HAZ | € 3.02 | Link | Voltage Regulator | ~ |
| U2 | 1 | MAX485E | € 4.39 | Link | RS485 Translate | Link |
| U3 | 1 | BME280 | € 2.50 | Link | Temp/Humidity/Pressure | Link |
| RF1 | 2 | SX1278 LoRa 433MHz | € 6.00 | Link | LoRa Transceiver Modules | ~ |
| SD1 | 1 | Micro SD Card Module | € 1.00 | Link | SPI SD Card Reader | ~ |
| U5 | 2 | DS18B20 | € 5.59 | Link | Waterproof Temp Sensor | Link |
| PCB | 1 | JLCPCB PCB Manufacturing | € 19.61 | Link | $20.75 | ~ |
| Grand Total | € 143.82 ($152.45) | Priced items subtotal | ||||
| Grand Total (Including shipping/VAT) | € 148.82 ($157.75) | +€ 5.00 shipping/VAT |
NOTE: Significant cost savings vs previous design by removing RPi + RTL-SDR setup
| Field | Data |
|---|---|
| 1 | Temperature (°C) |
| 2 | Humidity (%) |
| 3 | Pressure (hPa) |
| 4 | Wind Speed (m/s) |
| 5 | Wind Direction (°) |
| 6 | Soil Temp (°C) |
| 7 | Surface Temp (°C) |
| 8 | LoRa RSSI (dBm) |