LoraGrowMesh is an open-source LoRa-based mesh network for environmental monitoring, designed for agroforestry, energy research, and off-grid communities.
Originally built to measure temperature and light for a solar concentrator, it has evolved into a scalable system that collects and shares data from multiple sensors over long distances. With Wi-Fi hotspots, HTTP servers, and flash memory storage, it supports real-time data access and integration with databases like PostgreSQL for visualization with tools like Grafana.
Learn more about the original solar application: Sun Factory
Based on the heltec_esp32_lora_v3 library for Heltec ESP32 LoRa V3 boards.
- LoRa Mesh Network: Nodes communicate via LoRa (868/915 MHz) to relay data over long distances.
- Multi-Sensor Support: Up to six sensors per node (e.g., DS18B20 for temperature, BME280 for humidity, BH1750 for light).
- Wi-Fi Hotspot: Nodes provide Wi-Fi access points for local data viewing via an HTML interface.
- HTTP Server & API: Real-time data access and API endpoints for sensor measurements.
- Flash Memory: Stores data locally with overflow handling and manual clear options.
- Buzzer Alerts: Configurable temperature threshold alerts, toggleable via the web interface.
- Unique Node IDs: Uses MAC addresses as LoRa SSIDs to prevent conflicts.
- Data Replication: LoRa messages are replicated across nodes and stored with sender IDs.
- Power Autonomy: Supports LiPo batteries or 6V solar panels for off-grid use.
- Agroforestry: Monitor temperature, humidity, and light to optimize planting or study microclimates.
- Energy Research: Measure performance of solar concentrators, Peltier modules, or other systems.
- Environmental Monitoring: Track ecological interactions near rivers, wells, or other resources.
- Off-Grid Communities: Enable autonomous monitoring in remote areas.
- Module: Heltec WiFi LoRa 32 V3 (ESP32-S3 + SX1262 LoRa) or compatible ESP32 LoRa boards.
- Sensors (up to 6 per node):
- DS18B20 (temperature)
- BME280 (temperature, humidity, pressure)
- BH1750 (light)
- Others (configurable via firmware)
- Power: LiPo battery or 6V solar panel with regulator.
- Optional: Wi-Fi router and server (e.g., Raspberry Pi with Ubuntu) for data streaming.
- Tools: Smartphone or computer for setup and data access.
References:
- Assemble:
- Connect sensors to I2C/SPI pins on the Heltec ESP32 LoRa V3. See schematics in the repository.
- Program:
- Download the firmware from GitHub.
- Flash it using the Arduino IDE.
- Configure Sensors:
- Edit the firmware to specify sensor types and pins (e.g., DS18B20, BME280). Check the README for details.
- Set Up Network:
- Assign a unique node ID (based on MAC address).
- Configure LoRa frequency (e.g., 868 MHz for Europe, 915 MHz for USA) per local regulations.
- Power:
- Connect a LiPo battery or solar panel with regulator.
- Test:
- Connect to the node’s Wi-Fi hotspot (SSID/password in docs).
- Access the HTML interface (e.g., http://192.168.4.1) to verify sensor data.
- Dual temperature monitoring (DS18B20)
- Light measurement (BH1750)
- Buzzer for temperature alerts
- Wi-Fi hotspot and HTTP server
- API for temperature data
- Flash memory with overflow handling
- LoRa send/receive with MAC-based SSIDs
- Message replication and storage with sender IDs
- Manual flash clear
- Web-based buzzer toggle
- Test SunFactory mesh LoRa protocol
- Add PUT requests for server database storage
- Support DHT sensors (e.g., DHT22)
- Enable generic hardware modules
- Improve lux measurement accuracy
- Stress-test flash memory overflow
- Add Telegram integration for alerts
- Refactor code for modularity
- Optimize LoRa packets with fixed-length bytes
- Expand documentation and tutorials
We welcome contributions! To get started:
- Fork the repository: https://github.com/GypsyRobot/LoRaGrowMesh
- Report bugs or suggest features via issues.
- Submit pull requests with clear change descriptions.
- Help improve the SunFactory mesh protocol or add sensor support.
- Everton Ramires for firmware development (GitHub).
- Heltec Automation for ESP32 LoRa V3 support.
- ropg for the heltec_esp32_lora_v3 library.
- Inspired by the Sun Factory Project.
MIT License. See LICENSE for details.
