🛠️ MAKER GUIDEJul 27, 2026•⏱️ 3 min read•🇳🇵 Tested in Nepal
Off-Grid Solar LoRa Weather Station for Remote Himalayan Villages
Deploy long-range microclimate telemetry in hilly terrain without GSM cellular coverage using the SX1278 LoRa radio and solar charging from Ghumti Pasal.
🛠️ BILL OF MATERIALS (BOM)
Required Hardware & Component Checklist
Curated components verified for this project. Check the items you need, adjust quantities, and add straight to cart:
Estimated Total (7/7 items):
NPR 4,090
✓ Cash on Delivery across Nepal
All parts selected
NPR 1,000
NPR 1,500
NPR 350
NPR 600
NPR 90
NPR 400
(NPR 200 ea)
NPR 150
Off-Grid Solar LoRa Weather Station for Remote Himalayan Villages
Educational Notes
This project is designed to be accessible to students from Class 4 to Masters level, with complexity scalable to match different age groups and skill levels.
Learning Objectives:
- Understand basic electronics and circuitry principles
- Learn sensor applications and data collection techniques
- Develop problem-solving skills through hands-on building and troubleshooting
- Apply programming concepts to control hardware and process data
- Connect projects to real-world Nepalese contexts and challenges
Adaptability:
- For younger students (Class 4-8): Focus on assembling pre-built circuits, observing results, and understanding basic concepts
- For intermediate students (Class 9-12): Modify code, experiment with parameters, and explore underlying principles
- For advanced students (Undergraduate/Masters): Optimize designs, add features, conduct research extensions, and analyze performance
Safety Note: Always supervise younger students when working with electricity, heat, or moving parts.
Transmit barometric pressure, temperature, and humidity across 5 to 15km mountain valleys.
Hardware Bill of Materials:
- Controller: ESP32 Dev Module Development Board with WiFi & Bluetooth
- Long-Range Radio: Ultra-small SX1278 LOra 5km wireless transceiver module
- Barometric Sensor: BMP280 5V Digital Barometric Pressure Altitude Sensor I2C/SPI
- Climate Sensor: DHT22 Digital Temperature and Humidity Sensor AM2302
- Power Management: Type C 5V 1A 18650 TP 4056 Lithium Battery Charger Module + 2x 18650 3.7V 3000mAh Battery
- Enclosure: Junction PVC Box 4x4
Circuit Pinout & Wiring Connections:
| Module / Sensor Pin | ESP32 GPIO Pin | Function / Description |
|---|---|---|
| SX1278 NSS (CS) | GPIO 5 | SPI Chip Select |
| SX1278 SCK | GPIO 18 | SPI Clock |
| SX1278 MOSI | GPIO 23 | SPI Master Out Slave In |
| SX1278 MISO | GPIO 19 | SPI Master In Slave Out |
| SX1278 DIO0 (IRQ) | GPIO 2 | Packet Received Interrupt |
| SX1278 RST | GPIO 14 | Hardware Reset |
| BMP280 SDA / SCL | GPIO 21 / GPIO 22 | I2C Barometer Bus |
| DHT22 DATA | GPIO 4 | 1-Wire Digital Humidity Bus |
Firmware Source Code (ESP32 C++)
#include <WiFi.h>
#include <HTTPClient.h>
#include <DHT.h>
#define DHTPIN 4
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
const char* wifiSSID = "GhumtiPasal_WiFi";
const char* wifiPass = "NepalMakers2026";
const char* serverApiUrl = "http://api.ghumtipasal.com.np/v1/telemetry";
void setup() {
Serial.begin(115200);
Serial.println("Initializing Environmental & Microclimate Telemetry Node...");
dht.begin();
WiFi.begin(wifiSSID, wifiPass);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nWiFi Connected to GhumtiPasal Network!");
}
void loop() {
float temp = dht.readTemperature();
float humidity = dht.readHumidity();
if (isnan(temp) || isnan(humidity)) {
Serial.println("ERROR: Failed to read data from DHT sensor!");
delay(2000);
return;
}
Serial.printf("Telemetry Update -> Temp: %.1f C | Humidity: %.1f %%
", temp, humidity);
if (WiFi.status() == WL_CONNECTED) {
HTTPClient http;
http.begin(serverApiUrl);
http.addHeader("Content-Type", "application/json");
String jsonBody = "{\"temp\":" + String(temp) + ",\"humidity\":" + String(humidity) + "}";
int httpResponseCode = http.POST(jsonBody);
Serial.printf("HTTP Server Response: %d
", httpResponseCode);
http.end();
}
delay(5000);
}
← Previous Guide
Automatic Overhead Water Tank Controller with Dry-Run Protection
Next Guide →
IoT Smart Poultry Farm Temperature, Humidity & Feed Controller for Nepal
