Designing Complex RF Pipelines without Writing C++
One of the steepest learning curves in RF security is mastering frameworks like GNU Radio. While incredibly powerful, building a flowgraph to capture, filter, parse, and act on a signal often takes days of development. Mycelium's Inter-Tool Communication system abstracts this complexity away, allowing you to build sophisticated DSP pipelines directly from the command line in seconds.
The Goal
We want to capture raw RF data, filter out the noise, and pipe the clean payloads into an external Python script for custom analysis.
The Solution: Chaining Tools
Using Mycelium's Send_To_Tool and Receive_From_Tool directives, we can run multiple Tools simultaneously, passing data buffers between them entirely in memory.
Tool A: The Ingestion Engine
This tool's only job is to interact with the SDR, pull in raw samples, and pass them down the line if they meet a power threshold.
Tool B: The Filter & Execution Engine
This tool sits in memory (no SDR attached). It waits for data from `ingest`, strips off the noisy header, and pipes it to our custom Python script.
The Architecture
When you type execute, both tools spin up in their own threads. The ingest tool continuously hits the hardware, but only forwards the "hits" to the filter_tool's inbox queue. The filter_tool processes that queue asynchronously.
Conclusion
This multi-tool pipeline isolates the hardware ingestion from the processing logic. It ensures that the SDR is never "blocked" waiting for the Python script to finish executing, preventing sample drops. And it was all built without writing a single line of C++ or opening GNU Radio Companion.
← Back to Blog