Releases: Nuand/bladeRF
2025.10
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
May release
Tagging this release to get Windows installer hosted on Github.
2023.02
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
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
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
- Added packet mode format BLADERF_FORMAT_PACKET_META. libbladeRF is able to
-
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
- Add packet mode. The HDL fabric is able to exchange variable length
-
Python
- Update for libbladeRF v2.4.0
2019.07
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
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_rxandbiastee_txconfig 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
- Fix warning on
2018.10-rc1
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
- API additions:
-
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
- install-drivers: install a driver for the bootloader VID/PID (04b4:00f3),
2018.08
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