Lukas Lao Beyer
Software Defined Radio

FreeSRP

An open source software defined radio covering 70 MHz to 6 GHz with an on-board FPGA and USB 3.0 port

$20,050 raised

of $75,000 goal

27% Funded Time Expired
May 19 2017
ended

Recent Updates

You'll be notified about news and stock updates for this project.

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.

The 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.

What is software-defined radio?

A software-defined radio (SDR) digitizes received signals as early on in the signal chain as possible. This delegates as much signal processing as possible to dynamically reconfigurable software, so the hardware does not limit what types of wireless transmission protocols can be received or transmitted. This makes it possible to both receive and transmit a wide variety of signals. The FreeSRP’s frequency range of 70 MHz to 6 GHz covers most interesting radio signals, and the high bandwidth and sample rate of up to 61.44 million samples per second allows experimentation even with high data-rate protocols such as WiFi or LTE.

Because virtually all of the processing is done on the computer the FreeSRP is connected to, the FreeSRP’s hardware does not limit what kind of signals you can receive and transmit. Implementing various communication protocols can be done purely in software, so you can do anything from analyzing Bluetooth traffic (at all levels from the raw received signal to fully decoded packets) to developing your own, completely custom wireless protocol for your next project.

Therefore, software-defined radio is an essential tool for:

The FreeSRP balances a useful and powerful set of specifications with an affordable price and a compact form factor ideal for field use.

Features & Specifications

I started working on the FreeSRP in 2015 because I needed a flexible tool for debugging my radio-enabled electronics prototypes, and because I wanted to learn more about RF and the devices surrounding me. This means the FreeSRP has been built from the beginning as a development and educational tool, providing features most useful for electronics hobbyists and enthusiasts as well as professional developers working on new wireless devices or security research.

High Resolution, High Bandwidth

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

An external amplifier is included in the transmitter signal path of the FreeSRP, which significantly improves its range.

Extensive Processing power and Connectivity options

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

The FreeSRP is fully compatible with GNU Radio, and prebuilt software packages are available for Ubuntu.

Convenient form factor

The small form factor makes the FreeSRP convenient to carry around and use in the field. You don’t need to lug anything else either, since all FreeSRP needs for power is a USB port.

Using FreeSRP

FreeSRP is easy to set up on any Linux system. The FreeSRP library is being packaged for various Linux distributions — on Ubuntu, it’s already available as a PPA from Launchpad. Currently, it is not supported on Windows, but the FreeSRP library’s code is being kept as platform independent as possible and will be ported to Windows in the future.

GNU Radio Compatibility

In GNU Radio, the FreeSRP is supported through the gr-osmosdr block. This means it works with popular applications such as the user-friendly gqrx SDR receiver and is straightforward to implement into your GNU Radio signal processing flow graphs.

Libraries and Utilities

It is very easy to integrate the FreeSRP C++ library into your own software. You also have access to command-line utilities:

Example: freesrp-io and baudline

As freesrp-io can output to stdout, it’s very easy to set it up to stream samples into other applications. For example, it works flawlessly with Baudline:

`freesrp-io -f929.7e6 -b1e6 -g30 -o- | baudline -stdin -channels 2 -quadrature -format le16 -samplerate 1000000`

This command will pipe samples at 1 MHz bandwidth and a gain of 30 dB with a center frequency of 929.7 MHz into Baudline.

Open Source

For the FreeSRP to be a true software radio platform, every component must be open, well documented, and easy to modify. This is why we’ve made the complete hardware, firmware, FPGA design and PC software all open source. By making clean, straightforward code a priority, integrating the FreeSRP into custom software and hardware is easy and painless.

Software

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.

Hardware, Firmware, and FPGA Design

The complete hardware designs will be available as PDF schematics and Gerber files or in a completely editable form through Altium CircuitMaker before this campaign ends. Since CircuitMaker is proprietary software that requires the Windows operating system, the designs will be remade in the open-source KiCad in the near future.

Firmware for the FX3 ARM processor and the FPGA design for the Artix 7 FPGA are already fully functional, but they have not been published yet as they are undergoing significant cleanup to improve efficiency and readability of the code. They will be published before the end of the campaign.

Comparisons

Frequency RangeBandwidthResolutionDuplexHardware ExpansionOpen SourcePrice range
FreeSRP70 MHz - 6 GHz61.44 MHz 12 bitFullYesFull hardware, FPGA design, firmware and software$420
HackRF10 MHz - 6 GHz20 MHz 8 bit Half YesFull hardware, firmware, and software$299
USRP B20070 MHz - 6 GHz61.44 MHz 12 bitFullNoSchematics, firmware, and software$796
BladeRF300 MHz - 3.8 GHz 40 MHz12 bitFullYesSchematics, FPGA design, firmware, and software$420
LimeSDR100 kHz - 3.8 GHz61.44 MHz 12 bitFull (MIMO)NoFull hardware, firmware, and software$299

RF Performance

The FreeSRP is currently being analyzed for RF performance. Final results will be published as soon as they are available. Meanwhile, this section will compile the most relevant specifications for the transceiver, amplifier, baluns, and switches.

Receiver: AD9364

Check out the Analog Devices AD9364 datasheet for more detailed information.

Frequency BandParameterMinTypMaxUnitComments
800 MHzNoise Figure2dBAt maximum Rx gain
IIP240dBmAt maximum Rx gain
IIP3-18dBmAt maximum Rx gain
LO Leakage-122dBmAt Rx front-end input
Modulation EVM-42dB
Gain074.5dBAdjustable
2.4 GHzNoise Figure3dBAt maximum Rx gain
IIP245dBmAt maximum Rx gain
IIP3-14dBmAt maximum Rx gain
LO Leakage-110dBmAt Rx front-end input
Modulation EVM-42dB
Gain072.0dBAdjustable
5.5 GHzNoise Figure4dBAt maximum Rx gain
IIP242dBmAt maximum Rx gain
IIP3-17dBmAt maximum Rx gain
LO Leakage-95dBmAt Rx front-end input
Modulation EVM-37dB
Gain065.5dBAdjustable

Receiver: Baluns and Switch

The FreeSRP uses three different baluns to adapt the single-ended input from the antenna to the differential inputs on the AD9364 transceiver. The AD9364 provides three selectable inputs, so the FreeSRP switches the balun it uses depending on the frequency range it is operating in. The baluns used are the Anaren BD3150N50100AHF, the Anaren BD1631J50100AHF, and the Coilcraft JA4220-AL. A Skyworks SKY13317-373LF is used to switch the input to one of the three baluns.

Transmitter: AD9364

Check out the Analog Devices AD9364 datasheet for more detailed information.

Frequency BandParameterMinTypMaxUnitComments
800 MHzNoise Floor-157dB90 MHz offset from carrier. Before external amplifier.
OIP323dBm
Carrier Leakage-50dBcAt 0 dB attenuation
Modulation EVM-40dB
2.4 GHzNoise Floor-156dB90 MHz offset from carrier. Before external amplifier.
OIP319dBm
Carrier Leakage-50dBcAt 0 dB attenuation
Modulation EVM-40dB
5.5 GHzNoise Floor-152dB90 MHz offset from carrier. Before external amplifier.
OIP317dBm
Carrier Leakage-50dBcAt 0 dB attenuation
Modulation EVM-36dB

Transmitter: Baluns and Switch

The FreeSRP’s transmitter output is configured similarly to the receiver input: it uses one of two different baluns depending on the frequency range. For the transmitter, the Anaren BD3150N50100AHF and the Coilcraft JA4220-AL baluns are used. They are switched using a Skyworks SKY13335-381LF RF switch.

Transmitter: Amplifier

A Mini Circuits PGA-102+ amplifier is also included. This provides an additional 10 to 14 dB of gain on the transmitter output.

Reference Oscillator

A 40 MHz Epson FA-20H40.0000MF10Z-K3 crystal oscillator provides the main clock for the FreeSRP’s transceiver. The AD9364 can trim its frequency if better absolute frequency accuracy is required.

Manufacturing Plan

The FreeSRP has been through four revisions. I am currently evaluating the performance of the latest revision, which will be very close to, or identical with the production version.

I have decided on a PCB manufacturer and an assembly company and a small test batch is being manufactured now. This will help validate manufacturability of the design and serve as a test of the assembler’s capabilities. Based on these results, tweaks will be made to the final production version, if necessary.

Risks & Challenges

Having worked on the project for about two years, and having gone though four hardware revisions, I am confident in the technical quality of the design. The FreeSRP integrates with GNU Radio and works flawlessly with most packages and examples I tested (such as gr-ieee802-15-4 or gr-gsm), even though they were not designed with the FreeSRP in mind.

Major risks and challenges therefore lie in manufacturing: optimizing component sources to minimize lead time and cost, working with the manufacturer to achieve a reliable process, and testing every unit’s performance. The small batch that is being manufactured now will help ensure all possible manufacturing issues are detected well before getting the first production batches built, minimizing the risk of manufacturing issues.

Frequently Asked Questions

Q: Can the FreeSRP be used with Windows out of the box?

Q: Currently, the FreeSRP is being tested on Ubuntu, using GNU Radio, and the software can be run on Linux. While the libraries required to interface with the FreeSRP are being written to be as platform-agnostic as possible, Windows support is currently not a priority.

Q: Is the FreeSRP appropriate for users with little experience in SDR, programming, or Linux and GNU Radio?

A: Users should be comfortable installing and using Linux. If you use Ubuntu or an Ubuntu-based Linux distribution, everything required to use the FreeSRP can easily be installed from prebuilt packages. If you use a different Linux distribution, you will have to compile some libraries yourself. Please read the Getting Started page first and make sure you are comfortable with the installation procedure.

GNU Radio Companion is an application that provides a graphical user interface for creating signal processing flowcharts. It comes with many tutorials and examples that work with FreeSRP with minimal modifications. Additionally, there are many GNU Radio-based applications that work with the FreeSRP out of the box. Therefore, the FreeSRP is a good platform for getting started with SDR; while programming is a useful skill that will allow you to do many interesting experiments with your FreeSRP, it is not required.

Q: Does the FreeSRP work with USB 2.0?

With the current version of the software, sending and receiving signals requires a USB 3.0 connection. However, this is not a hardware limitation, and upcoming versions of the software are likely to add support for sending and receiving at a lower bandwidth over USB 2.0. In the meantime, please ensure your computer supports USB 3.0 if you want to use the FreeSRP as soon as it becomes available.

In the Press

RTL-SDR

"[Lukas'] goal was to design something that fit somewhere in between the $300 HackRF and the higher end and more pricey USRP radios."

Hackaday

Hackaday

"Lukas started his epic SDR-from-scratch build when he was 16. Projects like this aren’t completed overnight. (He’s now 18. We’re impressed.)"

Ask a Question

Produced by Lukas Lao Beyer in Cambridge, MA.

Sold and shipped by Crowd Supply.

FreeSRP 10-pack

10 fully assembled FreeSRPs! Also includes 10 USB 3.0 cables.

$4,000 Free US Shipping / $18 Worldwide

FreeSRP

A fully assembled FreeSRP software-defined radio and the USB 3.0 cable needed to connect it to your computer.

$420 $8 US Shipping / $18 Worldwide

Laser-cut Acrylic Case

A clear case that can easily be assembled from four layers of laser-cut acrylic and four screws, providing physical protection for your FreeSRP.

$15 $8 US Shipping / $18 Worldwide

Antenna Kit

Choose some antennas to go with your FreeSRP. The standard antenna kit contains two TG.10.0113 multiband dipole antennas (698 MHz - 960 MHz, 1710 MHz - 2690 MHz), but you can choose to replace one or both of the standard antennas with FXUB66 ultra-wideband antennas that work from 700 to 6000 MHz.

$30 $8 US Shipping / $18 Worldwide

About the Team

Lukas Lao Beyer

Cambridge, MA  ·   electronics.kitchen

Software development and electronics have been my hobbies for years. Now, I’m studying Electrical Engineering and Computer Science at MIT. My projects are software and electronics related, and I like to keep them completely open-source so anyone can freely modify and redistribute them or use them as inspiration

Lukas Lao Beyer

See Also

Subscribe to the Crowd Supply newsletter, highlighting the latest creators and projects