• Skip to main content
  • Skip to primary sidebar

RNTLab.com

The Ultimate Shortcut to Learn Electronics and Programming with Open Source Hardware and Software

  • Courses
  • Forum
    • Forum
    • Ask Question
  • Shop
  • Account
  • Blog
  • Login

“E220 WOR Remote Switch”; converted to dual core, FreeRTOS system

Q&A Forum › Category: ESP32 › “E220 WOR Remote Switch”; converted to dual core, FreeRTOS system
0 Vote Up Vote Down
William Lucid asked 6 months ago

Good Morning,

Updated, narrated, video E220 dual core project  During the video there is a 60 second countdown timer between switch on and off.

Project has been converted to FreeRTOS, dual core coding for better stability and crash prevention; previously on single core coding, experienced WiFi and sketch flow/logic collisions causing crashes.  Using dual cores prevents collisions by WiFi running on one core and sketch logic running on the other core, and better E220 AUX pin management; not proceeding until E220 module is ready internally..

Project credits for project development

E220-WOR-with-Dual-Core-FREERTOS-System

Separate versions for ESP32 and the ESP32S3, New feature, timing for each step of the process.

Nordic Power Profiler Kit 2 observations to be available soon on the Tech500, Project GitHub Repository.

Regards,

William

 

Question Tags: E220, ESP32, ESP32S3, Wake On Radio, WOR
7 Answers
0 Vote Up Vote Down
Sara Santos Staff answered 6 months ago

Hi.
Thanks for sharing.
That’s a great application of FreeRTOS Dual Core.
 
Regards,
Sara

0 Vote Up Vote Down
William Lucid answered 6 months ago

Hi Sara,

Thank you Sara; still working on the ESP32S3 WOR Receiver.

Original use case was for a Wyse 3 Cam, live video feed, power bank battery to conserve battery.  Project use a one-click URL to initialize the process of waking deep sleeping ESP32S3 and sending preamble with payload command to turn on the “switch”, then a countdown timer initializes process to turn off the “switch”.  Goes back to sleep, awaits next web request.

Quick look with the “Nordic Power Profiler Kit II” shows the choice of ESP32S3 is no where close to the “Ebyte, EoRa S3 900TB  (ESP32S3 with SX1262 on board),  I posted here about on this forum!  ESP32S3 with E220 power consumption is ranging in milliamps; not in microamps of power consumption!!!

Regards.
William

0 Vote Up Vote Down
William Lucid answered 6 months ago

Update 01/16/2026

Good news!  Remaining issue of ESP32S3 not waking by Wake On Radio (WOR) has been resolved with 100% reliability!

11:45:11.611 -> E220 Ready
11:45:11.611 -> 
11:45:11.611 -> ╔════════════════════════════════════════╗
11:45:11.611 -> ║ SYSTEM READY                           ║
11:45:11.644 -> ╚════════════════════════════════════════╝
11:45:11.644 -> URL: http://192.168.12.27/relay
11:45:11.644 -> 
11:45:43.715 -> 
11:45:43.715 -> 🌐 WEB REQUEST RECEIVED
11:45:43.715 -> 
11:45:43.715 -> ╔════════════════════════════════════════╗
11:45:43.715 -> ║ WOR TRANSMISSION STARTING              ║
11:45:43.749 -> ╚════════════════════════════════════════╝
11:45:43.749 -> Event: Battery Switch ON
11:45:43.749 -> 
11:45:43.749 -> ==============================
11:45:43.749 -> WOR SEND SEQUENCE START
11:45:43.749 -> ==============================
11:45:43.749 -> STEP 1: Preparing data payload...
11:45:43.749 -> Switch value: 1
11:45:43.749 -> Timestamp: Fri 01/16/26 11:45:43
11:45:43.749 -> 
11:45:43.749 -> STEP 2: Entering WOR TX mode...
11:45:43.943 -> WOR TX mode confirmed.
11:45:43.943 -> 
11:45:43.943 -> STEP 3: Sending WOR preamble...
11:45:43.974 -> Preamble status: Success
11:45:46.533 -> 
11:45:46.533 -> STEP 4: Switching to NORMAL TX mode...
11:45:46.760 -> Normal TX mode confirmed.
11:45:46.760 -> 
11:45:46.760 -> STEP 5: Sending data packet...
11:45:46.760 -> Data status: Success
11:45:47.245 -> 
11:45:47.245 -> ==============================
11:45:47.245 -> WOR SEND COMPLETE (3501 ms)
11:45:47.245 -> ==============================
11:45:47.245 -> 
11:45:47.245 -> ╔════════════════════════════════════════╗
11:45:47.245 -> ║ WOR TRANSMISSION COMPLETE              ║
11:45:47.245 -> ╚════════════════════════════════════════╝
11:45:47.280 -> 
11:46:43.713 -> 
11:46:43.713 -> ⏰ COUNTDOWN EXPIRED - AUTO SHUTDOWN
11:46:43.713 -> 
11:46:43.713 -> ╔════════════════════════════════════════╗
11:46:43.745 -> ║ WOR TRANSMISSION STARTING              ║
11:46:43.745 -> ╚════════════════════════════════════════╝
11:46:43.745 -> Event: Battery Switch OFF
11:46:43.745 -> 
11:46:43.745 -> ==============================
11:46:43.745 -> WOR SEND SEQUENCE START
11:46:43.745 -> ==============================
11:46:43.745 -> STEP 1: Preparing data payload...
11:46:43.745 -> Switch value: 2
11:46:43.777 -> Timestamp: Fri 01/16/26 11:46:43
11:46:43.777 -> 
11:46:43.777 -> STEP 2: Entering WOR TX mode...
11:46:43.971 -> WOR TX mode confirmed.
11:46:43.971 -> 
11:46:43.971 -> STEP 3: Sending WOR preamble...
11:46:43.971 -> Preamble status: Success
11:46:46.534 -> 
11:46:46.534 -> STEP 4: Switching to NORMAL TX mode...
11:46:46.760 -> Normal TX mode confirmed.
11:46:46.760 -> 
11:46:46.760 -> STEP 5: Sending data packet...
11:46:46.760 -> Data status: Success
11:46:47.246 -> 
11:46:47.246 -> ==============================
11:46:47.246 -> WOR SEND COMPLETE (3491 ms)
11:46:47.246 -> ==============================
11:46:47.246 -> 
11:46:47.246 -> ╔════════════════════════════════════════╗
11:46:47.246 -> ║ WOR TRANSMISSION COMPLETE              ║
11:46:47.279 -> ╚════════════════════════════════════════╝
11:46:47.279 ->

Note: Receiver does not have WiFi; so no NTP for timestamping.  Timestamping is sent from transmitter to receiver included in Message outgoing struct.

Regards,

William

0 Vote Up Vote Down
William Lucid answered 6 months ago

Nordic Power Profiler Kit II Observations of the ESP32-S3 with the Ebyte, E220:

Before power saving adjustments

After power saving adjustments

Note:  The on Development Board LED, the LDO, voltage regulator, and the USB interface keep from reaching below the mA range.
Regards,
William

0 Vote Up Vote Down
William Lucid answered 6 months ago

 

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

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

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.

GitHub Repository:  E220-WOR-with-Dual-Core-FREERTOS-System

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
 
 

 

 

0 Vote Up Vote Down
William Lucid answered 6 months ago

Update 01/24/2025

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

GitHub, project README with links to video demonstration and Putty log of serial output.

Items of interest; ACK is sent from receiver to transmitter on success and NTP time is sent from transmitter to receiver.  Receiver has no Wi-Fi.

“Putty” log capture 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.

Regards,
William

0 Vote Up Vote Down
William Lucid answered 6 months ago

Claude (AI) provided code to config E220-900T22D modules for transmitter and receiver:

Claude’s E220 Module configurator

If used;  Check your #define pin definitions!  Could be different than my #define pins.  This saves allot of time and get the process done correctly the first time!

Good news; ordered two, Ebyte, EoRa-S3-900TB (915 MHz) development boards with shipping to my address for $36.20 — 7 to 15 day delivery.  Looks like tariffs have not impacted EbyteIoT orders; incase anyone is holding off of ordering now.  I verified with EbyteIoT; finial cost delivered before placing the order.

William

Primary Sidebar

Login to Ask or Answer Questions

This Forum is private and it’s only available for members enrolled in our Courses.

Login »

Latest Course Updates

  • [eBook Updated] Smart Home with Raspberry Pi, ESP32, and ESP8266 Version 1.7 November 28, 2025
  • [eBook Updated] Smart Home with Raspberry Pi, ESP32, and ESP8266 V1.6 September 9, 2025

You must be logged in to view this content.

Contact Support - Refunds - Privacy - Terms - MakerAdvisor.com - Member Login

Copyright © 2013-2026 · RandomNerdTutorials.com · All Rights Reserved

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.