This is the first blog post of my RoadTest review of the Ettus USRP B205mini-i Software Defined Radio platform: Digilent 1x1 USB Software-Defined Radio Platform
As a engineer and hobbyist I was always interested in Wireless Communication. In my projects I experimented with technologies like WiFi, BLE (Bluetooth Low Energy), GSM/3G/4G, GPS, LoRa, LoraWAN, SigFox and others.
Wireless communication for known technologies / protocols is usually implemented with specialized hardware (IC-s) implementing a specific wireless technology or protocol.
Software Defined Radio (SDR) on the other hand is a radio communication systems which supports receiving / transmitting on a wide range of frequencies using different radio protocols.
I got into Software Defined Radio just a couple of months ago, using a HackRF One (actually one of the AliExpress clones).
The plan for this RoadTest to compare the HackRF One with the Ettus USRP B205mini-i by building some RF applications.
2. The Ettus USRP B205mini-i
The USRP B205mini-i is a Software Defined Radio (SDR) device designed by Ettus Research, and apparently distributed by Digilent.
Before applying to this road test I knew little about Ettus Research, so I was a bit surprised when the device came in a generic National Instruments (NI) labeled box:
It turns out that Ettus Research is a National Instruments subsidiary, and since I last checked Digilent was also acquired by National Instruments.
The B205mini-i comes in some anti-static packaging, along with a USB 3.0 Type-A to Micro-B Cable and safety / getting started instructions:
The kit comes with no antennas, so we need to have some antennas with SMA connectors to get started. Fortunately, I got a set of antennas with the HackRF One kit I purchased.
In terms of specification the B205mini-i features:
- a Frequency range: 70 MHz – 6 GHz
- up to 56 MHz of instantaneous Bandwidth
- Full Duplex operation
- an user programmable Xilinx Spartan-6 XC6SLX150 FPGA
- USB 3.0 connectivity
Here is a quick comparison between the USRP B205mini-i and the HackRF One:
|Frequency Range||70 MHz - 6 GHz||30 MHz - 6 GHz|
|Bandwidth||56 MHz||20 MHz|
Sample size / rate
12 bits / 61.44 Msps
8 bits @ 20 Msps
|Duplex||Full Duplex||Half Duplex|
|Programmable Logic Device|
Xilinx Spartan-6 XC6SLX150
(147K logic cells, 1,355 KB RAM, 180 DSP slices, etc.)
(4 logic block, 64 macro-cells, 1500 gates)
USB 2.0 High Speed
|Cost||~ 800 USD||~ 150-300 USD|
3. A First Application: FM Radio Receiver
To work with SDR devices we can use the GNU Radio the open-source radio platform.
On Linux is GNU Radio and appropriate drivers are fairly simple to install. We just need to run:
$ sudo apt-get install gnuradio $ sudo /usr/lib/uhd/utils/uhd_images_downloader.py $ sudo apt-get install hackrf libgnuradio-osmosdr0.2.0
and both the B205mini-i and the HackRF One should be ready to be used.
To create RF Applications we can use GNU Radio Companion app.
The GNU Radio Companion is a fairly simple graphical user interface (GUI) that allows building RF applications from a wide set of predefined components:
The above screenshot shows a simple FM Radio Receiver application:
- in the first "row" we have a couple of variables (samp_rate, freq, gain, etc.) defined either as simple variables or as QT based UI controls
- USRP Source component is used to interact with the Ettus B205mini-i and other devices from Ettus's USRP family
- the frequency, gain, sample rate and bandwidth are tied to the variables defined above
- the input signal from the B205mini-i goes to two components
- QT GUI Frequency Sink is used to plot the input signal
- a Rational Re-sampler is used to down-sample the signal from 1.92M to 192k
- the FM Demodulation is the block that de-modulates the input signal, thus recovering the original base-band signal. It also band pass filtering and outputs an audio signal
- a Multiply Const block is used to implement volume control based on a Volume UI control
- finally the audio signal is fed into a Audio Sink responsible for playback
After connecting an antenna to the B205mini-i's RX2 port we should be able to run or application.
The antenna used bellow a generic antenna good from 48 MHz to 860 MHz:
The resulting RF Application looks like this:
Here is a quick video on how it works:
The same application ca be implemented on the HackRF One too. For this the USRP Source needs to be replaced with a Osmocom Source:
This is what it looks like with the HackRF One:
(note: osmocom source offers multiple gain adjustments. The Gain control from the UI controls the RF Gain)
In the next blog post I plan to do more experiments exploring different Wireless Protocols like the 434 & 868 MHz band protocols, 2.4 GHz protocols (BLE, WiFi), 5 GHz WiFi, etc.