Free shipping €150+
Blog/tutorials

Building a LoRaWAN Weather Station: Complete DIY Tutorial with Dragino

Step-by-step guide to building your own LoRaWAN weather station using Dragino sensors. Measure temperature, humidity, rainfall, wind speed, and more with long-range wireless connectivity.

Robotics3D TeamJanuary 15, 202518 min read
Weather station setup
Build a long-range weather station with LoRaWAN connectivity. Image: Pexels (CC0)

Why LoRaWAN for Weather Monitoring?

LoRaWAN is ideal for remote weather stations: ultra-low power, range up to 15km, and no WiFi or cellular required. Perfect for farms, vineyards, forests, and remote locations.

LoRaWAN Weather Station Benefits

  • Long Range: 5-15km in rural areas
  • Battery Life: Years on single charge
  • No Fees: Free network (TTN) or private gateway
  • Weatherproof: IP65+ enclosures available
  • Cloud Integration: Grafana, ThingsBoard, etc.

Required Hardware

Component Example Purpose
LoRa NodeDragino LSN50v2Sensor + transmitter
Temp/HumiditySHT31 or BME280Air conditions
Rain GaugeTipping bucketRainfall measurement
Wind SensorAnemometerWind speed/direction
GatewayDragino LPS8Receives data, sends to cloud

Weather Sensors

Rain Gauge

Rain gauge sensor
Tipping bucket rain gauge for precise measurements. Image: Pexels (CC0)

A tipping bucket rain gauge counts tips as rain fills the bucket. Each tip = 0.2mm rainfall. Connect to digital input with interrupt.

volatile int tipCount = 0;

void IRAM_ATTR rainTip() {
 tipCount++;
}

void setup() {
 pinMode(RAIN_PIN, INPUT_PULLUP);
 attachInterrupt(RAIN_PIN, rainTip, FALLING);
}

float getRainfall() {
 float mm = tipCount * 0.2;
 tipCount = 0;
 return mm;
}

Anemometer (Wind Speed)

Anemometer wind sensor
Cup anemometer for wind speed measurement. Image: Pexels (CC0)

Cup anemometers output pulses as they spin. Count pulses over time to calculate wind speed.

// Wind speed calculation
// Calibration: pulses per second → m/s
float getWindSpeed() {
 unsigned long pulses = countPulses(1000); // 1 second
 float mps = pulses * CALIBRATION_FACTOR;
 float kmh = mps * 3.6;
 return kmh;
}

Temperature & Humidity

Outdoor weather sensors
Protect sensors with radiation shield for accurate outdoor readings. Image: Pexels (CC0)

Outdoor Installation Tips

  • Use radiation shield to prevent sun heating sensor
  • Mount 1.5-2m above ground (standard)
  • Keep away from buildings and trees
  • Use IP65+ waterproof enclosure

LoRaWAN Payload Format

Encode sensor data efficiently for LoRaWAN's limited bandwidth:

// Compact payload format (10 bytes)
byte payload[10];

// Temperature: -40 to 85°C in 0.1°C steps (2 bytes)
int16_t temp = (temperature + 40) * 10;
payload[0] = temp >> 8;
payload[1] = temp & 0xFF;

// Humidity: 0-100% (1 byte)
payload[2] = humidity;

// Rain: 0-255mm (1 byte)
payload[3] = min(rainfall, 255);

// Wind: 0-255 km/h (1 byte)
payload[4] = min(windSpeed, 255);

// Battery: 0-3.6V mapped to 0-255 (1 byte)
payload[5] = (battery / 3.6) * 255;

Data Visualization

Grafana

Beautiful dashboards with InfluxDB backend

ThingsBoard

Full IoT platform with alerts

Cayenne

Easy mobile app integration

Datacake

No-code LoRaWAN dashboards

Build Your Weather Station

Browse our Dragino LoRaWAN products - gateways, sensors, and nodes.

New to LoRaWAN? Start with our LoRaWAN Beginners Guide.

Frequently Asked Questions

How accurate are LoRaWAN weather stations compared to commercial weather stations?

Accuracy depends primarily on sensor quality, not the wireless technology. Dragino devices use industrial-grade sensors (SHT20, BME280) with accuracy comparable to commercial weather stations: ±0.3°C for temperature, ±3% for humidity, and ±1 hPa for pressure. The key to accuracy is proper installation (radiation shield for temperature, level mounting for rain gauge) and regular calibration, not the communication protocol.

Can I access my weather station data when I'm away from home?

Yes, as long as your LoRaWAN gateway has internet connectivity. Data is forwarded to cloud-based network servers (The Things Network, ChirpStack Cloud, etc.) and visualization platforms (Grafana Cloud, ThingsBoard Cloud), which you can access from anywhere via web browser or mobile apps. For local-only access, you would need VPN to your home network.

How do I power my weather station if it's far from electrical outlets?

LoRaWAN's ultra-low power consumption makes battery power practical. The Dragino LHT65 operates 5-10 years on its included 3.6V battery. For sensors requiring more frequent updates or additional components (LSN50v2 with multiple sensors), add a small solar panel ($30) with rechargeable battery for indefinite autonomous operation. Even a 1W solar panel provides sufficient power.

What happens if my internet connection goes down?

If using a cloud network server (TTN, ChirpStack Cloud), sensor data cannot be received during internet outages. However, sensors continue measuring and attempting to transmit. For critical applications, self-host a network server locally (ChirpStack on Raspberry Pi) so the gateway can receive data over LAN even without internet. You can sync data to the cloud when connectivity returns.

Can I contribute my weather station data to public weather networks?

Yes! You can upload your data to services like Weather Underground, PWS Weather, or WOW (Weather Observations Website) using simple scripts that fetch data from your LoRaWAN network server and forward it to these platforms. This contributes to public weather mapping and helps your neighbors see hyperlocal conditions. Many services offer free accounts for personal weather station contributors.

Related Products

Ready to Build?

Get all the components you need for your next project.

Shop Products
Contact1