Skip to content

Releases: Nuand/bladeRF

2025.10

06 Oct 23:25

Choose a tag to compare

2025.10 (2025-10-06)

This release candidate consists of the following versions:

  • FPGA bitstream v0.16.0
  • FX3 firmware v2.6.0
  • libbladeRF v2.6.0
  • bladeRF-cli v1.10.0
  • MATLAB & Simulink bindings v1.1.0
  • Python bindings v1.4.0

API docs: https://www.nuand.com/bladeRF-doc/libbladeRF/
FX3 firmware: https://www.nuand.com/fx3_images/
FPGA bitstreams: https://www.nuand.com/fpga_images/
Ubuntu PPA: https://launchpad.net/~nuandllc/+archive/ubuntu/bladerf
Windows installer: https://www.nuand.com/win_installers/

Summary of changes in 2025.10

libbladeRF:

  • Add SC16Q11 packed format support for improved bandwidth efficiency
  • Add comprehensive gain calibration system with CSV import/export
  • Add RX reordering and prime worker before RX enable
  • Add oversample feature with configurable gain controls
  • Improve GPIF buffer size support with larger 2048 sample buffers
  • Add cross-platform threading support (removed libpthreadswin32 dependency)
  • Add extensive test suite and regression testing framework
  • Fix various sync TX/RX initialization and timing issues

FPGA:

  • Add SC16Q11 packed format support to FIFO reader and writer
  • Add larger GPIF buffer support for improved USB throughput
  • Fix RX/TX DMA request prioritization and meta timestamp handling
  • Add system and FX3 PLL clock control blocks
  • Fix timing issues and improve signal integrity

Tools:

  • Add bladeRF-power utility for RF power measurements with CLI interface
  • Add bladeRF-fsk project as separate submodule
  • Add bladeRF-update utility for firmware and FPGA updates
  • Improve cross-platform Windows build support
  • Add comprehensive hardware-in-the-loop testing framework

2025.05-rc2

20 May 10:16

Choose a tag to compare

2025.05-rc2 Pre-release
Pre-release

RC2 of 2025.05

Includes a Windows build

Full Changelog: 2024.05...2025.05-rc2

May release

24 May 00:11

Choose a tag to compare

Tagging this release to get Windows installer hosted on Github.

2023.02

16 Feb 03:35

Choose a tag to compare


2023.02 (2023-02-13)

This release candidate consists of the following versions:

* FPGA bitstream                v0.15.0
* FX3 firmware                  v2.4.0
* libbladeRF                    v2.5.0
* bladeRF-cli                   v1.9.0
* MATLAB & Simulink bindings    v1.0.5
* Python bindings               v1.3.0

API docs: https://www.nuand.com/bladeRF-doc/libbladeRF/
FX3 firmware: https://www.nuand.com/fx3_images/
FPGA bitstreams: https://www.nuand.com/fpga_images/
Ubuntu PPA: https://launchpad.net/~nuandllc/+archive/ubuntu/bladerf
Windows installer: https://www.nuand.com/win_installers/

Summary of changes in 2023.02

  • libbladeRF

    • Add 8bit format mode support
    • Add AD936x overclocking feature
    • Fix bugs, including a locking bug
  • FPGA:

    • Add 8bit mode support to FIFO reader and writer

2021.10

15 Feb 23:29

Choose a tag to compare


2021.10 (2021-10-04)

This release candidate consists of the following versions:

* FPGA bitstream                v0.14.0
* FX3 firmware                  v2.4.0
* libbladeRF                    v2.4.1
* bladeRF-cli                   v1.8.0
* MATLAB & Simulink bindings    v1.0.5
* Python bindings               v1.2.1

API docs: https://www.nuand.com/bladeRF-doc/libbladeRF/
FX3 firmware: https://www.nuand.com/fx3_images/
FPGA bitstreams: https://www.nuand.com/fpga_images/
Ubuntu PPA: https://launchpad.net/~nuandllc/+archive/ubuntu/bladerf
Windows installer: https://www.nuand.com/win_installers/

Summary of changes in 2021.10

  • libbladeRF

    • Fix up packet mode bugs
    • Add Wishbone master core as NiOS peripheral
  • FPGA:

    • Fix several bugs in packet mode buffering mechanism
    • Add Wishbone master core as NiOS peripheral
    • Add support for bladeRF 2.0 micro xA5

2021.02

08 Feb 21:55

Choose a tag to compare

This release candidate consists of the following versions:

* FPGA bitstream                v0.12.0
* FX3 firmware                  v2.4.0
* libbladeRF                    v2.4.0
* bladeRF-cli                   v1.8.0
* MATLAB & Simulink bindings    v1.0.3
* Python bindings               v1.2.0

API docs: https://www.nuand.com/bladeRF-doc/libbladeRF/
FX3 firmware: https://www.nuand.com/fx3_images/
FPGA bitstreams: https://www.nuand.com/fpga_images/
Ubuntu PPA: https://launchpad.net/~nuand/+archive/ubuntu/bladerf
Windows installer: https://www.nuand.com/win_installers/

Summary of changes in 2020.12

  • libbladeRF

    • Added packet mode format BLADERF_FORMAT_PACKET_META. libbladeRF is able to
      exchange variable length packets with the HDL if packet mode is enabled
    • Added RFIC parameters for burst waveforms
    • Ability to query backend for handle and lock
  • FX3

    • Variable length packet support for PACKET_META mode
  • bladeRF-cli:

    • Indicate presence of packet cores in FPGA
  • FPGA:

    • Add packet mode. The HDL fabric is able to exchange variable length
      packets with the host
    • Added packet_generator as an example for how to send packets to the host
    • Added bladeRF 2.0 micro headless example variant "foxhunt"
    • Fix metadata related arithmetic and logic
  • Python

    • Update for libbladeRF v2.4.0

2019.07

31 Jul 18:15

Choose a tag to compare


2019.07 (2019-07-31)

This release candidate consists of the following versions:

* FPGA bitstream                v0.11.0
* FX3 firmware                  v2.3.2
* libbladeRF                    v2.2.1
* bladeRF-cli                   v1.8.0
* MATLAB & Simulink bindings    v1.0.3
* Python bindings               v1.2.0

API docs: https://www.nuand.com/bladeRF-doc/libbladeRF/
FX3 firmware: https://www.nuand.com/fx3_images/
FPGA bitstreams: https://www.nuand.com/fpga_images/
Ubuntu PPA: https://launchpad.net/~nuandllc/+archive/ubuntu/bladerf
Windows installer: https://www.nuand.com/win_installers/

Summary of changes in 2019.07

  • libbladeRF

    • Gain mode setting default is now manual
    • Tuning mode setting default is now host
    • Add OTP command support
    • Fix metadata related arithmetic
  • bladeRF-cli:

    • Add RFIC fitler selection
    • Add tuning_mode
    • Display more useful warning and error messages
  • FPGA:

    • Increase FIFO buffer sizes for bladeRF 2.0
    • Fix underflow and overflow issues in metadata code
    • Refactor RFIC code for bladeRF 2.0
    • Allow quicktune to control XB gpio register for XB-200
  • Python

    • Update for libbladeRF v2.2.1

2018.12-rc2

21 Dec 22:54

Choose a tag to compare

2018.12-rc2 Pre-release
Pre-release

2018.12-rc2 (2018-12-21)

This release candidate consists of the following versions:

* FPGA bitstream                v0.10.2
* FX3 firmware                  v2.3.1
* libbladeRF                    v2.2.0
* bladeRF-cli                   v1.7.1
* MATLAB & Simulink bindings    v1.0.3
* Python bindings               v1.1.1

API docs: https://www.nuand.com/bladeRF-doc/libbladeRF/
FX3 firmware: https://www.nuand.com/fx3_images/
FPGA bitstreams: https://www.nuand.com/fpga_images/
Ubuntu PPA: https://launchpad.net/~bladerf/+archive/ubuntu/bladerf
Windows installer: https://www.nuand.com/win_installers/

The major new features in this release candidate are:

  • FPGA-based RFIC control for the bladeRF 2.0 micro family
  • Quick-tuning support for the bladeRF 2.0 micro family

Summary of changes since 2018.10-rc1:

  • FPGA
    • Add quick tuning for bladerf2 devices
    • Add FPGA-based RFIC control for bladerf2 devices
  • libbladeRF
    • Fix FPGA image flashing on bladerf2 xA9 devices (#571)
    • Fix bladerf_set_gain() being off by a few dB on bladerf1 devices
    • Add biastee_rx and biastee_tx config file options
    • Add support for quick tuning and FPGA-based RFIC control
  • bladeRF-cli
    • Fix memory leak in CSV-to-SC16Q11 conversion (#694)
    • Update for libbladeRF v2.2.0
  • MATLAB & Simulink bindings
    • Update for libbladeRF v2.2.0
  • Python
    • Fix warning on bladerf-tool info
    • Update for libbladeRF v2.2.0

2018.10-rc1

30 Oct 23:48

Choose a tag to compare

2018.10-rc1 Pre-release
Pre-release

2018.10-rc1 (2018-10-30)

This release introduces new functionality and bug fixes, generally expanding
support for the bladeRF 2.0 Micro. It consists of the following versions:

* FPGA bitstream                v0.9.0
* FX3 firmware                  v2.3.1
* libbladeRF                    v2.1.0
* bladeRF-cli                   v1.7.0
* MATLAB & Simulink bindings    v1.0.2
* Python bindings               v1.1.0

Note to bladerf1 (x40/x115) users: AGC will not work with FPGA versions
older than v0.8.0, due to a change in the control register mapping. A warning
will be printed during device initialization if you are using an affected
FPGA version.

API docs: https://www.nuand.com/bladeRF-doc/libbladeRF/
FX3 firmware: https://www.nuand.com/fx3_images/
FPGA bitstreams: https://www.nuand.com/fpga_images/
Ubuntu PPA: https://launchpad.net/~bladerf/+archive/ubuntu/bladerf
Windows installer: https://www.nuand.com/win_installers/

Summary of changes since 2018.08:

  • FPGA

    • Support for the ADS-B core on bladeRF micro
    • Add metadata flags for miniexp{1,2} IO pin status
    • Fix race condition during FX3/Nios UART initialization
    • Fix bugs in bladeRF AGC control
    • Timing closure improvements
    • Build system fixes
  • FX3

    • Fix USB device reset interrupting SPI flash autoloading of FPGA images
    • Add BLADE_USB_CMD_QUERY_FLASH_ID command
    • Add BLADE_USB_CMD_QUERY_FPGA_SOURCE command
  • libbladeRF

    • API additions:
      • Add format macros for bladerf_frequency and bladerf_timestamp
      • Add 'manufacturer' and 'product' device description strings to
        bladerf_devinfo struct
      • Add bladerf_get_serial_struct() API function
      • Add bladerf_get_flash_size() API function
      • Add bladerf_trigger_signal values for J51-1 (bladerf2) and Miniexp-1
        (generic)
      • Add bladerf_get_fpga_source() API function
      • Add meta RX hardware flags for underflow, miniexp{1,2}
    • Fixes:
      • bladerf2: support TX frequencies down to 47 MHz
      • bladerf2: support sample rates down to 0.521 Msps
      • bladerf1: fix BLADERF_GPIO_AGC_ENABLE
      • bladerf2: fix bladerf_trigger_arm implementation
      • streaming: extend USB transfer timeout to match the configured stream
        timeout
    • Misc:
      • Install the doxygen docs, if generated
      • Adjust RX gain mode lists for clarity
      • bladerf1: implement bladerf_{get,set}_rf_port[s]
      • bladerf1: skip initialization if BLADERF_FORCE_NO_FPGA_PRESENT is set
  • bladeRF-cli

    • Add libedit support
    • Ensure device is initialized after deferred open
    • info: display manufacturer, product, flash size
    • print: show RF routing on bladerf1
    • print: display supported ranges for sample rate, bandwidth, frequency
    • probe: handle already-open devices
    • version: display FPGA configuration source
  • MATLAB & Simulink bindings

    • Add missing BB_TXVGA1_RXLPF loopback option
    • Fix tx_gain property handling in simulink
  • Python

    • Fix rx_channel_count, tx_channel_count
    • Update with latest API functions
  • Windows installer

    • install-drivers: install a driver for the bootloader VID/PID (04b4:00f3),
      allowing easier FX3 bootloader recovery operations
    • Upgrade to libusb 1.0.22

2018.08

05 Sep 18:24

Choose a tag to compare

This release introduces new functionality and bug fixes, particularly support
for the bladeRF 2.0 Micro product. It consists of the following versions:

* FPGA bitstream                v0.7.3
* FX3 firmware                  v2.2.0
* libbladeRF                    v2.0.2
* bladeRF-cli                   v1.6.1
* MATLAB & Simulink bindings    v1.0.1
* Python bindings               v1.0.1
*****************************************************************************
***      libbladeRF v2.0 introduces a number of breaking changes !!       ***
*****************************************************************************
*** Please see relnotes_2_0 in the Doxygen documentation for a full       ***
*** discussion of the changes in libbladeRF v2.0.                         ***
*****************************************************************************

Summary of changes since 2016.06:

  • FPGA

    • Added support for Automatic Gain Control
    • Redesign build system to support multiple product models
    • Initial release with bladeRF Micro support
    • Refactoring, bug fixes, and other misc. improvements
  • FX3

    • Add support for the bladeRF 2.0 (2cf0:5250).
    • Fix loading FPGA bitstreams from flash when there is nothing connected to
      the USB connector.
    • Move USB descriptor consts to .usbdscr section so the linker glomps them.
  • libbladeRF

    • Added support for Automatic Gain Control
    • Added bladeRF.conf config option file
    • Refactor to support for multiple product lines
    • Add support for the bladeRF Micro product
    • API: replace bladerf_module with bladerf_channel, a reverse-compatible
      change to handle products with multiple independent RF paths in the same
      direction
    • API: BREAKING CHANGE - on bladerf_set_frequency, et al, the frequency
      parameter is now uint64_t instead of unsigned int
    • Add typedefs for common param types, e.g. bladerf_frequency -> uint64_t
  • bladeRF-cli

    • Added support for Automatic Gain Control
    • No longer initializes the bladeRF before loading a new FPGA image, to
      avoid potential catch-22 problems
    • bladeRF 2.0 Micro support
    • Support for MIMO RX and TX using "channel=" parameter on rx/tx config
    • Various code quality fixups
  • MATLAB & Simulink bindings

    • Add support for bladeRF 2.0 (Micro) products
    • Change "not supported" (-8) library errors to Matlab warnings
      temporarily, to permit some grace while others' scripts are updated.
    • Update bladeRF_XCVR to use new unified gain control
    • Add bladeRF_Misc for misc measurements and controls
    • Update bladeRF_rx_gui to support unified gain
    • Update Simulink block to match libbladeRF v2.0.0
  • Python

    • New in 2018.08