lora-cad-scanner
LoRa Channel Activity Detection (CAD) scanner for LilyGo T3 v1.6 (ESP32-PICO-D4 + SX1276) with HackRF One support. Scans a configurable frequency range using multiple BW/SF combinations, displays live progress on the SSD1306 OLED, stores detected channels in device RAM, emits structured 15-minute reports over Serial, and sends Telegram notifications for new detections via an OpenClaw cron pipeline. Use when scanning for LoRa devices in a frequency band, setting up a LilyGo T3 as a LoRa scanner/sniffer, building RF monitoring pipelines with Telegram alerting, or doing RF reconnaissance with HackRF + LilyGo together.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/arsatyants/lora-cad-scannerWhat This Skill Does
The lora-cad-scanner is a specialized toolkit designed for RF reconnaissance and LoRa signal auditing. It bridges the gap between low-cost hardware and structured data reporting by leveraging the LilyGo T3 v1.6.1 platform to perform Channel Activity Detection (CAD). The skill continuously cycles through specified frequency bands (defaulting to 433-445 MHz), dynamically adjusting bandwidth (BW) and spreading factors (SF) to identify active transmissions. It provides a real-time visual status via an SSD1306 OLED, while simultaneously dumping structured CSV data via Serial for post-processing. This allows users to build persistent monitoring pipelines that integrate with the OpenClaw environment, enabling automated Telegram alerts when specific activity is detected within the monitored spectrum.
Installation
Installation requires both firmware deployment and host-side Python dependencies. First, use arduino-cli to compile and upload the LoRaCADScan.ino sketch to your ESP32 board, ensuring the LoRa and U8g2 libraries are installed. On your host system (e.g., Raspberry Pi), install the required dependencies using pip install pyserial numpy. Once the hardware is connected via USB, run the scripts/lora_monitor.py script to capture serial output and pipe it into the OpenClaw workspace. Finally, configure the automated Telegram cron jobs according to the project documentation to enable proactive notifications.
Use Cases
- RF Reconnaissance: Scan specific frequency bands to map out active LoRa networks or IoT devices in your immediate vicinity.
- Security Auditing: Monitor for unauthorized transmissions or signal spikes that deviate from your established LoRa infrastructure baseline.
- Signal Pipeline Construction: Use the CSV stream to feed larger machine learning or data visualization tools for long-term spectrum usage analysis.
- Automated Alerting: Setup a remote sensor node that keeps you informed via Telegram whenever a device on a target frequency wakes up.
Example Prompts
- "OpenClaw, start the lora-cad-scanner on the current LilyGo device and pipe the output to my workspace log."
- "Can you help me reconfigure the lora-cad-scanner to monitor the 868 MHz band instead of 433 MHz?"
- "Summarize the last 15 minutes of activity from the lora-cad-scanner and send a report to my Telegram channel."
Tips & Limitations
This tool requires physical access to specific hardware and works best when the ESP32 is powered via a stable source. Please note that the hardcoded paths for the OpenClaw workspace assume a standard environment; if you have customized your installation, update the script variables accordingly. Users must be aware of local radio frequency regulations, as unauthorized monitoring or transmission can be illegal. This skill is a passive scanner and does not include a built-in Telegram API client, relying instead on the wider OpenClaw ecosystem for notification delivery. Ensure your serial port permissions are correctly set to allow the user or the background script to read from /dev/ttyACM0.
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-arsatyants-lora-cad-scanner": {
"enabled": true,
"auto_update": true
}
}
}Tags(AI)
Flags: file-read, file-write, code-execution