A free and open source toolkit for software radio.

The Free & Open Software Radio Ecosystem

The GNU Radio software development toolkit provides signal processing blocks to implement software radios, a graphical user interface to combine them and a run-time to manage data-flow. It can be used with readily-available low-cost external RF hardware to create software-defined radios, or without hardware in a simulation-like environment. It is widely used in research, industry, academia, government, and hobbyist environments to support both wireless communications research and real-world radio systems.

GNU Radio is implemented using C++ and Python. The run-time and signal progressing uses C++ and VOLK, a low-level math library for SIMD operations that grew out the project. GNU Radio applications are build using Python which make it really easy to configure and connect blocks into flow-graphs. On top of that, we have a graphical flow-graph editor that generates Python or C++ application code including graphical widgets (Qt) to control and visualize the application status.

The GNU Radio ecosystem is comprised of the core project and a great number of external packages and tools. These extend the capabilities of GNU Radio by providing additional signal processing algorithms, support for RF hardware and/or entire applications build on-top of them.

lightbulb_outline View ideas list


  • c++
  • python
  • qt


comment IRC Channel
email Mailing list

GNU Radio 2021 Projects

  • Oscar Ekholm
    View-Only Mode in GRC
    By opening an unknown flowgraph file in the GRC you expose your system to arbitrary python code being evaluated via the block parameters. A View-Only...