
GNU Radio + UHD Software¶
GNU Radio is a popular SDR application framework commonly used with USRP devices.
The gr-uhd component of GNU Radio comes with a set of UHD source and sink blocks as well as block wrappers for the GNU Radio Companion.

Unofficial Installers¶
To make getting started easy, Ettus Research hosts unofficial installers for GNU Radio on Ubuntu, Fedora, and Windows. These installers are not supported by the GNU Radio Project.
The installers are built from the latest maint and master branches of GNU Radio, along with the GrExtras and gr-baz packages:- See the GrExtras project page for more information.
- See the gr-baz project page for more information.
Build and Install¶
If you are using Ubuntu or Fedora, the easiest way to compile UHD + GNU Radio is with the build-gnuradio script, linked below.Otherwise, follow the Building with CMake guide.
Using UHD Software with GNU Radio¶
The bridge between GNU Radio and the USRP device is a set of blocks in the gr-uhd component, which includes:
- USRP source block - provides RX data to downstream processing blocks
- USRP sink block - accepts TX data from upstream processing blocks
The blocks can be used in C++, Python, or in the graphical GNU Radio Companion environment:
Using GNU Radio's sample tag feature, RX samples can be time-stamped, and TX samples can be precisely scheduled.
Timestamp and burst tag documentation can be found in the USRP source and sink header files:
Resources and Links¶
- Official GNU Radio Build Guide
- GNU Radio Git Repository
- Blocks Coding Guide for writing custom signal processing blocks