Skip to content

Instantly share code, notes, and snippets.

@Tech500
Last active October 20, 2025 13:32
Show Gist options
  • Select an option

  • Save Tech500/0890dfd2b1f5eac8d1f43564adc0755e to your computer and use it in GitHub Desktop.

Select an option

Save Tech500/0890dfd2b1f5eac8d1f43564adc0755e to your computer and use it in GitHub Desktop.
Readme for LoRa BME280 Sensor Network

🌑️ LoRa BME280 Sensor Network --Project in progress; still making refinements. Early, Beta...

"Original concept and development: William Lucid, with AI development assistance for code architecture and documentation. Hardware platform: EoRa Pi from EbyeIoT.com

A complete, production-ready --stand-alone LoRa sensor network solution for environmental monitoring

License: MIT Arduino Python Docker

πŸš€ Perfect for CGNAT networks (T-Mobile Home Internet, Starlink, etc.) - No port forwarding required!

πŸ“‹ Overview

This project provides a complete LoRa-based sensor network for monitoring temperature, humidity, and atmospheric pressure using BME280 sensors. Designed for ultra-low power operation with professional cloud integration.

⭐ Key Features

  • πŸ”‹ Ultra Low Power: Sensor nodes baseline only 20-22Β΅A in deep sleep
  • πŸ“‘ Long Range: LoRa communication up to several kilometers
  • 🌐 Cloud Ready: Works with any hosting provider (Digital Ocean, AWS, etc.)
  • πŸ›‘οΈ CGNAT Friendly: No port forwarding needed - perfect for T-Mobile Internet
  • πŸ“Š Professional Dashboard: Real-time monitoring and data visualization
  • πŸ’Ύ Triple Redundancy: Local storage + primary cloud + backup webhook
  • πŸ”§ Easy Setup: One-click deployment scripts included
  • πŸ“ˆ Scalable: Support for 100+ sensor nodes
  • 🐳 Docker Support: Container-ready deployment

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    LoRa     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    HTTP    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   BME280        β”‚ ◄─────────► β”‚   ESP32          β”‚ ─────────► β”‚   Cloud API     β”‚
β”‚   Sensor Nodes  β”‚   915MHz    β”‚   Gateway        β”‚   POST     β”‚   Server        β”‚
β”‚   (20-22Β΅A)     β”‚             β”‚   (WiFi)         β”‚            β”‚   (Flask/Docker)β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜             β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜            β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                          β”‚                               β”‚
                                          β–Ό                               β–Ό
                                  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”            β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                                  β”‚   Local CSV      β”‚            β”‚   SQLite DB +   β”‚
                                  β”‚   Backup Files   β”‚            β”‚   Web Dashboard β”‚
                                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜            β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸš€ Quick Start

Option 1: One-Click Cloud Deployment

# Deploy to Digital Ocean, AWS, or any VPS  --universal deployment script
curl -sSL https://github.com/Tech500/Lora-BME280-Sensor-Network/blob/main/deployment/Universal-deployment.sh | bash

Option 2: Docker Deployment

Quick Start

git clone https://github.com/Tech500/Lora-BME280-Sensor-Network.git
cd Lora-BME280-Sensor-Network/docker
docker-compose up -d

Option 3: Local Development

git clone https://github.com/Tech500/Lora-BME280-Sensor-Network.git
cd Lora-BME280-Sensor-Network/docker
docker-compose up --build

πŸ’‘ Use Cases

🏠 Home Automation

  • Monitor temperature and humidity in every room
  • Automate HVAC systems based on sensor data
  • Track basement humidity to prevent mold

🌾 Agriculture

  • Soil and air monitoring for crops
  • Greenhouse automation
  • Weather station networks

🏭 Industrial IoT

  • Equipment temperature monitoring
  • Warehouse environmental tracking
  • Cold storage compliance monitoring

🌑️ Research & Education

  • Microclimate studies
  • Air quality research projects
  • IoT education platforms

🏒 Commercial Buildings

  • Energy efficiency optimization
  • Indoor air quality monitoring
  • Predictive maintenance

πŸ“Š Performance Specifications

Metric Value
Power Consumption 20-22Β΅A (deep sleep)
LoRa Range Up to 7 km (line of sight)
Battery Life 2-3 years (depends on transmission interval)
Sensor Accuracy Β±1Β°C, Β±3% RH, Β±1 hPa
Data Rate 15-minute intervals (configurable)
Max Nodes 100+ per gateway
Server Response <500ms average

πŸ› οΈ Hardware Requirements

πŸ› οΈ Recommended Hardware

Gateway (Tested Configuration)

  • EoRa-S3-900TB from EbyeIoT.com
  • ESP32-S3 with integrated SX1262 LoRa
  • WiFi connectivity for internet access
  • 5V USB power supply

Note: This project will work with other ESP32+LoRa combinations, but has been specifically developed and tested on the EoRa Pi platform. Code modification of LoRa pins and LoRa parameters will be required; modification left to hardware owners.

Alternative Hardware

  • Heltec WiFi LoRa 32 V3
  • TTGO LoRa32
  • LilyGO T-Beam
  • Any ESP32 + SX126x/SX127x combination

Gateway (Required: 1)

  • ESP32 with LoRa (EoRa-S3-900TB recommended)
  • WiFi connectivity
  • 5V power supply

Sensor Nodes (1-100+)

  • ESP32 with LoRa module
  • BME280 temperature/humidity/pressure sensor
  • Battery pack (LiPo4 battery pack recommended)
  • Weather-resistant enclosure

Cloud Server

  • Any VPS (Digital Ocean $5/month droplet works great)
  • 1GB RAM minimum
  • 20GB storage
  • Ubuntu 20.04+ or Docker support

🌐 Network Compatibility

βœ… Works Great With:

  • T-Mobile Home Internet (CGNAT)
  • Starlink (CGNAT)
  • Cable/DSL behind router NAT
  • Mobile hotspots
  • Corporate networks

❌ No Port Forwarding Needed!

All connections are outbound only from your gateway to your cloud server.

πŸ“ˆ Deployment Options

🏠 Personal Use (Free Tier Available)

  • Webhook.site: Free, instant setup, no signup required
  • IFTTT: Connect to 600+ services (email, SMS, etc.)
  • ThingSpeak: Free IoT platform with charts

🏒 Professional Use

  • Digital Ocean: $5/month for full control
  • AWS EC2: Auto-scaling and enterprise features
  • Google Cloud: Free tier + advanced analytics
  • Self-hosted: Run on your own hardware

🐳 Container Platforms

  • Docker Swarm: Multi-node deployment
  • Kubernetes: Enterprise orchestration
  • Portainer: GUI management interface

🀝 Contributing

We welcome contributions from the community! Here's how you can help:

πŸ› Bug Reports

Found a bug? Please create an issue with:

  • Hardware setup details
  • Steps to reproduce
  • Expected vs actual behavior
  • Relevant log outputs

✨ Feature Requests

Have an idea? We'd love to hear it! Consider:

  • New sensor types (CO2, PM2.5, etc.)
  • Additional cloud integrations
  • Mobile app development
  • Advanced analytics features

πŸ”§ Code Contributions

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

🀝 What This Means:

  • βœ… Free for commercial use
  • βœ… Modify and distribute freely
  • βœ… No warranty or liability
  • βœ… Attribution appreciated but not required

πŸ™ Acknowledgments & Credits

  • Original Concept & Development: William Lucid
  • AI Development Assistance: Claude (Anthropic) - Helped with code architecture, documentation, and open source best practices
  • Hardware Platform: EoRa Pi Foundation (EoRa-S3-900TB from EbyeIoT.com)
  • RadioLib: Excellent LoRa library for Arduino by Jan GromeΕ‘
  • BME280: Environmental sensor from Bosch Sensortec
  • Flask: Web framework by Pallets Projects
  • Community: Arduino, ESP32, and LoRa communities worldwide
  • Digital Ocean - Affordable and reliable cloud hosting

This project demonstrates the power of human creativity enhanced by AI collaboration.

πŸ“ž Support & Community

πŸ’¬ Get Help

  • πŸ“§ GitHub Issues: Technical problems and bug reports
  • πŸ’¬ Discord: Real-time community chat
  • πŸ“š Wiki: Comprehensive documentation
  • πŸŽ₯ YouTube: Video tutorials and demos

🌟 Show Your Support

  • ⭐ Star this repository
  • 🍴 Fork and contribute
  • 🐦 Share on social media
  • πŸ“ Write about your experience

Made with ❀️ by the open source IoT community

Perfect for makers, researchers, students, and professionals who need reliable environmental monitoring!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment