Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/EttusResearch/uhd/llms.txt

Use this file to discover all available pages before exploring further.

UHD (USRP Hardware Driver) is the official software driver and API for the Universal Software Radio Peripheral (USRP™) platform, created and sold by Ettus Research. UHD provides a unified interface across all USRP hardware generations — from the USB-based B200 series to the high-throughput X4xx RFSoC devices — letting you focus on your signal processing application rather than hardware-specific details.

Quickstart

Receive and transmit your first RF samples in minutes using C++ or Python.

Installation

Install UHD from binary packages on Linux, macOS, or Windows.

USRP Devices

Browse device-specific guides for B-series, N-series, X3xx, X4xx, and E-series USRPs.

API Reference

Explore the full C++, Python, and C API surface for device control and streaming.

What is UHD?

UHD acts as the bridge between host software and USRP hardware. It handles device discovery, FPGA image loading, RF frontend configuration (frequency, gain, bandwidth), and high-speed sample streaming over USB, Ethernet, or PCIe. Applications built on UHD can target a single USRP channel or orchestrate dozens of synchronized channels across multiple devices.

C++ API

High-performance native API via multi_usrp and RFNoC graph

Python API

Full-featured Python bindings mirroring the C++ interface

C API

C-compatible wrapper for embedding in non-C++ applications

Common Use Cases

RX/TX Streaming

Configure streamers, issue stream commands, and handle metadata for continuous or burst operation.

Multi-USRP MIMO

Combine multiple USRPs into a single synchronized, multi-channel device.

RFNoC FPGA Processing

Build custom FPGA DSP pipelines using the RF Network-on-Chip framework.

Device Synchronization

Lock multiple USRPs to a common 10 MHz + PPS reference for phase-coherent operation.

Get Started in 3 Steps

1

Install UHD

Download a binary installer or build from source for your operating system. See Binary Installation or Build from Source.
2

Download FPGA images

Run uhd_images_downloader to fetch the FPGA and firmware images matching your UHD version.
3

Connect and verify your device

Plug in your USRP and run uhd_usrp_probe to confirm UHD detects the hardware and reports its capabilities.

Ecosystem

UHD integrates with major SDR frameworks and toolkits:
UHD is licensed under GPLv3. Source code and issue tracker are on GitHub.

Build docs developers (and LLMs) love