Lets makes a pirate radio station

Yes, the first question you are thinking of is correct. This is totally illegal. But this is super easy, educational, and takes so little time that you will be done before they catch you. The aim of this blog is to introduce radio communication fundamentals, and secondly to show off what we do here at BLUEsat UNSW, except we do this in a completely legal fashion. A demonstration of the finished product can be seen later in this article, or you can scroll down to see if you are too curious.


So, we must talk about what makes this illegal. We encourage readers to take measures in order to satisfy regulations.

  • Pirating: this is simply the act of reproducing a copyrighted work without the permission of the owner. This can be addressed by either avoiding any transmission of copyrighted material, or get their permission.
  • Licensing: certain frequencies are restricted from transmission. There are allocated frequencies open to the public known as CB frequencies. Additionally, a wider range of frequencies are available to individuals with a radio license.
  • Power: this will affect how far your transmission will reach and how dangerous to people and equipment nearby. A very simple solution is to buy a ‘dummy load’ or simply earn a radio license.

Setting up the USRP

Unfortunately, using a USRP is not as simple as plugging it into your computer, you will first need to install the relevant drivers so your computer can recognise the device.

First, you will need to download Zadig, which is a USB driver installer. Zadig ensures that the USRP is recognised by the computer and GNU radio companion.

Next you will need to download the relevant USRP drivers for your operating system. Drivers have to be installbed before you open Zadig with the USRP plugged into your computer. You may find that no devices are listed, if this is the case click options and list all devices.

Finding USRP device using Zadig.

Search through the devices to find the USRP, it may appear under different names, we found that sometimes it registered as WestBridge. Then it is simply a matter of clicking upgrade driver. If your GNU radio has trouble connecting to the USRP, the solution is to actually repeat process and it should work.

Correct settings to use the USRP in Zadig. The driver is WinUSB and the top drop down is set to "USRP B200"

It is good to note that every time the USRP is replugged into your computer, it will have to undergo an initialisation in GNU radio, taking about a minute or two. Afterwards however, it should only take a few seconds to start transmitting.

Building Script

GNU Radio window displaying the script to use the USRP.

Setting up GNU radio companion is quite simple and just continuously transmits a specified wav file on loop until cancelled. You can download this file here, or continue reading to see what was done.

First you must add a wav file source, we used a copyright free song found on youtube and converted it to a wav file. If you have downloaded our GNUradio companion file, you will have to find a song to upload it into the source.

Next, is the addition of the NBFM (Narrow Band FM) transmit and rational resampler block. Images below show how these blocks have been configured to optimise quality.

The properties for the NBFM Transmit block in GNU Radio. ID is analog_nbfm_tx_0, Tau is 75e-6, max deviation is 5e3 and preemphasis high corner is -1.0.Rational Resampler block properties in GNU Radio. The type is Complex->Complex, the interpolation is in(samp_rate*1.05) and the decimation is audio_rate*audio_interp.
Finally we added a UHD (USRP sink). For the purpose of this article and transmitting a song legally, we have chosen a frequency in the citizen band and limited gain so that our pirate transmission will not be too annoying to everyone outside of the BLUESat room

General tab of the USRP Sink in GNU Radio. The input type is "Complex float32" the wire format is "Automatic", Clock Rate is "Default", Num Mboards is 1, Num Channels is 1 and the Samp Rate is "samp_rate".RF Options tab of the USRP Sink in GNU Radio. The Ch0 settings are: Center Freq = freq, Gain Value = gain, Gain Type = Absolute (db), Antenna = TX/RX and Bandwidth is "samp_rate"
You will also see in the image of the complete system that there are a few variables and GUI sliders which limited for simplicity so you only see a small GUI window, which gives you the ability to change frequency or gain while transmitting.

It really is as simple as that.


This is the final product of all the hard work.

If you found this interesting

BLUESat UNSW regularly produces blog material to publicise ourselves and to demonstrate learning opportunities. Our previous Groundstation article taught you how to produce a waterfall plot on GNU radio. If you want to know more about our satellite groundstation you can read about it on the Groundstation page.

If you are interested in learning more about BLUESat, follow the links on our page and leave an expression of interest.

We actively ensure that every thing BLUESat does and encourages remains legal. This is why you see us using a copyright free song, transmitted on a CB frequency at low power for a short period of time. While the low power doesn’t effect the legality, it does minimise any disruptions and impacts to other users of the CB frequency.

Author: Timothy Guo

Timothy Guo is a Telecommunications and Commerce undergraduate at UNSW Sydney. He has previously lead BLUEsat's groundstation squad, leading a team of engineers to provide communications to UNSW's satellite, the EC0. He now endeavours to lead BLUESat's satellite tribe towards even greater plans.

Leave a Reply