Experience our modern, interactive documentation with live search, mobile-friendly design, and copy-paste Arduino examples!
This is the Alteriom fork of the EByte LoRa E220 Series Library, enhanced with modern CI/CD practices, automated releases, and improved package management.
We welcome contributions! Please see our Contributing Guidelines for details.
Our GitHub Wiki provides community-driven content that supplements the main documentation:
π‘ Note: For complete documentation and getting started guides, visit our π Modern Documentation Site
- π Visit the Wiki - Community guides and tutorials
- π€ Community Guides - User-contributed content
- π Wiki Integration Guide - How to contribute to the wiki
π‘ Tip: For the most comprehensive and up-to-date documentation, start with our π Live Documentation
- β Automated CI/CD with GitHub Actions
- β Automatic releases with semantic versioning
- β Arduino Library Manager ready
- β PlatformIO fully supported
- β NPM package for MCP server integration
- β Comprehensive testing across multiple platforms
- β Enhanced documentation and examples
- Long Range Communication: 5-10km range with LLCC68 chipset
- Multi-Platform Support: Arduino, ESP32, ESP8266, STM32, Raspberry Pi Pico, SAMD
- Power Management: Wake-on-Radio (WOR) support for low power applications
- Flexible Communication: Transparent, fixed, and broadcast messaging modes
- RSSI Monitoring: Signal strength measurement and monitoring
- Easy Configuration: Simple API for device setup and management
- Open Arduino IDE
- Go to Tools β Manage Libraries
- Search for "Alteriom_EByte_LoRa_E220"
- Click Install
Add to your platformio.ini:
lib_deps =
Alteriom/Alteriom_EByte_LoRa_E220@^1.0.0- Download the latest release from GitHub Releases
- Extract to your Arduino libraries folder
- Restart Arduino IDE
NPM Registry (Public):
npm install alteriom-ebyte-lora-e220GitHub Packages (Requires Authentication):
# Configure registry
echo "@alteriom:registry=https://npm.pkg.github.com" >> .npmrc
# Install package
npm install @alteriom/alteriom-ebyte-lora-e220#include "Alteriom_EByte_LoRa_E220.h"
// Initialize with Serial pins (adjust for your board)
LoRa_E220 e220ttl(&Serial2, 15, 21, 19); // ESP32: RX, TX, AUX, M0, M1
void setup() {
Serial.begin(9600);
e220ttl.begin();
// Get current configuration
ResponseStructContainer c = e220ttl.getConfiguration();
Configuration configuration = *(Configuration*) c.data;
Serial.println("LoRa E220 initialized successfully!");
c.close();
}
void loop() {
// Send a message
ResponseStatus rs = e220ttl.sendMessage("Hello from Alteriom LoRa!");
delay(5000);
}The library includes comprehensive examples:
- 01_getConfiguration - Read device configuration
- 01_setConfiguration - Configure device parameters
- 02_sendTransparentTransmission - Simple message sending
- 04_sendFixedTransmission - Targeted message delivery
- 05_sendFixedTransmissionStructure - Send structured data
- 06_sendWORMessage - Wake-on-Radio messaging
- 07_receiveMessages - Message reception handling
| Platform | Framework | Status |
|---|---|---|
| Arduino UNO/Nano | Arduino | β Tested |
| ESP32 | Arduino/ESP-IDF | β Tested |
| ESP8266 | Arduino | β Tested |
| STM32 | Arduino/STM32Cube | β Tested |
| Raspberry Pi Pico | Arduino | β Tested |
| SAMD21/SAMD51 | Arduino | β Tested |
# Build for all platforms
pio run
# Run tests
pio test
# Build specific platform
pio run -e esp32dev# Compile example
arduino-cli compile --fqbn esp32:esp32:esp32 examples/01_getConfiguration/Experience our modern, interactive documentation with:
β¨ Beautiful responsive design - Works perfectly on desktop, tablet, and mobile
π Live search - Find what you need instantly
π‘ Interactive examples - Copy-paste ready Arduino code
π― Guided tutorials - Step-by-step instructions for every platform
π± Mobile-friendly - Read docs anywhere, anytime
β‘ Fast loading - Optimized for quick access
This library features world-class documentation built with modern web technologies:
- π Complete API Reference: Interactive documentation with live examples
- π Modern Web Interface: Beautiful, responsive design powered by Docsify
- π‘ Step-by-Step Guides: 8+ Arduino sketches with detailed explanations
- π§ Platform-Specific Setup: Tailored instructions for each supported platform
- β‘ 5-Minute Quick Start: Get your first LoRa message working fast
- π Full-Text Search: Find any information instantly
- π± Mobile Optimized: Perfect experience on any device
| Section | Description | Link |
|---|---|---|
| π Home | Main documentation portal | π Live Docs |
| π Quick Start | Get running in 5 minutes | β‘ Start Here |
| π API Reference | Complete method documentation | οΏ½ API Docs |
| π» Examples | Working Arduino code | π Examples |
| βοΈ Configuration | Device setup guide | π§ Config |
| π Troubleshooting | Solutions to common issues | π οΈ Help |
Maximize battery life in your LoRa projects with Wake-on-Radio mode:
- π‘ WOR Documentation - Complete guide to power-saving techniques
- π€ WOR Example - Send messages to sleeping devices
- β° Wake from WOR - Receive and handle WOR messages
- Power Savings: Reduce power consumption from 100mA to <10ΞΌA in sleep mode
- Use Cases: Battery-powered sensors, remote monitoring, solar-powered nodes
Achieve maximum communication range (5-10km) with proper configuration:
- π Range Optimization Guide - Maximize transmission distance
- π§ Configuration Guide - Optimize power, speed, and channel settings
- πΆ Wiring Guide - Proper antenna connections
- Key Factors:
- Transmission Power: Up to 30dBm (1W) configurable
- Air Data Rate: Lower rates = longer range (1.2kbps to 62.5kbps)
- Antenna Quality: Use proper 50Ξ© antennas matched to frequency
- Line of Sight: Clear path significantly improves range
- Frequency Band: Choose appropriate band (433MHz, 868MHz, 915MHz)
Choose the right mode for your application:
-
π Transparent Mode - Simple peer-to-peer communication
- No address configuration needed
- Broadcast to all devices on same channel
- Best for: Simple point-to-point links
-
π― Fixed Mode - Addressed messaging with channel control
- Target specific devices by address
- Control channel and power per message
- Best for: Complex networks, multiple nodes
-
π’ Broadcast Mode - One-to-many communication
- Send to all devices simultaneously
- Efficient for sensor networks
- Best for: Environmental monitoring, alerts
Platform-specific guides for seamless integration:
- π· Arduino Setup - Arduino UNO, Nano, Mega
- πΆ ESP32 Setup - ESP32 with hardware serial
- πΈ ESP8266 Setup - ESP8266 with software serial
- π All Platforms - Complete platform guide (STM32, Pi Pico, SAMD)
- Frequency Bands: 433MHz, 868MHz, 915MHz (region-specific)
- Range: 5-10km line-of-sight, 1-2km urban environments
- Data Rates: 1.2kbps to 62.5kbps (configurable)
- Power Output: Up to 30dBm (1W) maximum
- Interface: UART (3.3V/5V compatible with level shifter)
- Current: 100mA TX, 15mA RX, <10ΞΌA sleep mode
- π Complete API Reference - Every method documented with examples
- π 5-Minute Quick Start - Get your first LoRa project working
- π Examples Library - 8+ complete Arduino sketches
- π§ Platform Setup Guides - Arduino, ESP32, ESP8266, STM32, Pi Pico
- βοΈ Configuration Guide - Optimize for your application
- π οΈ Troubleshooting - Solutions to common issues
- π Performance Optimization - Maximize range and efficiency
- π Security Guide - Encryption and secure communication
- β 100% API Coverage: Every method documented with examples
- β Multi-Platform: Arduino, ESP32, STM32, Pi Pico specific notes
- β Real Examples: Working code for every major feature
- β Error Handling: Comprehensive status codes and recovery
- β Performance Data: Range testing and power consumption
- β Auto-Generated: Always up-to-date with latest code changes
Documentation is automatically updated on every code change:
View Latest: https://alteriom.github.io/EByte_LoRa_E220_Series_Library/
For a comprehensive list of all documentation resources, including LoRa-specific guides, see: π Documentation Index - Complete documentation reference with categorized links
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE.md file for details.
- Renzo Mischianti - Original author and creator of the EByte LoRa E220 library
- Original Repository: xreef/EByte_LoRa_E220_Series_Library
- Alteriom Team - CI/CD enhancements and modern packaging
- GitHub Repository: https://github.com/Alteriom/EByte_LoRa_E220_Series_Library
- Original Author's Website: https://www.mischianti.org
- Arduino Library Registry: Submit here
- PlatformIO Registry: View package
Ready to get started? Check out our Quick Start Guide and start building your LoRa projects today!