Check out my first novel, midnight's simulacra!
BladeRF
The FPGA-based bladeRF SDR is offered by Nuand of San Francisco. The line includes:
Model | Price |
---|---|
bladeRF 2.0 micro xA9 | $720 |
bladeRF 2.0 micro xA4 | $480 |
bladeRF x115 | $650 |
bladeRF x40 | $420 |
The underlying FPGAs are not fully utilized by the radio software itself, and can thus be extended by the user. Additional products include the XB-200 LF/MF/HF/VHF transverter for lower-range work, the XB-300 amplifier/LNA, and the XB-100 GPIO expansion board. These only work with the x115/x40.
The libbladeRF repository contains the sources necessary for working with bladeRF. Clone this repository with the --recursive option to acquire submodules. FPGA blobs can be acquired at Nuand's site. No kernel driver is necessary; libbladeRF works directly with USB devices using libusb. The underlying libad9361 from Analog Devices can be used to manipulate the AD9361 aboard the bladeRF 2.0.
Preparing the FPGA
Upon attaching a new bladeRF, only one LED will come on, and the bladeRF-cli REPL will confirm that no firmware is present:
bladeRF> version bladeRF-cli version: 1.7.1-git-896d2431 libbladeRF version: 2.2.0-git-896d2431 Firmware version: 2.3.2 FPGA version: Unknown (FPGA not loaded) bladeRF>
Load the appropriate FPGA bitstream with load fpga or bladeRF-cli -l:
bladeRF> load fpga hostedxA4-latest.rbf Loading fpga from hostedxA4-latest.rbf... Done. bladeRF>
The load will require several seconds. Once done, all LEDs will come on, and the info command will function:
bladeRF> version bladeRF-cli version: 1.7.1-git-896d2431 libbladeRF version: 2.2.0-git-896d2431 Firmware version: 2.3.2 FPGA version: 0.10.2 (configured by USB host) bladeRF> info Board: Nuand bladeRF 2.0 (bladerf2) Serial #: ****** 128-bit hex ****** VCTCXO DAC calibration: 0x1fff FPGA size: 49 KLE FPGA loaded: yes Flash size: 32 Mbit USB bus: 2 USB address: 2 USB speed: SuperSpeed Backend: libusb Instance: 0 bladeRF>
As noted above, the FPGA bitstreams can be downloaded from Nuand's website. On Debian-derived machines, they're also available via e.g. the bladerf-fpga-hostedxa4 package. FX3 USB controller bitstreams are likewise available from Nuand, or from the Debian package bladerf-firmware-fx3. The FPGA must be loaded each time the device is powered up, but this can be performed automatically by libbladeRF.