bladeRF USB 3.0 Superspeed Software Defined Radio Source Code
C VHDL Verilog Tcl Other
Pull request Compare This branch is 1798 commits behind Nuand:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

bladeRF Source

This repository contains all the source code required to program and interact with a bladeRF platform, including firmware for the Cypress FX3 USB controller, HDL for the Altera Cyclone IV FPGA, and C code for the host side driver, library, and command line interface.

The source is organized as follows:

Directory Description
common Source and header files common across the platform
fx3_firmware Firmware for the Cypress FX3 USB controller
hdl All HDL code associated with the Cyclone IV FPGA
linux The linux kernel driver, library and command-line interface for interacting with a bladeRF device

Quick Start

It is not necessary to rebuild the Cypress FX3 firmware (hooray!), and there are pre-built FPGA images that will get you underway.

  1. Compile and install the kernel driver, libbladeRF library, and command-line application, in that order.
  2. Download pre-compiled FPGA binaries from You'll want hostedx40.rbf if you've got the 40 kLE board, or hostedx115.rbf if you have a 115 kLE board.
  3. Attach the bladeRF board to your fastest USB port.
  4. You should have a /dev/bladerf0 character device file. Make sure it is chowned and/or chmodded as you'd like it. (Please see linux/kernel/ for a note about udev.)
  5. Try ./bladeRF-cli -d /dev/bladerf0 -l /path/to/fpga.rbf to load an FPGA image and open a dialogue with your bladeRF board, per the advice in linux/apps/

If you've made it this far, congratulations! You can read (or write) raw samples in a variety of formats using the bladeRF-cli tool, or you can use third-party tools that support the bladeRF.

Building for use with GNU Radio

Directions for building and using this with GNU Radio have been compiled by kb3gtn.

Building Procedure

Each subsection of the source code can be built by itself and maintains their own README files for building. The recommended build flow is as such: