The FreeSRP is an open-source (hardware and software) platform for software-defined radio that is affordable, high performance, compatible with existing SDR software such as GNU Radio, and includes an expansion port for hardware add-ons.
FreeSRP comes in a small, portable form factor (7 cm x 11 cm) that can be completely powered from USB. FreeSRP streams acquired signals to a computer in real-time over USB 3.0.
High Resolution, High Bandwidth
- Transceiver: Analog Devices AD9364
- Center Frequency: 70 MHz – 6 GHz
- Maximum Analog Filter Bandwidth: 56 MHz
- Sample Rate: 61.44 MSPS
- Resolution: 12 bit
The extremely wide frequency range goes up to 6 GHz. This means you can experiment with devices using the 5.8 GHz ISM band. As the 2.4 GHz band becomes congested, more devices are starting to use the 5.8 GHz band; the FreeSRP will allow you to communicate with these cutting edge devices.
The high sample rate and bandwidth is essential to capture frequency hopping transmitters and modern, high data-rate protocols.
Receive and Transmit at the Same Time
- Channels: One receiver, one transmitter; full-duplex
- Maximum Transmit Power: 50 mW at 2.4 GHz
An external amplifier is included in the transmitter signal path of the FreeSRP, which significantly improves its range.
Extensive Processing power and Connectivity options
- FPGA: Xilinx Artix 7 (XC7A50T-1FTG256)
- Connectivity: Two SMA RF connectors; USB 3.0 micro B; high-speed digital expansion port; 5 V tolerant GPIO
The FreeSRP has a 0.1 inch header with eight 5 V tolerant, general purpose input/output pins. The voltage at which these pins operate can be configured from 1.8 to 5 V, so you can hook up FreeSRP to other embedded devices. This can be especially useful when correlating digital signals on the device under test with the RF signals it emits.
The high speed expansion connector will allow for more complex hardware add-ons. For example, an Ethernet interface or an LCD screen could be added in the future.
Mature software ecosystem
- Software compatibility: GNU Radio; open-source libraries and example code available
The FreeSRP is fully compatible with GNU Radio, and pre-built software packages are available for Ubuntu.
The FreeSRP library, libfreesrp
, is already available on GitHub. In GNU Radio, the FreeSRP is supported through a custom fork of the widely used gr-osmosdr library. Currently, this fork is freely available on GitHub, and the changes to gr-osmosdr that add FreeSRP support will be merged into the original gr-osmosdr project soon.
In GNU Radio, using the FreeSRP as a signal source or sink is as easy as placing the gr-osmosdr
block in your flowchart. In your custom C++ applications, initializing the FreeSRP, setting transceiver parameters, and starting to receive or transmit data all are straightforward commands which can be done in about five lines of code.