ESP32/ESP32-S3 Dual-Core FreeRTOS Wake-On-Radio System with Ebyte E220

User avatar
techno500
Posts: 3
Joined: Wed Oct 02, 2019 6:26 pm

ESP32/ESP32-S3 Dual-Core FreeRTOS Wake-On-Radio System with Ebyte E220

Postby techno500 » Tue Jan 20, 2026 1:53 am

Project I've been working on that combines the Ebyte E220 LoRa transceiver and ESP32/ESP32 with SX1262 on one devS3 microcontrollers using dual-core FreeRTOS architecture and Wake-On-Radio (WOR) functionality.

Video demonstration of ESP32/ESP32-S3 Dual-Core FreeRTOS project

Project Overview
This project demonstrates implementation of LoRa communication with deep sleep power management, utilizing the dual-core capabilities of ESP32 and ESP32-S3 microcontrollers. The system is designed for ultra-low-power remote applications where battery efficiency is critical.

Plan is to upgrade to an intergrated ESP32S3 with SX1262 on a development board for ultra low power battery operation.

GitHub Repository: E220 WOR Dual Core FreeRTOS, Remote Switch

Key Features

Dual-Core Architecture: Leverages both cores of ESP32/ESP32-S3 with FreeRTOS task management
Wake-On-Radio (WOR): E220 transceiver wakes from deep sleep on incoming messages
Ultra-Low Power: Deep sleep mode with 5 µA current draw
Long Range: Up to 10 km estimated range at 30 dBm transmit power
Dual Platform Support: Compatible with both ESP32 and ESP32-S3 development boards
Web Interface: HTML-based configuration and monitoring

Technical Highlights

The system uses FreeRTOS to distribute tasks across both processor cores, with one core handling radio communications while the other manages system tasks and power states. The E220-900T30D transceiver's WOR capability allows the entire system to remain in deep sleep until a radio message arrives, making it ideal for battery-powered remote monitoring and control applications.

The repository includes:

Complete source code for ESP32 and ESP32-S3 variants
E220 WOR Configurator sketch for module setup
Technical reference documentation for the dual-core architecture
HTML interface files for web-based interaction

Applications

This architecture is perfect for:

Remote sensor networks
Battery-powered IoT devices
Solar-powered monitoring stations
Long-range telemetry systems
Agricultural automation
Environmental monitoring

License

Released under the MIT License, making it free for both personal and commercial use.

Project Credits & Acknowledgments

This project wouldn't have been possible without the contributions and support of the following individuals and AI assistants:

William Lucid (Tech500) - Project author and developer

AI Collaboration Team
This project was developed with significant assistance from various AI language models, each contributing their unique strengths to different aspects of the development:

Claude (Anthropic) - Primary development partner

Advanced code architecture and FreeRTOS dual-core implementation
Technical documentation and markdown formatting
Code optimization and debugging assistance
Project structure and organization
Deep technical problem-solving for ESP32 platform specifics

ChatGPT (OpenAI) - Development support

Code refinement and alternative implementation suggestions
Documentation assistance
General programming consultation
Code review and improvement recommendations

Gemini (Google) - Research and analysis

Technical research and background information
Comparison analysis of different approaches
Additional code examples and references
Verification of technical concepts

Special Thanks

Renzo Mischianti (xReef)

LoRa E220 Library development and maintenance
Comprehensive E220 Ebyte articles and documentation
Community support and technical guidance
E220 support resources and examples

Wolfgang Ewald

Excellent tutorial: "Using LoRa with the EByte E220, E22 and E32 series"
Practical hands-on guidance and real-world examples
Valuable insights into LoRa implementation

Component Manufacturers

Espressif Systems - For the ESP32 and ESP32-S3 microcontroller platforms and FreeRTOS implementation
Ebyte - For the excellent E220-900T30D LoRa transceiver modules

Development Notes

This project represents a collaborative effort between human expertise and AI assistance, demonstrating how modern AI tools can accelerate embedded systems development while maintaining high code quality and documentation standards. Each AI assistant brought different strengths to the project, from Claude's deep technical ESP32 knowledge to Gemini's research capabilities and Grok's creative problem-solving.
The combination of human direction and AI assistance enabled rapid prototyping, comprehensive documentation, and robust implementation of complex dual-core FreeRTOS architecture.

I hope this project helps others working on similar LoRa and ESP32 applications! Feel free to fork, contribute, or reach out with questions.

Questions? Suggestions? Contributions?
Please open an issue on GitHub or submit a pull request. I'm always happy to discuss the project and help others implement similar systems!

Licensed under MIT License - See repository for full license details

Regards,
William, ab9nq

User avatar
techno500
Posts: 3
Joined: Wed Oct 02, 2019 6:26 pm

Re: ESP32/ESP32-S3 Dual-Core FreeRTOS Wake-On-Radio System with Ebyte E220

Postby techno500 » Sun Jan 25, 2026 7:44 am

Update 01/24/2025

Have detailed E220-WOR-with-Dual-Core-FREERTOS-System in depth over at "Dronebot Workshop."  Link goes directly to topic.

"Putty" log capture of updated code output that shows event timing for the sequence events; including getting ready, preamble received, esp32-s3 wakeup, receiving data, turning switch on, entering deep sleep.  Cycle repeats after countdown timer expires, turning off switch, then entering deep sleep.

"Putty" log of latest project code

Regards,
William

Who is online

Users browsing this forum: trendictionbot, YisouSpider and 0 guests