M
muq
a68a325cb4
All checks were successful
Build Sphinx Docs Set / Build Docs (pull_request) Successful in 6m4s
Build Project / Build Project (3.10) (pull_request) Successful in 11m52s
Build Project / Build Project (3.11) (pull_request) Successful in 11m50s
Build Project / Build Project (3.12) (pull_request) Successful in 11m51s
Test with tox / Test with tox (3.11) (pull_request) Successful in 12m10s
Test with tox / Test with tox (3.12) (pull_request) Successful in 6m22s
Test with tox / Test with tox (3.10) (pull_request) Successful in 12m28s
Fix Sphinx build errors: - Add missing blank lines in rtlsdr.rst code-block directives - Rename duplicate label in examples/sdr/index.rst - Fix field list indentation in usrp.py and hackrf.py docstrings Update SDR setup guides (all guides now cover both pip/venv and Radioconda): - rtlsdr: switch to rtl-sdr-blog fork (required for rtlsdr_set_dithering symbol), add pyrtlsdr==0.3.0 and setuptools==69.5.1 version pinning, preserve Radioconda blacklist and udev symlink paths alongside new steps - pluto: simplify primary path to apt install libiio, add Avahi network discovery note, preserve Radioconda udev symlink as alternative - hackrf: note out-of-box support, preserve Radioconda udev symlink - blade: note no extra Python packages needed, preserve Radioconda udev symlinks - usrp: add build-from-source path for pip/venv users with cmake flags, Python binding copy step, and version mismatch warning; keep conda install as primary option; preserve Radioconda udev symlink - thinkrf: add lib2to3 install step, Python <=3.12 restriction, and full Python 3 patching command to replace internal script reference Update copyright year to 2026 in conf.py
88 lines
3.5 KiB
ReStructuredText
88 lines
3.5 KiB
ReStructuredText
.. _blade:
|
|
|
|
BladeRF
|
|
=======
|
|
|
|
The BladeRF is a versatile software-defined radio (SDR) platform developed by Nuand. It is designed for a wide
|
|
range of applications, from wireless communication research to field deployments. BladeRF devices are known
|
|
for their high performance, flexibility, and extensive open-source support, making them suitable for both
|
|
hobbyists and professionals. The BladeRF is based on the Analog Devices AD9361 RF transceiver, which provides
|
|
wide frequency coverage and high bandwidth.
|
|
|
|
Supported Models
|
|
----------------
|
|
|
|
- **BladeRF 2.0 Micro xA4:** A compact model with a 49 kLE FPGA, ideal for portable applications.
|
|
- **BladeRF 2.0 Micro xA9:** A higher-end version of the Micro with a 115 kLE FPGA, offering more processing power in a small form factor.
|
|
|
|
Key Features
|
|
------------
|
|
|
|
- **Frequency Range:** Typically from 47 MHz to 6 GHz, covering a wide range of wireless communication bands.
|
|
- **Bandwidth:** Up to 56 MHz, allowing for wideband signal processing.
|
|
- **FPGA:** Integrated FPGA (varies by model) for real-time processing and custom logic development.
|
|
- **Connectivity:** USB 3.0 interface for high-speed data transfer, with options for GPIO, SPI, and other I/O.
|
|
|
|
Hackability
|
|
-----------
|
|
|
|
- **Expansion:** The BladeRF features GPIO, expansion headers, and add-on boards, allowing users to extend the
|
|
functionality of the device for specific applications, such as additional RF front ends.
|
|
- **Frequency and Bandwidth Modification:** Advanced users can modify the BladeRF's settings and firmware to
|
|
explore different frequency bands and optimize the bandwidth for their specific use cases.
|
|
|
|
Limitations
|
|
-----------
|
|
|
|
- The complexity of FPGA development may present a steep learning curve for users unfamiliar with hardware
|
|
description languages (HDL).
|
|
- Bandwidth is capped at 56 MHz, which might not be sufficient for ultra-wideband applications.
|
|
- USB 3.0 connectivity is required for optimal performance; using USB 2.0 will significantly limit data
|
|
transfer rates.
|
|
|
|
Set up instructions (Linux)
|
|
---------------------------
|
|
|
|
No additional Python packages are required for BladeRF beyond the base RIA Toolkit OSS installation.
|
|
|
|
1. Install the system library:
|
|
|
|
.. code-block:: bash
|
|
|
|
sudo apt install libbladerf-dev
|
|
|
|
For a more complete installation including CLI tools and FPGA images, use the Nuand PPA:
|
|
|
|
.. code-block:: bash
|
|
|
|
sudo add-apt-repository ppa:nuandllc/bladerf
|
|
sudo apt-get update
|
|
sudo apt-get install bladerf libbladerf-dev
|
|
sudo apt-get install bladerf-fpga-hostedxa4 # Necessary for BladeRF 2.0 Micro xA4
|
|
|
|
2. Install udev rules:
|
|
|
|
For most users:
|
|
|
|
.. code-block:: bash
|
|
|
|
sudo udevadm control --reload
|
|
sudo udevadm trigger
|
|
|
|
For **Radioconda** users, create symlinks from your conda environment instead:
|
|
|
|
.. code-block:: bash
|
|
|
|
sudo ln -s $CONDA_PREFIX/lib/udev/rules.d/88-nuand-bladerf1.rules /etc/udev/rules.d/88-radioconda-nuand-bladerf1.rules
|
|
sudo ln -s $CONDA_PREFIX/lib/udev/rules.d/88-nuand-bladerf2.rules /etc/udev/rules.d/88-radioconda-nuand-bladerf2.rules
|
|
sudo ln -s $CONDA_PREFIX/lib/udev/rules.d/88-nuand-bootloader.rules /etc/udev/rules.d/88-radioconda-nuand-bootloader.rules
|
|
sudo udevadm control --reload
|
|
sudo udevadm trigger
|
|
|
|
Further Information
|
|
-------------------
|
|
|
|
- `Official BladeRF Website <https://www.nuand.com/>`_
|
|
- `BladeRF GitHub Repository <https://github.com/Nuand/bladeRF>`_
|
|
- `BladeRF Setup with Radioconda <https://github.com/radioconda/radioconda-installer?tab=readme-ov-file#bladerf>`_
|